diff options
976 files changed, 148110 insertions, 35446 deletions
diff --git a/include/mysql/psi/mysql_file.h b/include/mysql/psi/mysql_file.h index a83e2ef8a1d..fd28886d7bc 100644 --- a/include/mysql/psi/mysql_file.h +++ b/include/mysql/psi/mysql_file.h @@ -43,6 +43,10 @@ #include "mysql/psi/psi.h" +#ifndef PSI_FILE_CALL +#define PSI_FILE_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + /** @defgroup File_instrumentation File Instrumentation @ingroup Instrumentation_interface @@ -290,7 +294,7 @@ */ #ifdef HAVE_PSI_FILE_INTERFACE #define mysql_file_create_temp(K, T, D, P, M, F) \ - inline_mysql_file_create_temp(K, T, D, P, M, F) + inline_mysql_file_create_temp(K, __FILE__, __LINE__, T, D, P, M, F) #else #define mysql_file_create_temp(K, T, D, P, M, F) \ inline_mysql_file_create_temp(T, D, P, M, F) @@ -803,7 +807,8 @@ inline_mysql_file_fopen( const char *filename, int flags, myf myFlags) { MYSQL_FILE *that; - that= (MYSQL_FILE*) my_malloc(sizeof(MYSQL_FILE), MYF(MY_WME)); + that= (MYSQL_FILE*) my_malloc(PSI_NOT_INSTRUMENTED, + sizeof(MYSQL_FILE), MYF(MY_WME)); if (likely(that != NULL)) { #ifdef HAVE_PSI_FILE_INTERFACE @@ -1011,20 +1016,27 @@ inline_mysql_file_create( static inline File inline_mysql_file_create_temp( #ifdef HAVE_PSI_FILE_INTERFACE - PSI_file_key key, + PSI_file_key key, const char *src_file, uint src_line, #endif char *to, const char *dir, const char *pfx, int mode, myf myFlags) { File file; - /* - TODO: This event is instrumented, but not timed. - The problem is that the file name is now known - before the create_temp_file call. - */ - file= create_temp_file(to, dir, pfx, mode, myFlags); #ifdef HAVE_PSI_FILE_INTERFACE - PSI_FILE_CALL(create_file)(key, to, file); + struct PSI_file_locker *locker; + PSI_file_locker_state state; + locker= PSI_FILE_CALL(get_thread_file_name_locker) + (&state, key, PSI_FILE_CREATE, NULL, &locker); + if (likely(locker != NULL)) + { + PSI_FILE_CALL(start_file_open_wait)(locker, src_file, src_line); + /* The file name is generated by create_temp_file(). */ + file= create_temp_file(to, dir, pfx, mode, myFlags); + PSI_FILE_CALL(end_temp_file_open_wait_and_bind_to_descriptor)(locker, file, (const char*)to); + return file; + } #endif + + file= create_temp_file(to, dir, pfx, mode, myFlags); return file; } diff --git a/include/mysql/psi/mysql_idle.h b/include/mysql/psi/mysql_idle.h index 5c72b715b7a..102304aa338 100644 --- a/include/mysql/psi/mysql_idle.h +++ b/include/mysql/psi/mysql_idle.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,6 +23,10 @@ #include "mysql/psi/psi.h" +#ifndef PSI_IDLE_CALL +#define PSI_IDLE_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + /** @defgroup Idle_instrumentation Idle Instrumentation @ingroup Instrumentation_interface diff --git a/include/mysql/psi/mysql_mdl.h b/include/mysql/psi/mysql_mdl.h new file mode 100644 index 00000000000..bb2b76c151c --- /dev/null +++ b/include/mysql/psi/mysql_mdl.h @@ -0,0 +1,121 @@ +/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef MYSQL_MDL_H +#define MYSQL_MDL_H + +/** + @file mysql/psi/mysql_mdl.h + Instrumentation helpers for metadata locks. +*/ + +#include "mysql/psi/psi.h" + +#ifndef PSI_METADATA_CALL +#define PSI_METADATA_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + +/** + @defgroup Thread_instrumentation Metadata Instrumentation + @ingroup Instrumentation_interface + @{ +*/ + +/** + @def mysql_mdl_create(K, M, A) + Instrumented metadata lock creation. + @param I Metadata lock identity + @param K Metadata key + @param T Metadata lock type + @param D Metadata lock duration + @param S Metadata lock status + @param F request source file + @param L request source line +*/ + +#ifdef HAVE_PSI_METADATA_INTERFACE + #define mysql_mdl_create(I, K, T, D, S, F, L) \ + inline_mysql_mdl_create(I, K, T, D, S, F, L) +#else + #define mysql_mdl_create(I, K, T, D, S, F, L) NULL +#endif + +#ifdef HAVE_PSI_METADATA_INTERFACE + #define mysql_mdl_set_status(L, S) \ + inline_mysql_mdl_set_status(L, S) +#else + #define mysql_mdl_set_status(L, S) \ + do {} while (0) +#endif + + +/** + @def mysql_mdl_destroy(M) + Instrumented metadata lock destruction. + @param M Metadata lock +*/ +#ifdef HAVE_PSI_METADATA_INTERFACE + #define mysql_mdl_destroy(M) \ + inline_mysql_mdl_destroy(M, __FILE__, __LINE__) +#else + #define mysql_mdl_destroy(M) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_METADATA_INTERFACE + +static inline PSI_metadata_lock * +inline_mysql_mdl_create(void *identity, + const MDL_key *mdl_key, + enum_mdl_type mdl_type, + enum_mdl_duration mdl_duration, + MDL_ticket::enum_psi_status mdl_status, + const char *src_file, uint src_line) +{ + PSI_metadata_lock *result; + + /* static_cast: Fit a round C++ enum peg into a square C int hole ... */ + result= PSI_METADATA_CALL(create_metadata_lock) + (identity, + mdl_key, + static_cast<opaque_mdl_type> (mdl_type), + static_cast<opaque_mdl_duration> (mdl_duration), + static_cast<opaque_mdl_status> (mdl_status), + src_file, src_line); + + return result; +} + +static inline void inline_mysql_mdl_set_status( + PSI_metadata_lock *psi, + MDL_ticket::enum_psi_status mdl_status) +{ + if (psi != NULL) + PSI_METADATA_CALL(set_metadata_lock_status)(psi, mdl_status); +} + +static inline void inline_mysql_mdl_destroy( + PSI_metadata_lock *psi, + const char *src_file, uint src_line) +{ + if (psi != NULL) + PSI_METADATA_CALL(destroy_metadata_lock)(psi); +} +#endif /* HAVE_PSI_METADATA_INTERFACE */ + +/** @} (end of group Metadata_instrumentation) */ + +#endif + diff --git a/include/mysql/psi/mysql_memory.h b/include/mysql/psi/mysql_memory.h new file mode 100644 index 00000000000..55dd8184b10 --- /dev/null +++ b/include/mysql/psi/mysql_memory.h @@ -0,0 +1,62 @@ +/* Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef MYSQL_MEMORY_H +#define MYSQL_MEMORY_H + +/** + @file mysql/psi/mysql_memory.h + Instrumentation helpers for memory allocation. +*/ + +#include "mysql/psi/psi.h" + +#ifndef PSI_MEMORY_CALL +#define PSI_MEMORY_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + +/** + @defgroup Memory_instrumentation Memory Instrumentation + @ingroup Instrumentation_interface + @{ +*/ + +/** + @def mysql_memory_register(P1, P2, P3) + Memory registration. +*/ +#define mysql_memory_register(P1, P2, P3) \ + inline_mysql_memory_register(P1, P2, P3) + +static inline void inline_mysql_memory_register( +#ifdef HAVE_PSI_MEMORY_INTERFACE + const char *category, + PSI_memory_info *info, + int count) +#else + const char *category MY_ATTRIBUTE((unused)), + void *info MY_ATTRIBUTE((unused)), + int count MY_ATTRIBUTE((unused))) +#endif +{ +#ifdef HAVE_PSI_MEMORY_INTERFACE + PSI_MEMORY_CALL(register_memory)(category, info, count); +#endif +} + +/** @} (end of group Memory_instrumentation) */ + +#endif + diff --git a/include/mysql/psi/mysql_ps.h b/include/mysql/psi/mysql_ps.h new file mode 100644 index 00000000000..485e1fbedfa --- /dev/null +++ b/include/mysql/psi/mysql_ps.h @@ -0,0 +1,88 @@ +/* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef MYSQL_PS_H +#define MYSQL_PS_H + +/** + @file mysql/psi/mysql_ps.h + Instrumentation helpers for prepared statements. +*/ + +#include "mysql/psi/psi.h" + +#ifndef PSI_PS_CALL +#define PSI_PS_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + +#ifdef HAVE_PSI_PS_INTERFACE + #define MYSQL_CREATE_PS(IDENTITY, ID, LOCKER, NAME, NAME_LENGTH, SQLTEXT, SQLTEXT_LENGTH) \ + inline_mysql_create_prepared_stmt(IDENTITY, ID, LOCKER, NAME, NAME_LENGTH, SQLTEXT, SQLTEXT_LENGTH) + #define MYSQL_EXECUTE_PS(LOCKER, PREPARED_STMT) \ + inline_mysql_execute_prepared_stmt(LOCKER, PREPARED_STMT) + #define MYSQL_DESTROY_PS(PREPARED_STMT) \ + inline_mysql_destroy_prepared_stmt(PREPARED_STMT) + #define MYSQL_REPREPARE_PS(PREPARED_STMT) \ + inline_mysql_reprepare_prepared_stmt(PREPARED_STMT) +#else + #define MYSQL_CREATE_PS(IDENTITY, ID, LOCKER, NAME, NAME_LENGTH, SQLTEXT, SQLTEXT_LENGTH) \ + NULL + #define MYSQL_EXECUTE_PS(LOCKER, PREPARED_STMT) \ + do {} while (0) + #define MYSQL_DESTROY_PS(PREPARED_STMT) \ + do {} while (0) + #define MYSQL_REPREPARE_PS(PREPARED_STMT) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_PS_INTERFACE +static inline struct PSI_prepared_stmt* +inline_mysql_create_prepared_stmt(void *identity, uint stmt_id, + PSI_statement_locker *locker, + const char *stmt_name, size_t stmt_name_length, + const char *sqltext, size_t sqltext_length) +{ + if (locker == NULL) + return NULL; + return PSI_PS_CALL(create_prepared_stmt)(identity, stmt_id, + locker, + stmt_name, stmt_name_length, + sqltext, sqltext_length); +} + +static inline void +inline_mysql_execute_prepared_stmt(PSI_statement_locker *locker, + PSI_prepared_stmt* prepared_stmt) +{ + if (prepared_stmt != NULL && locker != NULL) + PSI_PS_CALL(execute_prepared_stmt)(locker, prepared_stmt); +} + +static inline void +inline_mysql_destroy_prepared_stmt(PSI_prepared_stmt *prepared_stmt) +{ + if (prepared_stmt != NULL) + PSI_PS_CALL(destroy_prepared_stmt)(prepared_stmt); +} + +static inline void +inline_mysql_reprepare_prepared_stmt(PSI_prepared_stmt *prepared_stmt) +{ + if (prepared_stmt != NULL) + PSI_PS_CALL(reprepare_prepared_stmt)(prepared_stmt); +} +#endif + +#endif diff --git a/include/mysql/psi/mysql_socket.h b/include/mysql/psi/mysql_socket.h index 209f113ffe2..ad76e318b30 100644 --- a/include/mysql/psi/mysql_socket.h +++ b/include/mysql/psi/mysql_socket.h @@ -26,7 +26,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA /* For my_chsize */ #include <my_sys.h> /* For socket api */ -#ifdef __WIN__ +#ifdef _WIN32 #include <ws2def.h> #include <winsock2.h> #include <MSWSock.h> @@ -42,6 +42,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA #include "mysql/psi/psi.h" +#ifndef PSI_SOCKET_CALL +#define PSI_SOCKET_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + /** @defgroup Socket_instrumentation Socket Instrumentation @ingroup Instrumentation_interface @@ -60,6 +64,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA do {} while (0) #endif +/** An instrumented socket. */ struct st_mysql_socket { /** The real socket descriptor. */ @@ -102,9 +107,8 @@ mysql_socket_invalid() /** Set socket descriptor and address. @param socket nstrumented socket - @param fd socket descriptor @param addr unformatted socket address - @param adr_len length of socket addres + @param addr_len length of socket addres */ static inline void @@ -129,7 +133,6 @@ mysql_socket_set_address( /** Set socket descriptor and address. @param socket instrumented socket - @param thread instrumented owning thread */ static inline void mysql_socket_set_thread_owner( @@ -196,7 +199,6 @@ mysql_socket_setfd(MYSQL_SOCKET *mysql_socket, my_socket fd) @param STATE locker state @param SOCKET instrumented socket @param OP The socket operation to be performed - @param FLAGS per-socket operation flags. @param COUNT bytes to be written/read @sa MYSQL_END_SOCKET_WAIT. */ @@ -225,6 +227,13 @@ mysql_socket_setfd(MYSQL_SOCKET *mysql_socket, my_socket fd) do {} while (0) #endif +/** + @def MYSQL_SOCKET_SET_STATE + Set the state (IDLE, ACTIVE) of an instrumented socket. + @param SOCKET the instrumented socket + @param STATE the new state + @sa PSI_socket_state +*/ #ifdef HAVE_PSI_SOCKET_INTERFACE #define MYSQL_SOCKET_SET_STATE(SOCKET, STATE) \ inline_mysql_socket_set_state(SOCKET, STATE) @@ -320,8 +329,8 @@ inline_mysql_socket_set_state(MYSQL_SOCKET socket, enum PSI_socket_state state) Return port number and IP address of the local host @c mysql_socket_getsockname is a replacement for @c getsockname. @param FD Instrumented socket descriptor returned by socket() - @param A Pointer to returned address of local host in sockaddr structure - @param L Pointer to length of sockaddr structure + @param AP Pointer to returned address of local host in @c sockaddr structure + @param LP Pointer to length of @c sockaddr structure */ #ifdef HAVE_PSI_SOCKET_INTERFACE #define mysql_socket_getsockname(FD, AP, LP) \ @@ -425,7 +434,7 @@ inline_mysql_socket_set_state(MYSQL_SOCKET socket, enum PSI_socket_state state) @param N Maximum bytes to receive @param FL Control flags @param AP Pointer to source address in sockaddr_storage structure - @param L Size of sockaddr_storage structure + @param LP Size of sockaddr_storage structure */ #ifdef HAVE_PSI_SOCKET_INTERFACE #define mysql_socket_recvfrom(FD, B, N, FL, AP, LP) \ @@ -472,6 +481,19 @@ inline_mysql_socket_set_state(MYSQL_SOCKET socket, enum PSI_socket_state state) #endif /** + @def mysql_sock_set_nonblocking + Set socket to non-blocking. + @param FD instrumented socket descriptor +*/ +#ifdef HAVE_PSI_SOCKET_INTERFACE + #define mysql_sock_set_nonblocking(FD) \ + inline_mysql_sock_set_nonblocking(__FILE__, __LINE__, FD) +#else + #define mysql_sock_set_nonblocking(FD) \ + inline_mysql_sock_set_nonblocking(FD) +#endif + +/** @def mysql_socket_listen(FD, N) Set socket state to listen for an incoming connection. @c mysql_socket_listen is a replacement for @c listen. @@ -965,6 +987,78 @@ inline_mysql_socket_setsockopt return result; } +/** set_socket_nonblock */ +static inline int +set_socket_nonblock(my_socket fd) +{ + int ret= 0; +#ifdef _WIN32 + { + u_long nonblocking= 1; + ret= ioctlsocket(fd, FIONBIO, &nonblocking); + } +#else + { + int fd_flags; + fd_flags= fcntl(fd, F_GETFL, 0); + if (fd_flags < 0) + return errno; +#if defined(O_NONBLOCK) + fd_flags |= O_NONBLOCK; +#elif defined(O_NDELAY) + fd_flags |= O_NDELAY; +#elif defined(O_FNDELAY) + fd_flags |= O_FNDELAY; +#else +#error "No definition of non-blocking flag found." +#endif /* O_NONBLOCK */ + if (fcntl(fd, F_SETFL, fd_flags) == -1) + ret= errno; + } +#endif /* _WIN32 */ + return ret; +} + +/** mysql_socket_set_nonblocking */ + +static inline int +inline_mysql_sock_set_nonblocking +( +#ifdef HAVE_PSI_SOCKET_INTERFACE + const char *src_file, uint src_line, +#endif + MYSQL_SOCKET mysql_socket +) +{ + int result= 0; + +#ifdef HAVE_PSI_SOCKET_INTERFACE + if (mysql_socket.m_psi) + { + /* Instrumentation start */ + PSI_socket_locker *locker; + PSI_socket_locker_state state; + locker= PSI_SOCKET_CALL(start_socket_wait) + (&state, mysql_socket.m_psi, PSI_SOCKET_OPT, + (size_t)0, src_file, src_line); + + /* Instrumented code */ + result= set_socket_nonblock(mysql_socket.fd); + + /* Instrumentation end */ + if (locker != NULL) + PSI_SOCKET_CALL(end_socket_wait)(locker, (size_t)0); + + return result; + } +#endif + + /* Non instrumented code */ + result= set_socket_nonblock(mysql_socket.fd); + + return result; +} + /** mysql_socket_listen */ static inline int @@ -1104,7 +1198,7 @@ inline_mysql_socket_shutdown { int result; -#ifdef __WIN__ +#ifdef _WIN32 static LPFN_DISCONNECTEX DisconnectEx = NULL; if (DisconnectEx == NULL) { @@ -1127,7 +1221,7 @@ inline_mysql_socket_shutdown (&state, mysql_socket.m_psi, PSI_SOCKET_SHUTDOWN, (size_t)0, src_file, src_line); /* Instrumented code */ -#ifdef __WIN__ +#ifdef _WIN32 if (DisconnectEx) result= (DisconnectEx(mysql_socket.fd, (LPOVERLAPPED) NULL, (DWORD) 0, (DWORD) 0) == TRUE) ? 0 : -1; @@ -1144,7 +1238,7 @@ inline_mysql_socket_shutdown #endif /* Non instrumented code */ -#ifdef __WIN__ +#ifdef _WIN32 if (DisconnectEx) result= (DisconnectEx(mysql_socket.fd, (LPOVERLAPPED) NULL, (DWORD) 0, (DWORD) 0) == TRUE) ? 0 : -1; diff --git a/include/mysql/psi/mysql_sp.h b/include/mysql/psi/mysql_sp.h new file mode 100644 index 00000000000..68fc468db1f --- /dev/null +++ b/include/mysql/psi/mysql_sp.h @@ -0,0 +1,97 @@ +/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef MYSQL_SP_H +#define MYSQL_SP_H + +/** + @file mysql/psi/mysql_sp.h + Instrumentation helpers for stored programs. +*/ + +#include "mysql/psi/psi.h" + +#ifndef PSI_SP_CALL +#define PSI_SP_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + +#ifdef HAVE_PSI_SP_INTERFACE + #define MYSQL_START_SP(STATE, SP_SHARE) \ + inline_mysql_start_sp(STATE, SP_SHARE) +#else + #define MYSQL_START_SP(STATE, SP_SHARE) \ + NULL +#endif + + +#ifdef HAVE_PSI_SP_INTERFACE + #define MYSQL_END_SP(LOCKER) \ + inline_mysql_end_sp(LOCKER) +#else + #define MYSQL_END_SP(LOCKER) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_SP_INTERFACE + #define MYSQL_DROP_SP(OT, SN, SNL, ON, ONL) \ + inline_mysql_drop_sp(OT, SN, SNL, ON, ONL) +#else + #define MYSQL_DROP_SP(OT, SN, SNL, ON, ONL) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_SP_INTERFACE + #define MYSQL_GET_SP_SHARE(OT, SN, SNL, ON, ONL) \ + inline_mysql_get_sp_share(OT, SN, SNL, ON, ONL) +#else + #define MYSQL_GET_SP_SHARE(OT, SN, SNL, ON, ONL) \ + NULL +#endif + +#ifdef HAVE_PSI_SP_INTERFACE +static inline struct PSI_sp_locker* +inline_mysql_start_sp(PSI_sp_locker_state *state, PSI_sp_share *sp_share) +{ + return PSI_SP_CALL(start_sp)(state, sp_share); +} + +static inline void inline_mysql_end_sp(PSI_sp_locker *locker) +{ + if (likely(locker != NULL)) + PSI_SP_CALL(end_sp)(locker); +} + +static inline void +inline_mysql_drop_sp(uint sp_type, + const char* schema_name, uint shcema_name_length, + const char* object_name, uint object_name_length) +{ + PSI_SP_CALL(drop_sp)(sp_type, + schema_name, shcema_name_length, + object_name, object_name_length); +} + +static inline PSI_sp_share* +inline_mysql_get_sp_share(uint sp_type, + const char* schema_name, uint shcema_name_length, + const char* object_name, uint object_name_length) +{ + return PSI_SP_CALL(get_sp_share)(sp_type, + schema_name, shcema_name_length, + object_name, object_name_length); +} +#endif + +#endif diff --git a/include/mysql/psi/mysql_stage.h b/include/mysql/psi/mysql_stage.h index 91a5c12f82e..9c1623f4373 100644 --- a/include/mysql/psi/mysql_stage.h +++ b/include/mysql/psi/mysql_stage.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,6 +23,10 @@ #include "mysql/psi/psi.h" +#ifndef PSI_STAGE_CALL +#define PSI_STAGE_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + /** @defgroup Stage_instrumentation Stage Instrumentation @ingroup Instrumentation_interface @@ -41,12 +45,48 @@ do {} while (0) #endif +/** + @def MYSQL_SET_STAGE + Set the current stage. + Use this API when the file and line + is passed from the caller. + @param K the stage key + @param F the source file name + @param L the source file line + @return the current stage progress +*/ #ifdef HAVE_PSI_STAGE_INTERFACE #define MYSQL_SET_STAGE(K, F, L) \ inline_mysql_set_stage(K, F, L) #else #define MYSQL_SET_STAGE(K, F, L) \ - do {} while (0) + NULL +#endif + +/** + @def mysql_set_stage + Set the current stage. + @param K the stage key + @return the current stage progress +*/ +#ifdef HAVE_PSI_STAGE_INTERFACE + #define mysql_set_stage(K) \ + inline_mysql_set_stage(K, __FILE__, __LINE__) +#else + #define mysql_set_stage(K) \ + NULL +#endif + +/** + @def mysql_end_stage + End the last stage +*/ +#ifdef HAVE_PSI_STAGE_INTERFACE + #define mysql_end_stage \ + inline_mysql_end_stage +#else + #define mysql_end_stage \ + do {} while (0) #endif #ifdef HAVE_PSI_STAGE_INTERFACE @@ -58,11 +98,97 @@ static inline void inline_mysql_stage_register( #endif #ifdef HAVE_PSI_STAGE_INTERFACE -static inline void +static inline PSI_stage_progress* inline_mysql_set_stage(PSI_stage_key key, const char *src_file, int src_line) { - PSI_STAGE_CALL(start_stage)(key, src_file, src_line); + return PSI_STAGE_CALL(start_stage)(key, src_file, src_line); +} +#endif + +#ifdef HAVE_PSI_STAGE_INTERFACE +static inline void +inline_mysql_end_stage() +{ + PSI_STAGE_CALL(end_stage)(); +} +#endif + +#ifdef HAVE_PSI_STAGE_INTERFACE +#define mysql_stage_set_work_completed(P1, P2) \ + inline_mysql_stage_set_work_completed(P1, P2) + +#define mysql_stage_get_work_completed(P1) \ + inline_mysql_stage_get_work_completed(P1) +#else +#define mysql_stage_set_work_completed(P1, P2) \ + do {} while (0) + +#define mysql_stage_get_work_completed(P1) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_STAGE_INTERFACE +#define mysql_stage_inc_work_completed(P1, P2) \ + inline_mysql_stage_inc_work_completed(P1, P2) +#else +#define mysql_stage_inc_work_completed(P1, P2) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_STAGE_INTERFACE +#define mysql_stage_set_work_estimated(P1, P2) \ + inline_mysql_stage_set_work_estimated(P1, P2) + +#define mysql_stage_get_work_estimated(P1) \ + inline_mysql_stage_get_work_estimated(P1) +#else +#define mysql_stage_set_work_estimated(P1, P2) \ + do {} while (0) + +#define mysql_stage_get_work_estimated(P1) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_STAGE_INTERFACE +static inline void +inline_mysql_stage_set_work_completed(PSI_stage_progress *progress, + ulonglong val) +{ + if (progress != NULL) + progress->m_work_completed= val; +} + +static inline ulonglong +inline_mysql_stage_get_work_completed(PSI_stage_progress *progress) +{ + return progress->m_work_completed; +} +#endif + +#ifdef HAVE_PSI_STAGE_INTERFACE +static inline void +inline_mysql_stage_inc_work_completed(PSI_stage_progress *progress, + ulonglong val) +{ + if (progress != NULL) + progress->m_work_completed+= val; +} +#endif + +#ifdef HAVE_PSI_STAGE_INTERFACE +static inline void +inline_mysql_stage_set_work_estimated(PSI_stage_progress *progress, + ulonglong val) +{ + if (progress != NULL) + progress->m_work_estimated= val; +} + +static inline ulonglong +inline_mysql_stage_get_work_estimated(PSI_stage_progress *progress) +{ + return progress->m_work_estimated; } #endif diff --git a/include/mysql/psi/mysql_statement.h b/include/mysql/psi/mysql_statement.h index 3d5943fa55a..9c27933b069 100644 --- a/include/mysql/psi/mysql_statement.h +++ b/include/mysql/psi/mysql_statement.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,6 +23,17 @@ #include "mysql/psi/psi.h" +class Diagnostics_area; +typedef struct charset_info_st CHARSET_INFO; + +#ifndef PSI_STATEMENT_CALL +#define PSI_STATEMENT_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + +#ifndef PSI_DIGEST_CALL +#define PSI_DIGEST_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + /** @defgroup Statement_instrumentation Statement Instrumentation @ingroup Instrumentation_interface @@ -58,10 +69,10 @@ #endif #ifdef HAVE_PSI_STATEMENT_INTERFACE - #define MYSQL_START_STATEMENT(STATE, K, DB, DB_LEN, CS) \ - inline_mysql_start_statement(STATE, K, DB, DB_LEN, CS, __FILE__, __LINE__) + #define MYSQL_START_STATEMENT(STATE, K, DB, DB_LEN, CS, SPS) \ + inline_mysql_start_statement(STATE, K, DB, DB_LEN, CS, SPS, __FILE__, __LINE__) #else - #define MYSQL_START_STATEMENT(STATE, K, DB, DB_LEN, CS) \ + #define MYSQL_START_STATEMENT(STATE, K, DB, DB_LEN, CS, SPS) \ NULL #endif @@ -146,10 +157,12 @@ inline_mysql_start_statement(PSI_statement_locker_state *state, PSI_statement_key key, const char *db, uint db_len, const CHARSET_INFO *charset, + PSI_sp_share *sp_share, const char *src_file, int src_line) { PSI_statement_locker *locker; - locker= PSI_STATEMENT_CALL(get_thread_statement_locker)(state, key, charset); + locker= PSI_STATEMENT_CALL(get_thread_statement_locker)(state, key, charset, + sp_share); if (likely(locker != NULL)) PSI_STATEMENT_CALL(start_statement)(locker, db, db_len, src_file, src_line); return locker; diff --git a/include/mysql/psi/mysql_table.h b/include/mysql/psi/mysql_table.h index 815313e654b..00f75661b70 100644 --- a/include/mysql/psi/mysql_table.h +++ b/include/mysql/psi/mysql_table.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,6 +23,10 @@ #include "mysql/psi/psi.h" +#ifndef PSI_TABLE_CALL +#define PSI_TABLE_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + /** @defgroup Table_instrumentation Table Instrumentation @ingroup Instrumentation_interface @@ -50,72 +54,6 @@ #endif /** - @def MYSQL_TABLE_IO_WAIT - Instrumentation helper for table io_waits. - This instrumentation marks the start of a wait event. - @param PSI the instrumented table - @param OP the table operation to be performed - @param INDEX the table index used if any, or MAY_KEY. - @param FLAGS per table operation flags. - @sa MYSQL_END_TABLE_WAIT. -*/ -#ifdef HAVE_PSI_TABLE_INTERFACE - #define MYSQL_TABLE_IO_WAIT(PSI, OP, INDEX, FLAGS, PAYLOAD) \ - { \ - if (PSI != NULL) \ - { \ - PSI_table_locker *locker; \ - PSI_table_locker_state state; \ - locker= PSI_TABLE_CALL(start_table_io_wait) \ - (& state, PSI, OP, INDEX, __FILE__, __LINE__); \ - PAYLOAD \ - if (locker != NULL) \ - PSI_TABLE_CALL(end_table_io_wait)(locker); \ - } \ - else \ - { \ - PAYLOAD \ - } \ - } -#else - #define MYSQL_TABLE_IO_WAIT(PSI, OP, INDEX, FLAGS, PAYLOAD) \ - PAYLOAD -#endif - -/** - @def MYSQL_TABLE_LOCK_WAIT - Instrumentation helper for table io_waits. - This instrumentation marks the start of a wait event. - @param PSI the instrumented table - @param OP the table operation to be performed - @param INDEX the table index used if any, or MAY_KEY. - @param FLAGS per table operation flags. - @sa MYSQL_END_TABLE_WAIT. -*/ -#ifdef HAVE_PSI_TABLE_INTERFACE - #define MYSQL_TABLE_LOCK_WAIT(PSI, OP, FLAGS, PAYLOAD) \ - { \ - if (PSI != NULL) \ - { \ - PSI_table_locker *locker; \ - PSI_table_locker_state state; \ - locker= PSI_TABLE_CALL(start_table_lock_wait) \ - (& state, PSI, OP, FLAGS, __FILE__, __LINE__); \ - PAYLOAD \ - if (locker != NULL) \ - PSI_TABLE_CALL(end_table_lock_wait)(locker); \ - } \ - else \ - { \ - PAYLOAD \ - } \ - } -#else - #define MYSQL_TABLE_LOCK_WAIT(PSI, OP, FLAGS, PAYLOAD) \ - PAYLOAD -#endif - -/** @def MYSQL_START_TABLE_LOCK_WAIT Instrumentation helper for table lock waits. This instrumentation marks the start of a wait event. @@ -151,6 +89,14 @@ #endif #ifdef HAVE_PSI_TABLE_INTERFACE + #define MYSQL_UNLOCK_TABLE(T) \ + inline_mysql_unlock_table(T) +#else + #define MYSQL_UNLOCK_TABLE(T) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_TABLE_INTERFACE /** Instrumentation calls for MYSQL_START_TABLE_LOCK_WAIT. @sa MYSQL_END_TABLE_LOCK_WAIT. @@ -181,6 +127,13 @@ inline_mysql_end_table_lock_wait(struct PSI_table_locker *locker) if (locker != NULL) PSI_TABLE_CALL(end_table_lock_wait)(locker); } + +static inline void +inline_mysql_unlock_table(struct PSI_table *table) +{ + if (table != NULL) + PSI_TABLE_CALL(unlock_table)(table); +} #endif /** @} (end of group Table_instrumentation) */ diff --git a/include/mysql/psi/mysql_thread.h b/include/mysql/psi/mysql_thread.h index ee2693d2863..c5ace991e0b 100644 --- a/include/mysql/psi/mysql_thread.h +++ b/include/mysql/psi/mysql_thread.h @@ -29,9 +29,9 @@ Other compilers, like gcc, optimize these dependencies by default. Since the instrumented APIs declared here are wrapper on top - of my_pthread / safemutex / etc APIs, + of my_thread / safemutex / etc APIs, including mysql/psi/mysql_thread.h assumes that - the dependency on my_pthread and safemutex already exists. + the dependency on my_thread and safemutex already exists. */ /* Note: there are several orthogonal dimensions here. @@ -49,12 +49,37 @@ - the pthread library - fast mutexes - window apis - This is implemented by various macro definitions in my_pthread.h + This is implemented by various macro definitions in my_thread.h This causes complexity with '#ifdef'-ery that can't be avoided. */ +#include "my_thread.h" +#include "my_thread_local.h" +#include "thr_mutex.h" +#include "thr_rwlock.h" #include "mysql/psi/psi.h" +#ifdef MYSQL_SERVER +#ifndef MYSQL_DYNAMIC_PLUGIN +#include "pfs_thread_provider.h" +#endif +#endif + +#ifndef PSI_MUTEX_CALL +#define PSI_MUTEX_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + +#ifndef PSI_RWLOCK_CALL +#define PSI_RWLOCK_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + +#ifndef PSI_COND_CALL +#define PSI_COND_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + +#ifndef PSI_THREAD_CALL +#define PSI_THREAD_CALL(M) PSI_DYNAMIC_CALL(M) +#endif /** @defgroup Thread_instrumentation Thread Instrumentation @@ -69,13 +94,7 @@ struct st_mysql_mutex { /** The real mutex. */ -#ifdef SAFE_MUTEX - safe_mutex_t m_mutex; -#elif defined(MY_PTHREAD_FASTMUTEX) - my_pthread_fastmutex_t m_mutex; -#else - pthread_mutex_t m_mutex; -#endif + my_mutex_t m_mutex; /** The instrumentation hook. Note that this hook is not conditionally defined, @@ -86,7 +105,7 @@ struct st_mysql_mutex /** Type of an instrumented mutex. - @c mysql_mutex_t is a drop-in replacement for @c pthread_mutex_t. + @c mysql_mutex_t is a drop-in replacement for @c my_mutex_t. @sa mysql_mutex_assert_owner @sa mysql_mutex_assert_not_owner @sa mysql_mutex_init @@ -103,7 +122,7 @@ typedef struct st_mysql_mutex mysql_mutex_t; struct st_mysql_rwlock { /** The real rwlock */ - rw_lock_t m_rwlock; + native_rw_lock_t m_rwlock; /** The instrumentation hook. Note that this hook is not conditionally defined, @@ -160,7 +179,7 @@ typedef struct st_mysql_prlock mysql_prlock_t; struct st_mysql_cond { /** The real condition */ - pthread_cond_t m_cond; + native_cond_t m_cond; /** The instrumentation hook. Note that this hook is not conditionally defined, @@ -171,7 +190,7 @@ struct st_mysql_cond /** Type of an instrumented condition. - @c mysql_cond_t is a drop-in replacement for @c pthread_cond_t. + @c mysql_cond_t is a drop-in replacement for @c native_cond_t. @sa mysql_cond_init @sa mysql_cond_wait @sa mysql_cond_timedwait @@ -207,8 +226,12 @@ typedef struct st_mysql_cond mysql_cond_t; @c mysql_mutex_assert_owner is a drop-in replacement for @c safe_mutex_assert_owner. */ +#ifdef SAFE_MUTEX #define mysql_mutex_assert_owner(M) \ - safe_mutex_assert_owner(&(M)->m_mutex) + safe_mutex_assert_owner(&(M)->m_mutex); +#else +#define mysql_mutex_assert_owner(M) { } +#endif /** @def mysql_mutex_assert_not_owner(M) @@ -216,14 +239,26 @@ typedef struct st_mysql_cond mysql_cond_t; @c mysql_mutex_assert_not_owner is a drop-in replacement for @c safe_mutex_assert_not_owner. */ +#ifdef SAFE_MUTEX #define mysql_mutex_assert_not_owner(M) \ - safe_mutex_assert_not_owner(&(M)->m_mutex) - -/** Wrappers for instrumented prlock objects. */ + safe_mutex_assert_not_owner(&(M)->m_mutex); +#else +#define mysql_mutex_assert_not_owner(M) { } +#endif +/** + @def mysql_prlock_assert_write_owner(M) + Drop-in replacement + for @c rw_pr_lock_assert_write_owner. +*/ #define mysql_prlock_assert_write_owner(M) \ rw_pr_lock_assert_write_owner(&(M)->m_prlock) +/** + @def mysql_prlock_assert_not_write_owner(M) + Drop-in replacement + for @c rw_pr_lock_assert_not_write_owner. +*/ #define mysql_prlock_assert_not_write_owner(M) \ rw_pr_lock_assert_not_write_owner(&(M)->m_prlock) @@ -294,7 +329,7 @@ typedef struct st_mysql_cond mysql_cond_t; @def mysql_mutex_trylock(M) Instrumented mutex_lock. @c mysql_mutex_trylock is a drop-in replacement - for @c pthread_mutex_trylock. + for @c my_mutex_trylock. */ #if defined(SAFE_MUTEX) || defined (HAVE_PSI_MUTEX_INTERFACE) @@ -476,17 +511,18 @@ typedef struct st_mysql_cond mysql_cond_t; inline_mysql_cond_register(P1, P2, P3) /** - @def mysql_cond_init(K, C, A) + @def mysql_cond_init(K, C) Instrumented cond_init. @c mysql_cond_init is a replacement for @c pthread_cond_init. + Note that pthread_condattr_t is not supported in MySQL. @param C The cond to initialize @param K The PSI_cond_key for this instrumented cond - @param A Condition attributes + */ #ifdef HAVE_PSI_COND_INTERFACE - #define mysql_cond_init(K, C, A) inline_mysql_cond_init(K, C, A) + #define mysql_cond_init(K, C) inline_mysql_cond_init(K, C) #else - #define mysql_cond_init(K, C, A) inline_mysql_cond_init(C, A) + #define mysql_cond_init(K, C) inline_mysql_cond_init(C) #endif /** @@ -499,9 +535,9 @@ typedef struct st_mysql_cond mysql_cond_t; /** @def mysql_cond_wait(C) Instrumented cond_wait. - @c mysql_cond_wait is a drop-in replacement for @c pthread_cond_wait. + @c mysql_cond_wait is a drop-in replacement for @c native_cond_wait. */ -#ifdef HAVE_PSI_COND_INTERFACE +#if defined(SAFE_MUTEX) || defined(HAVE_PSI_COND_INTERFACE) #define mysql_cond_wait(C, M) \ inline_mysql_cond_wait(C, M, __FILE__, __LINE__) #else @@ -513,9 +549,9 @@ typedef struct st_mysql_cond mysql_cond_t; @def mysql_cond_timedwait(C, M, W) Instrumented cond_timedwait. @c mysql_cond_timedwait is a drop-in replacement - for @c pthread_cond_timedwait. + for @c native_cond_timedwait. */ -#ifdef HAVE_PSI_COND_INTERFACE +#if defined(SAFE_MUTEX) || defined(HAVE_PSI_COND_INTERFACE) #define mysql_cond_timedwait(C, M, W) \ inline_mysql_cond_timedwait(C, M, W, __FILE__, __LINE__) #else @@ -547,9 +583,9 @@ typedef struct st_mysql_cond mysql_cond_t; /** @def mysql_thread_create(K, P1, P2, P3, P4) - Instrumented pthread_create. + Instrumented my_thread_create. This function creates both the thread instrumentation and a thread. - @c mysql_thread_create is a replacement for @c pthread_create. + @c mysql_thread_create is a replacement for @c my_thread_create. The parameter P4 (or, if it is NULL, P1) will be used as the instrumented thread "indentity". Providing a P1 / P4 parameter with a different value for each call @@ -557,22 +593,22 @@ typedef struct st_mysql_cond mysql_cond_t; is used internally to randomize access to data and prevent contention. This is optional, and the improvement is not guaranteed, only statistical. @param K The PSI_thread_key for this instrumented thread - @param P1 pthread_create parameter 1 - @param P2 pthread_create parameter 2 - @param P3 pthread_create parameter 3 - @param P4 pthread_create parameter 4 + @param P1 my_thread_create parameter 1 + @param P2 my_thread_create parameter 2 + @param P3 my_thread_create parameter 3 + @param P4 my_thread_create parameter 4 */ #ifdef HAVE_PSI_THREAD_INTERFACE #define mysql_thread_create(K, P1, P2, P3, P4) \ inline_mysql_thread_create(K, P1, P2, P3, P4) #else #define mysql_thread_create(K, P1, P2, P3, P4) \ - pthread_create(P1, P2, P3, P4) + my_thread_create(P1, P2, P3, P4) #endif /** @def mysql_thread_set_psi_id(I) - Set the thread indentifier for the instrumentation. + Set the thread identifier for the instrumentation. @param I The thread identifier */ #ifdef HAVE_PSI_THREAD_INTERFACE @@ -581,6 +617,17 @@ typedef struct st_mysql_cond mysql_cond_t; #define mysql_thread_set_psi_id(I) do {} while (0) #endif +/** + @def mysql_thread_set_psi_THD(T) + Set the thread sql session for the instrumentation. + @param I The thread identifier +*/ +#ifdef HAVE_PSI_THREAD_INTERFACE + #define mysql_thread_set_psi_THD(T) inline_mysql_thread_set_psi_THD(T) +#else + #define mysql_thread_set_psi_THD(T) do {} while (0) +#endif + static inline void inline_mysql_mutex_register( #ifdef HAVE_PSI_MUTEX_INTERFACE const char *category, @@ -603,7 +650,7 @@ static inline int inline_mysql_mutex_init( PSI_mutex_key key, #endif mysql_mutex_t *that, - const pthread_mutexattr_t *attr + const native_mutexattr_t *attr #ifdef SAFE_MUTEX , const char *src_file, uint src_line #endif @@ -614,13 +661,11 @@ static inline int inline_mysql_mutex_init( #else that->m_psi= NULL; #endif + return my_mutex_init(&that->m_mutex, attr #ifdef SAFE_MUTEX - return safe_mutex_init(&that->m_mutex, attr, src_file, src_line); -#elif defined(MY_PTHREAD_FASTMUTEX) - return my_pthread_fastmutex_init(&that->m_mutex, attr); -#else - return pthread_mutex_init(&that->m_mutex, attr); + , src_file, src_line #endif + ); } static inline int inline_mysql_mutex_destroy( @@ -637,13 +682,11 @@ static inline int inline_mysql_mutex_destroy( that->m_psi= NULL; } #endif + return my_mutex_destroy(&that->m_mutex #ifdef SAFE_MUTEX - return safe_mutex_destroy(&that->m_mutex, src_file, src_line); -#elif defined(MY_PTHREAD_FASTMUTEX) - return pthread_mutex_destroy(&that->m_mutex.mutex); -#else - return pthread_mutex_destroy(&that->m_mutex); + , src_file, src_line #endif + ); } static inline int inline_mysql_mutex_lock( @@ -665,13 +708,11 @@ static inline int inline_mysql_mutex_lock( PSI_MUTEX_LOCK, src_file, src_line); /* Instrumented code */ + result= my_mutex_lock(&that->m_mutex #ifdef SAFE_MUTEX - result= safe_mutex_lock(&that->m_mutex, FALSE, src_file, src_line); -#elif defined(MY_PTHREAD_FASTMUTEX) - result= my_pthread_fastmutex_lock(&that->m_mutex); -#else - result= pthread_mutex_lock(&that->m_mutex); + , src_file, src_line #endif + ); /* Instrumentation end */ if (locker != NULL) @@ -682,13 +723,11 @@ static inline int inline_mysql_mutex_lock( #endif /* Non instrumented code */ + result= my_mutex_lock(&that->m_mutex #ifdef SAFE_MUTEX - result= safe_mutex_lock(&that->m_mutex, FALSE, src_file, src_line); -#elif defined(MY_PTHREAD_FASTMUTEX) - result= my_pthread_fastmutex_lock(&that->m_mutex); -#else - result= pthread_mutex_lock(&that->m_mutex); + , src_file, src_line #endif + ); return result; } @@ -712,13 +751,11 @@ static inline int inline_mysql_mutex_trylock( PSI_MUTEX_TRYLOCK, src_file, src_line); /* Instrumented code */ + result= my_mutex_trylock(&that->m_mutex #ifdef SAFE_MUTEX - result= safe_mutex_lock(&that->m_mutex, TRUE, src_file, src_line); -#elif defined(MY_PTHREAD_FASTMUTEX) - result= pthread_mutex_trylock(&that->m_mutex.mutex); -#else - result= pthread_mutex_trylock(&that->m_mutex); + , src_file, src_line #endif + ); /* Instrumentation end */ if (locker != NULL) @@ -729,13 +766,11 @@ static inline int inline_mysql_mutex_trylock( #endif /* Non instrumented code */ + result= my_mutex_trylock(&that->m_mutex #ifdef SAFE_MUTEX - result= safe_mutex_lock(&that->m_mutex, TRUE, src_file, src_line); -#elif defined(MY_PTHREAD_FASTMUTEX) - result= pthread_mutex_trylock(&that->m_mutex.mutex); -#else - result= pthread_mutex_trylock(&that->m_mutex); + , src_file, src_line #endif + ); return result; } @@ -754,13 +789,11 @@ static inline int inline_mysql_mutex_unlock( PSI_MUTEX_CALL(unlock_mutex)(that->m_psi); #endif + result= my_mutex_unlock(&that->m_mutex #ifdef SAFE_MUTEX - result= safe_mutex_unlock(&that->m_mutex, src_file, src_line); -#elif defined(MY_PTHREAD_FASTMUTEX) - result= pthread_mutex_unlock(&that->m_mutex.mutex); -#else - result= pthread_mutex_unlock(&that->m_mutex); + , src_file, src_line #endif + ); return result; } @@ -793,10 +826,7 @@ static inline int inline_mysql_rwlock_init( #else that->m_psi= NULL; #endif - /* - pthread_rwlockattr_t is not used in MySQL. - */ - return my_rwlock_init(&that->m_rwlock, NULL); + return native_rw_init(&that->m_rwlock); } #ifndef DISABLE_MYSQL_PRLOCK_H @@ -825,7 +855,7 @@ static inline int inline_mysql_rwlock_destroy( that->m_psi= NULL; } #endif - return rwlock_destroy(&that->m_rwlock); + return native_rw_destroy(&that->m_rwlock); } #ifndef DISABLE_MYSQL_PRLOCK_H @@ -862,7 +892,7 @@ static inline int inline_mysql_rwlock_rdlock( PSI_RWLOCK_READLOCK, src_file, src_line); /* Instrumented code */ - result= rw_rdlock(&that->m_rwlock); + result= native_rw_rdlock(&that->m_rwlock); /* Instrumentation end */ if (locker != NULL) @@ -873,7 +903,7 @@ static inline int inline_mysql_rwlock_rdlock( #endif /* Non instrumented code */ - result= rw_rdlock(&that->m_rwlock); + result= native_rw_rdlock(&that->m_rwlock); return result; } @@ -934,7 +964,7 @@ static inline int inline_mysql_rwlock_wrlock( PSI_RWLOCK_WRITELOCK, src_file, src_line); /* Instrumented code */ - result= rw_wrlock(&that->m_rwlock); + result= native_rw_wrlock(&that->m_rwlock); /* Instrumentation end */ if (locker != NULL) @@ -945,7 +975,7 @@ static inline int inline_mysql_rwlock_wrlock( #endif /* Non instrumented code */ - result= rw_wrlock(&that->m_rwlock); + result= native_rw_wrlock(&that->m_rwlock); return result; } @@ -1006,7 +1036,7 @@ static inline int inline_mysql_rwlock_tryrdlock( PSI_RWLOCK_TRYREADLOCK, src_file, src_line); /* Instrumented code */ - result= rw_tryrdlock(&that->m_rwlock); + result= native_rw_tryrdlock(&that->m_rwlock); /* Instrumentation end */ if (locker != NULL) @@ -1017,7 +1047,7 @@ static inline int inline_mysql_rwlock_tryrdlock( #endif /* Non instrumented code */ - result= rw_tryrdlock(&that->m_rwlock); + result= native_rw_tryrdlock(&that->m_rwlock); return result; } @@ -1041,7 +1071,7 @@ static inline int inline_mysql_rwlock_trywrlock( PSI_RWLOCK_TRYWRITELOCK, src_file, src_line); /* Instrumented code */ - result= rw_trywrlock(&that->m_rwlock); + result= native_rw_trywrlock(&that->m_rwlock); /* Instrumentation end */ if (locker != NULL) @@ -1052,7 +1082,7 @@ static inline int inline_mysql_rwlock_trywrlock( #endif /* Non instrumented code */ - result= rw_trywrlock(&that->m_rwlock); + result= native_rw_trywrlock(&that->m_rwlock); return result; } @@ -1065,7 +1095,7 @@ static inline int inline_mysql_rwlock_unlock( if (that->m_psi != NULL) PSI_RWLOCK_CALL(unlock_rwlock)(that->m_psi); #endif - result= rw_unlock(&that->m_rwlock); + result= native_rw_unlock(&that->m_rwlock); return result; } @@ -1104,15 +1134,14 @@ static inline int inline_mysql_cond_init( #ifdef HAVE_PSI_COND_INTERFACE PSI_cond_key key, #endif - mysql_cond_t *that, - const pthread_condattr_t *attr) + mysql_cond_t *that) { #ifdef HAVE_PSI_COND_INTERFACE that->m_psi= PSI_COND_CALL(init_cond)(key, &that->m_cond); #else that->m_psi= NULL; #endif - return pthread_cond_init(&that->m_cond, attr); + return native_cond_init(&that->m_cond); } static inline int inline_mysql_cond_destroy( @@ -1125,13 +1154,13 @@ static inline int inline_mysql_cond_destroy( that->m_psi= NULL; } #endif - return pthread_cond_destroy(&that->m_cond); + return native_cond_destroy(&that->m_cond); } static inline int inline_mysql_cond_wait( mysql_cond_t *that, mysql_mutex_t *mutex -#ifdef HAVE_PSI_COND_INTERFACE +#if defined(SAFE_MUTEX) || defined(HAVE_PSI_COND_INTERFACE) , const char *src_file, uint src_line #endif ) @@ -1148,7 +1177,11 @@ static inline int inline_mysql_cond_wait( PSI_COND_WAIT, src_file, src_line); /* Instrumented code */ - result= my_cond_wait(&that->m_cond, &mutex->m_mutex); + result= my_cond_wait(&that->m_cond, &mutex->m_mutex +#ifdef SAFE_MUTEX + , src_file, src_line +#endif + ); /* Instrumentation end */ if (locker != NULL) @@ -1159,7 +1192,11 @@ static inline int inline_mysql_cond_wait( #endif /* Non instrumented code */ - result= my_cond_wait(&that->m_cond, &mutex->m_mutex); + result= my_cond_wait(&that->m_cond, &mutex->m_mutex +#ifdef SAFE_MUTEX + , src_file, src_line +#endif + ); return result; } @@ -1168,7 +1205,7 @@ static inline int inline_mysql_cond_timedwait( mysql_cond_t *that, mysql_mutex_t *mutex, const struct timespec *abstime -#ifdef HAVE_PSI_COND_INTERFACE +#if defined(SAFE_MUTEX) || defined(HAVE_PSI_COND_INTERFACE) , const char *src_file, uint src_line #endif ) @@ -1185,7 +1222,11 @@ static inline int inline_mysql_cond_timedwait( PSI_COND_TIMEDWAIT, src_file, src_line); /* Instrumented code */ - result= my_cond_timedwait(&that->m_cond, &mutex->m_mutex, abstime); + result= my_cond_timedwait(&that->m_cond, &mutex->m_mutex, abstime +#ifdef SAFE_MUTEX + , src_file, src_line +#endif + ); /* Instrumentation end */ if (locker != NULL) @@ -1196,7 +1237,11 @@ static inline int inline_mysql_cond_timedwait( #endif /* Non instrumented code */ - result= my_cond_timedwait(&that->m_cond, &mutex->m_mutex, abstime); + result= my_cond_timedwait(&that->m_cond, &mutex->m_mutex, abstime +#ifdef SAFE_MUTEX + , src_file, src_line +#endif + ); return result; } @@ -1209,7 +1254,7 @@ static inline int inline_mysql_cond_signal( if (that->m_psi != NULL) PSI_COND_CALL(signal_cond)(that->m_psi); #endif - result= pthread_cond_signal(&that->m_cond); + result= native_cond_signal(&that->m_cond); return result; } @@ -1221,7 +1266,7 @@ static inline int inline_mysql_cond_broadcast( if (that->m_psi != NULL) PSI_COND_CALL(broadcast_cond)(that->m_psi); #endif - result= pthread_cond_broadcast(&that->m_cond); + result= native_cond_broadcast(&that->m_cond); return result; } @@ -1245,19 +1290,29 @@ static inline void inline_mysql_thread_register( #ifdef HAVE_PSI_THREAD_INTERFACE static inline int inline_mysql_thread_create( PSI_thread_key key, - pthread_t *thread, const pthread_attr_t *attr, - void *(*start_routine)(void*), void *arg) + my_thread_handle *thread, const my_thread_attr_t *attr, + my_start_routine start_routine, void *arg) { int result; result= PSI_THREAD_CALL(spawn_thread)(key, thread, attr, start_routine, arg); return result; } -static inline void inline_mysql_thread_set_psi_id(ulong id) +static inline void inline_mysql_thread_set_psi_id(my_thread_id id) { struct PSI_thread *psi= PSI_THREAD_CALL(get_thread)(); PSI_THREAD_CALL(set_thread_id)(psi, id); } + +#ifdef __cplusplus +class THD; +static inline void inline_mysql_thread_set_psi_THD(THD *thd) +{ + struct PSI_thread *psi= PSI_THREAD_CALL(get_thread)(); + PSI_THREAD_CALL(set_thread_THD)(psi, thd); +} +#endif /* __cplusplus */ + #endif #endif /* DISABLE_MYSQL_THREAD_H */ diff --git a/include/mysql/psi/mysql_transaction.h b/include/mysql/psi/mysql_transaction.h new file mode 100644 index 00000000000..c80abf46228 --- /dev/null +++ b/include/mysql/psi/mysql_transaction.h @@ -0,0 +1,213 @@ +/* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef MYSQL_TRANSACTION_H +#define MYSQL_TRANSACTION_H + +/** + @file mysql/psi/mysql_transaction.h + Instrumentation helpers for transactions. +*/ + +#include "mysql/psi/psi.h" + +#ifndef PSI_TRANSACTION_CALL +#define PSI_TRANSACTION_CALL(M) PSI_DYNAMIC_CALL(M) +#endif + +/** + @defgroup Transaction_instrumentation Transaction Instrumentation + @ingroup Instrumentation_interface + @{ +*/ + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE + #define MYSQL_START_TRANSACTION(STATE, XID, TRXID, ISO, RO, AC) \ + inline_mysql_start_transaction(STATE, XID, TRXID, ISO, RO, AC, __FILE__, __LINE__) +#else + #define MYSQL_START_TRANSACTION(STATE, XID, TRXID, ISO, RO, AC) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE + #define MYSQL_SET_TRANSACTION_GTID(LOCKER, P1, P2) \ + inline_mysql_set_transaction_gtid(LOCKER, P1, P2) +#else + #define MYSQL_SET_TRANSACTION_GTID(LOCKER, P1, P2) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE + #define MYSQL_SET_TRANSACTION_XID(LOCKER, P1, P2) \ + inline_mysql_set_transaction_xid(LOCKER, P1, P2) +#else + #define MYSQL_SET_TRANSACTION_XID(LOCKER, P1, P2) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE + #define MYSQL_SET_TRANSACTION_XA_STATE(LOCKER, P1) \ + inline_mysql_set_transaction_xa_state(LOCKER, P1) +#else + #define MYSQL_SET_TRANSACTION_XA_STATE(LOCKER, P1) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE + #define MYSQL_SET_TRANSACTION_TRXID(LOCKER, P1) \ + inline_mysql_set_transaction_trxid(LOCKER, P1) +#else + #define MYSQL_SET_TRANSACTION_TRXID(LOCKER, P1) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE + #define MYSQL_INC_TRANSACTION_SAVEPOINTS(LOCKER, P1) \ + inline_mysql_inc_transaction_savepoints(LOCKER, P1) +#else + #define MYSQL_INC_TRANSACTION_SAVEPOINTS(LOCKER, P1) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE + #define MYSQL_INC_TRANSACTION_ROLLBACK_TO_SAVEPOINT(LOCKER, P1) \ + inline_mysql_inc_transaction_rollback_to_savepoint(LOCKER, P1) +#else + #define MYSQL_INC_TRANSACTION_ROLLBACK_TO_SAVEPOINT(LOCKER, P1) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE + #define MYSQL_INC_TRANSACTION_RELEASE_SAVEPOINT(LOCKER, P1) \ + inline_mysql_inc_transaction_release_savepoint(LOCKER, P1) +#else + #define MYSQL_INC_TRANSACTION_RELEASE_SAVEPOINT(LOCKER, P1) \ + do {} while (0) +#endif + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE + #define MYSQL_ROLLBACK_TRANSACTION(LOCKER) \ + inline_mysql_rollback_transaction(LOCKER) +#else + #define MYSQL_ROLLBACK_TRANSACTION(LOCKER) \ + NULL +#endif + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE + #define MYSQL_COMMIT_TRANSACTION(LOCKER) \ + inline_mysql_commit_transaction(LOCKER) +#else + #define MYSQL_COMMIT_TRANSACTION(LOCKER) \ + NULL +#endif + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE +static inline struct PSI_transaction_locker * +inline_mysql_start_transaction(PSI_transaction_locker_state *state, + const void *xid, + const ulonglong *trxid, + int isolation_level, + my_bool read_only, + my_bool autocommit, + const char *src_file, int src_line) +{ + PSI_transaction_locker *locker; + locker= PSI_TRANSACTION_CALL(get_thread_transaction_locker)(state, + xid, trxid, + isolation_level, + read_only, + autocommit); + if (likely(locker != NULL)) + PSI_TRANSACTION_CALL(start_transaction)(locker, src_file, src_line); + return locker; +} + +static inline void +inline_mysql_set_transaction_gtid(PSI_transaction_locker *locker, + const void *sid, + const void *gtid_spec) +{ + if (likely(locker != NULL)) + PSI_TRANSACTION_CALL(set_transaction_gtid)(locker, sid, gtid_spec); +} + +static inline void +inline_mysql_set_transaction_xid(PSI_transaction_locker *locker, + const void *xid, + int xa_state) +{ + if (likely(locker != NULL)) + PSI_TRANSACTION_CALL(set_transaction_xid)(locker, xid, xa_state); +} + +static inline void +inline_mysql_set_transaction_xa_state(PSI_transaction_locker *locker, + int xa_state) +{ + if (likely(locker != NULL)) + PSI_TRANSACTION_CALL(set_transaction_xa_state)(locker, xa_state); +} + +static inline void +inline_mysql_set_transaction_trxid(PSI_transaction_locker *locker, + const ulonglong *trxid) +{ + if (likely(locker != NULL)) + PSI_TRANSACTION_CALL(set_transaction_trxid)(locker, trxid); +} + +static inline void +inline_mysql_inc_transaction_savepoints(PSI_transaction_locker *locker, + ulong count) +{ + if (likely(locker != NULL)) + PSI_TRANSACTION_CALL(inc_transaction_savepoints)(locker, count); +} + +static inline void +inline_mysql_inc_transaction_rollback_to_savepoint(PSI_transaction_locker *locker, + ulong count) +{ + if (likely(locker != NULL)) + PSI_TRANSACTION_CALL(inc_transaction_rollback_to_savepoint)(locker, count); +} + +static inline void +inline_mysql_inc_transaction_release_savepoint(PSI_transaction_locker *locker, + ulong count) +{ + if (likely(locker != NULL)) + PSI_TRANSACTION_CALL(inc_transaction_release_savepoint)(locker, count); +} + +static inline void +inline_mysql_rollback_transaction(struct PSI_transaction_locker *locker) +{ + if (likely(locker != NULL)) + PSI_TRANSACTION_CALL(end_transaction)(locker, false); +} + +static inline void +inline_mysql_commit_transaction(struct PSI_transaction_locker *locker) +{ + if (likely(locker != NULL)) + PSI_TRANSACTION_CALL(end_transaction)(locker, true); +} +#endif + +/** @} (end of group Transaction_instrumentation) */ + +#endif + diff --git a/include/mysql/psi/psi.h b/include/mysql/psi/psi.h index 7fcff89c8b6..9fb62868e31 100644 --- a/include/mysql/psi/psi.h +++ b/include/mysql/psi/psi.h @@ -17,16 +17,7 @@ #define MYSQL_PERFORMANCE_SCHEMA_INTERFACE_H #ifdef EMBEDDED_LIBRARY -#define DISABLE_PSI_MUTEX -#define DISABLE_PSI_RWLOCK -#define DISABLE_PSI_COND -#define DISABLE_PSI_FILE -#define DISABLE_PSI_TABLE -#define DISABLE_PSI_SOCKET -#define DISABLE_PSI_STAGE -#define DISABLE_PSI_STATEMENT -#define DISABLE_PSI_IDLE -#define DISABLE_PSI_STATEMENT_DIGEST +#define DISABLE_ALL_PSI #endif /* EMBEDDED_LIBRARY */ #ifndef MY_GLOBAL_INCLUDED @@ -40,12 +31,52 @@ #error "You must include my_global.h in the code for the build to be correct." #endif +#include "psi_base.h" +#include "psi_memory.h" + +/* + MAINTAINER: + The following pattern: + typedef struct XYZ XYZ; + is not needed in C++, but required for C. +*/ + C_MODE_START +/** @sa MDL_key. */ +struct MDL_key; +typedef struct MDL_key MDL_key; + +/** @sa enum_mdl_type. */ +typedef int opaque_mdl_type; + +/** @sa enum_mdl_duration. */ +typedef int opaque_mdl_duration; + +/** @sa MDL_wait::enum_wait_status. */ +typedef int opaque_mdl_status; + +/** @sa enum_vio_type. */ +typedef int opaque_vio_type; + struct TABLE_SHARE; struct sql_digest_storage; +#ifdef __cplusplus + class THD; +#else + /* + Phony declaration when compiling C code. + This is ok, because the C code will never have a THD anyway. + */ + struct opaque_THD + { + int dummy; + }; + typedef struct opaque_THD THD; +#endif + /** @file mysql/psi/psi.h Performance schema instrumentation interface. @@ -112,6 +143,13 @@ struct PSI_socket; typedef struct PSI_socket PSI_socket; /** + Interface for an instrumented prepared statement. + This is an opaque structure. +*/ +struct PSI_prepared_stmt; +typedef struct PSI_prepared_stmt PSI_prepared_stmt; + +/** Interface for an instrumented table operation. This is an opaque structure. */ @@ -126,6 +164,13 @@ struct PSI_statement_locker; typedef struct PSI_statement_locker PSI_statement_locker; /** + Interface for an instrumented transaction. + This is an opaque structure. +*/ +struct PSI_transaction_locker; +typedef struct PSI_transaction_locker PSI_transaction_locker; + +/** Interface for an instrumented idle operation. This is an opaque structure. */ @@ -139,6 +184,90 @@ typedef struct PSI_idle_locker PSI_idle_locker; struct PSI_digest_locker; typedef struct PSI_digest_locker PSI_digest_locker; +/** + Interface for an instrumented stored procedure share. + This is an opaque structure. +*/ +struct PSI_sp_share; +typedef struct PSI_sp_share PSI_sp_share; + +/** + Interface for an instrumented stored program. + This is an opaque structure. +*/ +struct PSI_sp_locker; +typedef struct PSI_sp_locker PSI_sp_locker; + +/** + Interface for an instrumented metadata lock. + This is an opaque structure. +*/ +struct PSI_metadata_lock; +typedef struct PSI_metadata_lock PSI_metadata_lock; + +/** + Interface for an instrumented stage progress. + This is a public structure, for efficiency. +*/ +struct PSI_stage_progress +{ + ulonglong m_work_completed; + ulonglong m_work_estimated; +}; +typedef struct PSI_stage_progress PSI_stage_progress; + +/** IO operation performed on an instrumented table. */ +enum PSI_table_io_operation +{ + /** Row fetch. */ + PSI_TABLE_FETCH_ROW= 0, + /** Row write. */ + PSI_TABLE_WRITE_ROW= 1, + /** Row update. */ + PSI_TABLE_UPDATE_ROW= 2, + /** Row delete. */ + PSI_TABLE_DELETE_ROW= 3 +}; +typedef enum PSI_table_io_operation PSI_table_io_operation; + +/** + State data storage for @c start_table_io_wait_v1_t, + @c start_table_lock_wait_v1_t. + This structure provide temporary storage to a table locker. + The content of this structure is considered opaque, + the fields are only hints of what an implementation + of the psi interface can use. + This memory is provided by the instrumented code for performance reasons. + @sa start_table_io_wait_v1_t + @sa start_table_lock_wait_v1_t +*/ +struct PSI_table_locker_state +{ + /** Internal state. */ + uint m_flags; + /** Current io operation. */ + enum PSI_table_io_operation m_io_operation; + /** Current table handle. */ + struct PSI_table *m_table; + /** Current table share. */ + struct PSI_table_share *m_table_share; + /** Current thread. */ + struct PSI_thread *m_thread; + /** Timer start. */ + ulonglong m_timer_start; + /** Timer function. */ + ulonglong (*m_timer)(void); + /** Internal data. */ + void *m_wait; + /** + Implementation specific. + For table io, the table io index. + For table lock, the lock type. + */ + uint m_index; +}; +typedef struct PSI_table_locker_state PSI_table_locker_state; + /** Entry point for the performance schema interface. */ struct PSI_bootstrap { @@ -161,14 +290,84 @@ typedef struct PSI_bootstrap PSI_bootstrap; #ifdef HAVE_PSI_INTERFACE +#ifdef DISABLE_ALL_PSI + +#ifndef DISABLE_PSI_THREAD +#define DISABLE_PSI_THREAD +#endif + +#ifndef DISABLE_PSI_MUTEX +#define DISABLE_PSI_MUTEX +#endif + +#ifndef DISABLE_PSI_RWLOCK +#define DISABLE_PSI_RWLOCK +#endif + +#ifndef DISABLE_PSI_COND +#define DISABLE_PSI_COND +#endif + +#ifndef DISABLE_PSI_FILE +#define DISABLE_PSI_FILE +#endif + +#ifndef DISABLE_PSI_TABLE +#define DISABLE_PSI_TABLE +#endif + +#ifndef DISABLE_PSI_SOCKET +#define DISABLE_PSI_SOCKET +#endif + +#ifndef DISABLE_PSI_STAGE +#define DISABLE_PSI_STAGE +#endif + +#ifndef DISABLE_PSI_STATEMENT +#define DISABLE_PSI_STATEMENT +#endif + +#ifndef DISABLE_PSI_SP +#define DISABLE_PSI_SP +#endif + +#ifndef DISABLE_PSI_IDLE +#define DISABLE_PSI_IDLE +#endif + +#ifndef DISABLE_PSI_STATEMENT_DIGEST +#define DISABLE_PSI_STATEMENT_DIGEST +#endif + +#ifndef DISABLE_PSI_METADATA +#define DISABLE_PSI_METADATA +#endif + +#ifndef DISABLE_PSI_MEMORY +#define DISABLE_PSI_MEMORY +#endif + +#ifndef DISABLE_PSI_TRANSACTION +#define DISABLE_PSI_TRANSACTION +#endif + +#ifndef DISABLE_PSI_SP +#define DISABLE_PSI_SP +#endif + +#ifndef DISABLE_PSI_PS +#define DISABLE_PSI_PS +#endif + +#endif + /** @def DISABLE_PSI_MUTEX Compiling option to disable the mutex instrumentation. This option is mostly intended to be used during development, when doing special builds with only a subset of the performance schema instrumentation, for code analysis / profiling / performance tuning of a specific instrumentation alone. - For this reason, DISABLE_PSI_MUTEX is not advertised in the cmake general options. - To disable mutexes, add -DDISABLE_PSI_MUTEX to CFLAGS. @sa DISABLE_PSI_RWLOCK @sa DISABLE_PSI_COND @sa DISABLE_PSI_FILE @@ -176,8 +375,13 @@ typedef struct PSI_bootstrap PSI_bootstrap; @sa DISABLE_PSI_TABLE @sa DISABLE_PSI_STAGE @sa DISABLE_PSI_STATEMENT + @sa DISABLE_PSI_SP + @sa DISABLE_PSI_STATEMENT_DIGEST @sa DISABLE_PSI_SOCKET + @sa DISABLE_PSI_MEMORY @sa DISABLE_PSI_IDLE + @sa DISABLE_PSI_METADATA + @sa DISABLE PSI_TRANSACTION */ #ifndef DISABLE_PSI_MUTEX @@ -254,6 +458,26 @@ typedef struct PSI_bootstrap PSI_bootstrap; #endif /** + @def DISABLE_PSI_SP + Compiling option to disable the stored program instrumentation. + @sa DISABLE_PSI_MUTEX +*/ +#ifndef DISABLE_PSI_SP +#define HAVE_PSI_SP_INTERFACE +#endif + +/** + @def DISABLE_PSI_PS + Compiling option to disable the prepared statement instrumentation. + @sa DISABLE_PSI_MUTEX +*/ +#ifndef DISABLE_PSI_STATEMENT +#ifndef DISABLE_PSI_PS +#define HAVE_PSI_PS_INTERFACE +#endif +#endif + +/** @def DISABLE_PSI_STATEMENT_DIGEST Compiling option to disable the statement digest instrumentation. */ @@ -265,6 +489,16 @@ typedef struct PSI_bootstrap PSI_bootstrap; #endif /** + @def DISABLE_PSI_TRANSACTION + Compiling option to disable the transaction instrumentation. + @sa DISABLE_PSI_MUTEX +*/ + +#ifndef DISABLE_PSI_TRANSACTION +#define HAVE_PSI_TRANSACTION_INTERFACE +#endif + +/** @def DISABLE_PSI_SOCKET Compiling option to disable the statement instrumentation. @sa DISABLE_PSI_MUTEX @@ -275,6 +509,16 @@ typedef struct PSI_bootstrap PSI_bootstrap; #endif /** + @def DISABLE_PSI_MEMORY + Compiling option to disable the memory instrumentation. + @sa DISABLE_PSI_MUTEX +*/ + +#ifndef DISABLE_PSI_MEMORY +#define HAVE_PSI_MEMORY_INTERFACE +#endif + +/** @def DISABLE_PSI_IDLE Compiling option to disable the idle instrumentation. @sa DISABLE_PSI_MUTEX @@ -285,6 +529,16 @@ typedef struct PSI_bootstrap PSI_bootstrap; #endif /** + @def DISABLE_PSI_METADATA + Compiling option to disable the metadata instrumentation. + @sa DISABLE_PSI_MUTEX +*/ + +#ifndef DISABLE_PSI_METADATA +#define HAVE_PSI_METADATA_INTERFACE +#endif + +/** @def PSI_VERSION_1 Performance Schema Interface number for version 1. This version is supported. @@ -346,6 +600,13 @@ typedef struct PSI_file_locker PSI_file_locker; struct PSI_socket_locker; typedef struct PSI_socket_locker PSI_socket_locker; +/** + Interface for an instrumented MDL operation. + This is an opaque structure. +*/ +struct PSI_metadata_locker; +typedef struct PSI_metadata_locker PSI_metadata_locker; + /** Operation performed on an instrumented mutex. */ enum PSI_mutex_operation { @@ -356,7 +617,12 @@ enum PSI_mutex_operation }; typedef enum PSI_mutex_operation PSI_mutex_operation; -/** Operation performed on an instrumented rwlock. */ +/** + Operation performed on an instrumented rwlock. + For basic READ / WRITE lock, + operations are "READ" or "WRITE". + For SX-locks, operations are "SHARED", "SHARED-EXCLUSIVE" or "EXCLUSIVE". +*/ enum PSI_rwlock_operation { /** Read lock. */ @@ -366,7 +632,21 @@ enum PSI_rwlock_operation /** Read lock attempt. */ PSI_RWLOCK_TRYREADLOCK= 2, /** Write lock attempt. */ - PSI_RWLOCK_TRYWRITELOCK= 3 + PSI_RWLOCK_TRYWRITELOCK= 3, + + /** Shared lock. */ + PSI_RWLOCK_SHAREDLOCK= 4, + /** Shared Exclusive lock. */ + PSI_RWLOCK_SHAREDEXCLUSIVELOCK= 5, + /** Exclusive lock. */ + PSI_RWLOCK_EXCLUSIVELOCK= 6, + /** Shared lock attempt. */ + PSI_RWLOCK_TRYSHAREDLOCK= 7, + /** Shared Exclusive lock attempt. */ + PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK= 8, + /** Exclusive lock attempt. */ + PSI_RWLOCK_TRYEXCLUSIVELOCK= 9 + }; typedef enum PSI_rwlock_operation PSI_rwlock_operation; @@ -426,20 +706,6 @@ enum PSI_file_operation }; typedef enum PSI_file_operation PSI_file_operation; -/** IO operation performed on an instrumented table. */ -enum PSI_table_io_operation -{ - /** Row fetch. */ - PSI_TABLE_FETCH_ROW= 0, - /** Row write. */ - PSI_TABLE_WRITE_ROW= 1, - /** Row update. */ - PSI_TABLE_UPDATE_ROW= 2, - /** Row delete. */ - PSI_TABLE_DELETE_ROW= 3 -}; -typedef enum PSI_table_io_operation PSI_table_io_operation; - /** Lock operation performed on an instrumented table. */ enum PSI_table_lock_operation { @@ -532,7 +798,10 @@ typedef unsigned int PSI_thread_key; To instrument a file, a file key must be obtained using @c register_file. Using a zero key always disable the instrumentation. */ +#ifndef PSI_FILE_KEY_DEFINED typedef unsigned int PSI_file_key; +#define PSI_FILE_KEY_DEFINED +#endif /** Instrumented stage key. @@ -555,44 +824,6 @@ typedef unsigned int PSI_statement_key; */ typedef unsigned int PSI_socket_key; -/** - @def USE_PSI_1 - Define USE_PSI_1 to use the interface version 1. -*/ - -/** - @def USE_PSI_2 - Define USE_PSI_2 to use the interface version 2. -*/ - -/** - @def HAVE_PSI_1 - Define HAVE_PSI_1 if the interface version 1 needs to be compiled in. -*/ - -/** - @def HAVE_PSI_2 - Define HAVE_PSI_2 if the interface version 2 needs to be compiled in. -*/ - -/** - Global flag. - This flag indicate that an instrumentation point is a global variable, - or a singleton. -*/ -#define PSI_FLAG_GLOBAL (1 << 0) - -/** - Global flag. - This flag indicate that an instrumentation point is a general placeholder, - that can mutate into a more specific instrumentation point. -*/ -#define PSI_FLAG_MUTABLE (1 << 1) - -#ifdef USE_PSI_1 -#define HAVE_PSI_1 -#endif - #ifdef HAVE_PSI_1 /** @@ -622,6 +853,7 @@ struct PSI_mutex_info_v1 */ int m_flags; }; +typedef struct PSI_mutex_info_v1 PSI_mutex_info_v1; /** Rwlock information. @@ -644,6 +876,7 @@ struct PSI_rwlock_info_v1 */ int m_flags; }; +typedef struct PSI_rwlock_info_v1 PSI_rwlock_info_v1; /** Condition information. @@ -666,6 +899,7 @@ struct PSI_cond_info_v1 */ int m_flags; }; +typedef struct PSI_cond_info_v1 PSI_cond_info_v1; /** Thread instrument information. @@ -688,6 +922,7 @@ struct PSI_thread_info_v1 */ int m_flags; }; +typedef struct PSI_thread_info_v1 PSI_thread_info_v1; /** File instrument information. @@ -710,6 +945,7 @@ struct PSI_file_info_v1 */ int m_flags; }; +typedef struct PSI_file_info_v1 PSI_file_info_v1; /** Stage instrument information. @@ -725,6 +961,7 @@ struct PSI_stage_info_v1 /** The flags of the stage instrument to register. */ int m_flags; }; +typedef struct PSI_stage_info_v1 PSI_stage_info_v1; /** Statement instrument information. @@ -740,6 +977,7 @@ struct PSI_statement_info_v1 /** The flags of the statement instrument to register. */ int m_flags; }; +typedef struct PSI_statement_info_v1 PSI_statement_info_v1; /** Socket instrument information. @@ -762,6 +1000,7 @@ struct PSI_socket_info_v1 */ int m_flags; }; +typedef struct PSI_socket_info_v1 PSI_socket_info_v1; /** State data storage for @c start_idle_wait_v1_t. @@ -785,6 +1024,7 @@ struct PSI_idle_locker_state_v1 /** Internal data. */ void *m_wait; }; +typedef struct PSI_idle_locker_state_v1 PSI_idle_locker_state_v1; /** State data storage for @c start_mutex_wait_v1_t. @@ -812,6 +1052,7 @@ struct PSI_mutex_locker_state_v1 /** Internal data. */ void *m_wait; }; +typedef struct PSI_mutex_locker_state_v1 PSI_mutex_locker_state_v1; /** State data storage for @c start_rwlock_rdwait_v1_t, @c start_rwlock_wrwait_v1_t. @@ -840,6 +1081,7 @@ struct PSI_rwlock_locker_state_v1 /** Internal data. */ void *m_wait; }; +typedef struct PSI_rwlock_locker_state_v1 PSI_rwlock_locker_state_v1; /** State data storage for @c start_cond_wait_v1_t. @@ -869,6 +1111,7 @@ struct PSI_cond_locker_state_v1 /** Internal data. */ void *m_wait; }; +typedef struct PSI_cond_locker_state_v1 PSI_cond_locker_state_v1; /** State data storage for @c get_thread_file_name_locker_v1_t. @@ -904,28 +1147,23 @@ struct PSI_file_locker_state_v1 /** Internal data. */ void *m_wait; }; +typedef struct PSI_file_locker_state_v1 PSI_file_locker_state_v1; /** - State data storage for @c start_table_io_wait_v1_t, - @c start_table_lock_wait_v1_t. - This structure provide temporary storage to a table locker. + State data storage for @c start_metadata_wait_v1_t. + This structure provide temporary storage to a metadata locker. The content of this structure is considered opaque, the fields are only hints of what an implementation of the psi interface can use. This memory is provided by the instrumented code for performance reasons. - @sa start_table_io_wait_v1_t - @sa start_table_lock_wait_v1_t + @sa start_metadata_wait_v1_t */ -struct PSI_table_locker_state_v1 +struct PSI_metadata_locker_state_v1 { /** Internal state. */ uint m_flags; - /** Current io operation. */ - enum PSI_table_io_operation m_io_operation; - /** Current table handle. */ - struct PSI_table *m_table; - /** Current table share. */ - struct PSI_table_share *m_table_share; + /** Current metadata lock. */ + struct PSI_metadata_lock *m_metadata_lock; /** Current thread. */ struct PSI_thread *m_thread; /** Timer start. */ @@ -934,13 +1172,8 @@ struct PSI_table_locker_state_v1 ulonglong (*m_timer)(void); /** Internal data. */ void *m_wait; - /** - Implementation specific. - For table io, the table io index. - For table lock, the lock type. - */ - uint m_index; }; +typedef struct PSI_metadata_locker_state_v1 PSI_metadata_locker_state_v1; /* Duplicate of NAME_LEN, to avoid dependency on mysql_com.h */ #define PSI_SCHEMA_NAME_LEN (64 * 3) @@ -959,6 +1192,8 @@ struct PSI_statement_locker_state_v1 { /** Discarded flag. */ my_bool m_discarded; + /** In prepare flag. */ + my_bool m_in_prepare; /** Metric, no index used flag. */ uchar m_no_index_used; /** Metric, no good index used flag. */ @@ -1011,7 +1246,50 @@ struct PSI_statement_locker_state_v1 uint m_schema_name_length; /** Statement character set number. */ uint m_cs_number; + PSI_sp_share *m_parent_sp_share; + PSI_prepared_stmt *m_parent_prepared_stmt; }; +typedef struct PSI_statement_locker_state_v1 PSI_statement_locker_state_v1; + +/** + State data storage for @c get_thread_transaction_locker_v1_t, + @c get_thread_transaction_locker_v1_t. + This structure provide temporary storage to a transaction locker. + The content of this structure is considered opaque, + the fields are only hints of what an implementation + of the psi interface can use. + This memory is provided by the instrumented code for performance reasons. + @sa get_thread_transaction_locker_v1_t +*/ +struct PSI_transaction_locker_state_v1 +{ + /** Internal state. */ + uint m_flags; + /** Instrumentation class. */ + void *m_class; + /** Current thread. */ + struct PSI_thread *m_thread; + /** Timer start. */ + ulonglong m_timer_start; + /** Timer function. */ + ulonglong (*m_timer)(void); + /** Internal data. */ + void *m_transaction; + /** True if read-only transaction, false if read-write. */ + my_bool m_read_only; + /** True if transaction is autocommit. */ + my_bool m_autocommit; + /** Number of statements. */ + ulong m_statement_count; + /** Total number of savepoints. */ + ulong m_savepoint_count; + /** Number of rollback_to_savepoint. */ + ulong m_rollback_to_savepoint_count; + /** Number of release_savepoint. */ + ulong m_release_savepoint_count; +}; + +typedef struct PSI_transaction_locker_state_v1 PSI_transaction_locker_state_v1; /** State data storage for @c start_socket_wait_v1_t. @@ -1045,6 +1323,22 @@ struct PSI_socket_locker_state_v1 /** Internal data. */ void *m_wait; }; +typedef struct PSI_socket_locker_state_v1 PSI_socket_locker_state_v1; + +struct PSI_sp_locker_state_v1 +{ + /** Internal state. */ + uint m_flags; + /** Current thread. */ + struct PSI_thread *m_thread; + /** Timer start. */ + ulonglong m_timer_start; + /** Timer function. */ + ulonglong (*m_timer)(void); + /** Stored Procedure share. */ + PSI_sp_share* m_sp_share; +}; +typedef struct PSI_sp_locker_state_v1 PSI_sp_locker_state_v1; /* Using typedef to make reuse between PSI_v1 and PSI_v2 easier later. */ @@ -1241,7 +1535,8 @@ typedef PSI_table* (*rebind_table_v1_t) Note that the table handle is invalid after this call. @param table the table handle to close */ -typedef void (*close_table_v1_t)(struct PSI_table *table); +typedef void (*close_table_v1_t)(struct TABLE_SHARE *server_share, + struct PSI_table *table); /** Create a file instrumentation for a created file. @@ -1264,8 +1559,8 @@ typedef void (*create_file_v1_t)(PSI_file_key key, const char *name, @param arg the thread start routine argument */ typedef int (*spawn_thread_v1_t)(PSI_thread_key key, - pthread_t *thread, - const pthread_attr_t *attr, + my_thread_handle *thread, + const my_thread_attr_t *attr, void *(*start_routine)(void*), void *arg); /** @@ -1278,6 +1573,14 @@ typedef struct PSI_thread* (*new_thread_v1_t) (PSI_thread_key key, const void *identity, ulonglong thread_id); /** + Assign a THD to an instrumented thread. + @param thread the instrumented thread + @param THD the sql layer THD to assign +*/ +typedef void (*set_thread_THD_v1_t)(struct PSI_thread *thread, + THD *thd); + +/** Assign an id to an instrumented thread. @param thread the instrumented thread @param id the id to assign @@ -1286,6 +1589,13 @@ typedef void (*set_thread_id_v1_t)(struct PSI_thread *thread, ulonglong id); /** + Assign the current operating system thread id to an instrumented thread. + The operating system task id is obtained from @c gettid() + @param thread the instrumented thread +*/ +typedef void (*set_thread_os_id_v1_t)(struct PSI_thread *thread); + +/** Get the instrumentation for the running thread. For this function to return a result, the thread instrumentation must have been attached to the @@ -1308,8 +1618,8 @@ typedef void (*set_thread_user_v1_t)(const char *user, int user_len); @param host the host name @param host_len the host name length */ -typedef void (*set_thread_user_host_v1_t)(const char *user, int user_len, - const char *host, int host_len); +typedef void (*set_thread_account_v1_t)(const char *user, int user_len, + const char *host, int host_len); /** Assign a current database to the instrumented thread. @@ -1325,6 +1635,13 @@ typedef void (*set_thread_db_v1_t)(const char* db, int db_len); typedef void (*set_thread_command_v1_t)(int command); /** + Assign a connection type to the instrumented thread. + @param conn_type the connection type +*/ +typedef void (*set_connection_type_v1_t)(opaque_vio_type conn_type); + + +/** Assign a start time to the instrumented thread. @param start_time the thread start time */ @@ -1424,9 +1741,20 @@ typedef void (*signal_cond_v1_t) typedef void (*broadcast_cond_v1_t) (struct PSI_cond *cond); +/** + Record an idle instrumentation wait start event. + @param state data storage for the locker + @param file the source file name + @param line the source line number + @return an idle locker, or NULL +*/ typedef struct PSI_idle_locker* (*start_idle_wait_v1_t) (struct PSI_idle_locker_state_v1 *state, const char *src_file, uint src_line); +/** + Record an idle instrumentation wait end event. + @param locker a thread locker for the running thread +*/ typedef void (*end_idle_wait_v1_t) (struct PSI_idle_locker *locker); @@ -1518,7 +1846,7 @@ typedef void (*end_cond_wait_v1_t) @param line the source line number */ typedef struct PSI_table_locker* (*start_table_io_wait_v1_t) - (struct PSI_table_locker_state_v1 *state, + (struct PSI_table_locker_state *state, struct PSI_table *table, enum PSI_table_io_operation op, uint index, @@ -1527,8 +1855,11 @@ typedef struct PSI_table_locker* (*start_table_io_wait_v1_t) /** Record a table instrumentation io wait end event. @param locker a table locker for the running thread + @param numrows the number of rows involved in io */ -typedef void (*end_table_io_wait_v1_t)(struct PSI_table_locker *locker); +typedef void (*end_table_io_wait_v1_t) + (struct PSI_table_locker *locker, + ulonglong numrows); /** Record a table instrumentation lock wait start event. @@ -1537,7 +1868,7 @@ typedef void (*end_table_io_wait_v1_t)(struct PSI_table_locker *locker); @param line the source line number */ typedef struct PSI_table_locker* (*start_table_lock_wait_v1_t) - (struct PSI_table_locker_state_v1 *state, + (struct PSI_table_locker_state *state, struct PSI_table *table, enum PSI_table_lock_operation op, ulong flags, @@ -1549,6 +1880,8 @@ typedef struct PSI_table_locker* (*start_table_lock_wait_v1_t) */ typedef void (*end_table_lock_wait_v1_t)(struct PSI_table_locker *locker); +typedef void (*unlock_table_v1_t)(struct PSI_table *table); + /** Start a file instrumentation open operation. @param locker the file locker @@ -1577,6 +1910,15 @@ typedef void (*end_file_open_wait_and_bind_to_descriptor_v1_t) (struct PSI_file_locker *locker, File file); /** + End a file instrumentation open operation, for non stream temporary files. + @param locker the file locker. + @param file the file number assigned by open() or create() for this file. + @param filename the file name generated during temporary file creation. +*/ +typedef void (*end_temp_file_open_wait_and_bind_to_descriptor_v1_t) + (struct PSI_file_locker *locker, File file, const char *filename); + +/** Record a file instrumentation start event. @param locker a file locker for the running thread @param op file operation to be performed @@ -1627,10 +1969,13 @@ typedef void (*end_file_close_wait_v1_t) @param key the key of the new stage @param src_file the source file name @param src_line the source line number + @return the new stage progress */ -typedef void (*start_stage_v1_t) +typedef PSI_stage_progress* (*start_stage_v1_t) (PSI_stage_key key, const char *src_file, int src_line); +typedef PSI_stage_progress* (*get_current_stage_progress_v1_t)(void); + /** End the current stage. */ typedef void (*end_stage_v1_t) (void); @@ -1643,7 +1988,7 @@ typedef void (*end_stage_v1_t) (void); */ typedef struct PSI_statement_locker* (*get_thread_statement_locker_v1_t) (struct PSI_statement_locker_state_v1 *state, - PSI_statement_key key, const void *charset); + PSI_statement_key key, const void *charset, PSI_sp_share *sp_share); /** Refine a statement locker to a more specific key. @@ -1817,6 +2162,102 @@ typedef void (*end_statement_v1_t) (struct PSI_statement_locker *locker, void *stmt_da); /** + Get a transaction instrumentation locker. + @param state data storage for the locker + @param xid the xid for this transaction + @param trxid the InnoDB transaction id + @param iso_level isolation level for this transaction + @param read_only true if transaction access mode is read-only + @param autocommit true if transaction is autocommit + @return a transaction locker, or NULL +*/ +typedef struct PSI_transaction_locker* (*get_thread_transaction_locker_v1_t) + (struct PSI_transaction_locker_state_v1 *state, const void *xid, + const ulonglong *trxid, int isolation_level, my_bool read_only, + my_bool autocommit); + +/** + Start a new transaction event. + @param locker the transaction locker for this event + @param src_file source file name + @param src_line source line number +*/ +typedef void (*start_transaction_v1_t) + (struct PSI_transaction_locker *locker, + const char *src_file, uint src_line); + +/** + Set the transaction xid. + @param locker the transaction locker for this event + @param xid the id of the XA transaction + #param xa_state is the state of the XA transaction +*/ +typedef void (*set_transaction_xid_v1_t) + (struct PSI_transaction_locker *locker, + const void *xid, int xa_state); + +/** + Set the state of the XA transaction. + @param locker the transaction locker for this event + @param xa_state the new state of the xa transaction +*/ +typedef void (*set_transaction_xa_state_v1_t) + (struct PSI_transaction_locker *locker, + int xa_state); + +/** + Set the transaction gtid. + @param locker the transaction locker for this event + @param sid the source id for the transaction, mapped from sidno + @param gtid_spec the gtid specifier for the transaction +*/ +typedef void (*set_transaction_gtid_v1_t) + (struct PSI_transaction_locker *locker, + const void *sid, const void *gtid_spec); + +/** + Set the transaction trx_id. + @param locker the transaction locker for this event + @param trxid the storage engine transaction ID +*/ +typedef void (*set_transaction_trxid_v1_t) + (struct PSI_transaction_locker *locker, + const ulonglong *trxid); + +/** + Increment a transaction event savepoint count. + @param locker the transaction locker + @param count the increment value +*/ +typedef void (*inc_transaction_savepoints_v1_t) + (struct PSI_transaction_locker *locker, ulong count); + +/** + Increment a transaction event rollback to savepoint count. + @param locker the transaction locker + @param count the increment value +*/ +typedef void (*inc_transaction_rollback_to_savepoint_v1_t) + (struct PSI_transaction_locker *locker, ulong count); + +/** + Increment a transaction event release savepoint count. + @param locker the transaction locker + @param count the increment value +*/ +typedef void (*inc_transaction_release_savepoint_v1_t) + (struct PSI_transaction_locker *locker, ulong count); + +/** + Commit or rollback the transaction. + @param locker the transaction locker for this event + @param commit true if transaction was committed, false if rolled back +*/ +typedef void (*end_transaction_v1_t) + (struct PSI_transaction_locker *locker, + my_bool commit); + +/** Record a socket instrumentation start event. @param locker a socket locker for the running thread @param op socket operation to be performed @@ -1872,23 +2313,111 @@ typedef void (*set_socket_info_v1_t)(struct PSI_socket *socket, typedef void (*set_socket_thread_owner_v1_t)(struct PSI_socket *socket); /** + Get a prepare statement. + @param locker a statement locker for the running thread. +*/ +typedef PSI_prepared_stmt* (*create_prepared_stmt_v1_t) + (void *identity, uint stmt_id, PSI_statement_locker *locker, + const char *stmt_name, size_t stmt_name_length, + const char *name, size_t length); + +/** + destroy a prepare statement. + @param prepared_stmt prepared statement. +*/ +typedef void (*destroy_prepared_stmt_v1_t) + (PSI_prepared_stmt *prepared_stmt); + +/** + repreare a prepare statement. + @param prepared_stmt prepared statement. +*/ +typedef void (*reprepare_prepared_stmt_v1_t) + (PSI_prepared_stmt *prepared_stmt); + +/** + Record a prepare statement instrumentation execute event. + @param locker a statement locker for the running thread. + @param prepared_stmt prepared statement. +*/ +typedef void (*execute_prepared_stmt_v1_t) + (PSI_statement_locker *locker, PSI_prepared_stmt* prepared_stmt); + +/** Get a digest locker for the current statement. @param locker a statement locker for the running thread */ typedef struct PSI_digest_locker * (*digest_start_v1_t) (struct PSI_statement_locker *locker); +/** + Add a token to the current digest instrumentation. + @param locker a digest locker for the current statement + @param token the lexical token to add + @param yylval the lexical token attributes +*/ typedef void (*digest_end_v1_t) (struct PSI_digest_locker *locker, const struct sql_digest_storage *digest); +typedef PSI_sp_locker* (*start_sp_v1_t) + (struct PSI_sp_locker_state_v1 *state, struct PSI_sp_share* sp_share); + +typedef void (*end_sp_v1_t) + (struct PSI_sp_locker *locker); + +typedef void (*drop_sp_v1_t) + (uint object_type, + const char *schema_name, uint schema_name_length, + const char *object_name, uint object_name_length); + +/** + Acquire a sp share instrumentation. + @param type of stored program + @param schema name of stored program + @param name of stored program + @return a stored program share instrumentation, or NULL +*/ +typedef struct PSI_sp_share* (*get_sp_share_v1_t) + (uint object_type, + const char *schema_name, uint schema_name_length, + const char *object_name, uint object_name_length); + +/** + Release a stored program share. + @param info the stored program share to release +*/ +typedef void (*release_sp_share_v1_t)(struct PSI_sp_share *share); + +typedef PSI_metadata_lock* (*create_metadata_lock_v1_t) + (void *identity, + const MDL_key *key, + opaque_mdl_type mdl_type, + opaque_mdl_duration mdl_duration, + opaque_mdl_status mdl_status, + const char *src_file, + uint src_line); + +typedef void (*set_metadata_lock_status_v1_t)(PSI_metadata_lock *lock, + opaque_mdl_status mdl_status); + +typedef void (*destroy_metadata_lock_v1_t)(PSI_metadata_lock *lock); + +typedef struct PSI_metadata_locker* (*start_metadata_wait_v1_t) + (struct PSI_metadata_locker_state_v1 *state, + struct PSI_metadata_lock *mdl, + const char *src_file, uint src_line); + +typedef void (*end_metadata_wait_v1_t) + (struct PSI_metadata_locker *locker, int rc); + /** Stores an array of connection attributes @param buffer char array of length encoded connection attributes in network format - @param length legnth of the data in buffer - @param from_cs charset in which @buffer is encodded + @param length length of the data in buffer + @param from_cs charset in which @c buffer is encoded @return state - @retval non-0 attributes truncated + @retval non_0 attributes truncated @retval 0 stored the attribute */ typedef int (*set_thread_connect_attrs_v1_t)(const char *buffer, uint length, @@ -1932,6 +2461,7 @@ struct PSI_v1 init_socket_v1_t init_socket; /** @sa destroy_socket_v1_t. */ destroy_socket_v1_t destroy_socket; + /** @sa get_table_share_v1_t. */ get_table_share_v1_t get_table_share; /** @sa release_table_share_v1_t. */ @@ -1954,16 +2484,22 @@ struct PSI_v1 new_thread_v1_t new_thread; /** @sa set_thread_id_v1_t. */ set_thread_id_v1_t set_thread_id; + /** @sa set_thread_THD_v1_t. */ + set_thread_THD_v1_t set_thread_THD; + /** @sa set_thread_os_id_v1_t. */ + set_thread_os_id_v1_t set_thread_os_id; /** @sa get_thread_v1_t. */ get_thread_v1_t get_thread; /** @sa set_thread_user_v1_t. */ set_thread_user_v1_t set_thread_user; - /** @sa set_thread_user_host_v1_t. */ - set_thread_user_host_v1_t set_thread_user_host; + /** @sa set_thread_account_v1_t. */ + set_thread_account_v1_t set_thread_account; /** @sa set_thread_db_v1_t. */ set_thread_db_v1_t set_thread_db; /** @sa set_thread_command_v1_t. */ set_thread_command_v1_t set_thread_command; + /** @sa set_connection_type_v1_t. */ + set_connection_type_v1_t set_connection_type; /** @sa set_thread_start_time_v1_t. */ set_thread_start_time_v1_t set_thread_start_time; /** @sa set_thread_state_v1_t. */ @@ -2025,6 +2561,9 @@ struct PSI_v1 /** @sa end_file_open_wait_and_bind_to_descriptor_v1_t. */ end_file_open_wait_and_bind_to_descriptor_v1_t end_file_open_wait_and_bind_to_descriptor; + /** @sa end_temp_file_open_wait_and_bind_to_descriptor_v1_t. */ + end_temp_file_open_wait_and_bind_to_descriptor_v1_t + end_temp_file_open_wait_and_bind_to_descriptor; /** @sa start_file_wait_v1_t. */ start_file_wait_v1_t start_file_wait; /** @sa end_file_wait_v1_t. */ @@ -2035,6 +2574,8 @@ struct PSI_v1 end_file_close_wait_v1_t end_file_close_wait; /** @sa start_stage_v1_t. */ start_stage_v1_t start_stage; + /** @sa get_current_stage_progress_v1_t. */ + get_current_stage_progress_v1_t get_current_stage_progress; /** @sa end_stage_v1_t. */ end_stage_v1_t end_stage; /** @sa get_thread_statement_locker_v1_t. */ @@ -2079,6 +2620,26 @@ struct PSI_v1 set_statement_no_good_index_used_t set_statement_no_good_index_used; /** @sa end_statement_v1_t. */ end_statement_v1_t end_statement; + /** @sa get_thread_transaction_locker_v1_t. */ + get_thread_transaction_locker_v1_t get_thread_transaction_locker; + /** @sa start_transaction_v1_t. */ + start_transaction_v1_t start_transaction; + /** @sa set_transaction_xid_v1_t. */ + set_transaction_xid_v1_t set_transaction_xid; + /** @sa set_transaction_xa_state_v1_t. */ + set_transaction_xa_state_v1_t set_transaction_xa_state; + /** @sa set_transaction_gtid_v1_t. */ + set_transaction_gtid_v1_t set_transaction_gtid; + /** @sa set_transaction_trxid_v1_t. */ + set_transaction_trxid_v1_t set_transaction_trxid; + /** @sa inc_transaction_savepoints_v1_t. */ + inc_transaction_savepoints_v1_t inc_transaction_savepoints; + /** @sa inc_transaction_rollback_to_savepoint_v1_t. */ + inc_transaction_rollback_to_savepoint_v1_t inc_transaction_rollback_to_savepoint; + /** @sa inc_transaction_release_savepoint_v1_t. */ + inc_transaction_release_savepoint_v1_t inc_transaction_release_savepoint; + /** @sa end_transaction_v1_t. */ + end_transaction_v1_t end_transaction; /** @sa start_socket_wait_v1_t. */ start_socket_wait_v1_t start_socket_wait; /** @sa end_socket_wait_v1_t. */ @@ -2089,12 +2650,49 @@ struct PSI_v1 set_socket_info_v1_t set_socket_info; /** @sa set_socket_thread_owner_v1_t. */ set_socket_thread_owner_v1_t set_socket_thread_owner; + /** @sa create_prepared_stmt_v1_t. */ + create_prepared_stmt_v1_t create_prepared_stmt; + /** @sa destroy_prepared_stmt_v1_t. */ + destroy_prepared_stmt_v1_t destroy_prepared_stmt; + /** @sa reprepare_prepared_stmt_v1_t. */ + reprepare_prepared_stmt_v1_t reprepare_prepared_stmt; + /** @sa execute_prepared_stmt_v1_t. */ + execute_prepared_stmt_v1_t execute_prepared_stmt; /** @sa digest_start_v1_t. */ digest_start_v1_t digest_start; /** @sa digest_end_v1_t. */ digest_end_v1_t digest_end; /** @sa set_thread_connect_attrs_v1_t. */ set_thread_connect_attrs_v1_t set_thread_connect_attrs; + /** @sa start_sp_v1_t. */ + start_sp_v1_t start_sp; + /** @sa start_sp_v1_t. */ + end_sp_v1_t end_sp; + /** @sa drop_sp_v1_t. */ + drop_sp_v1_t drop_sp; + /** @sa get_sp_share_v1_t. */ + get_sp_share_v1_t get_sp_share; + /** @sa release_sp_share_v1_t. */ + release_sp_share_v1_t release_sp_share; + /** @sa register_memory_v1_t. */ + register_memory_v1_t register_memory; + /** @sa memory_alloc_v1_t. */ + memory_alloc_v1_t memory_alloc; + /** @sa memory_realloc_v1_t. */ + memory_realloc_v1_t memory_realloc; + /** @sa memory_claim_v1_t. */ + memory_claim_v1_t memory_claim; + /** @sa memory_free_v1_t. */ + memory_free_v1_t memory_free; + + unlock_table_v1_t unlock_table; + + create_metadata_lock_v1_t create_metadata_lock; + set_metadata_lock_status_v1_t set_metadata_lock_status; + destroy_metadata_lock_v1_t destroy_metadata_lock; + + start_metadata_wait_v1_t start_metadata_wait; + end_metadata_wait_v1_t end_metadata_wait; }; /** @} (end of group Group_PSI_v1) */ @@ -2175,6 +2773,13 @@ struct PSI_statement_info_v2 }; /** Placeholder */ +struct PSI_transaction_info_v2 +{ + /** Placeholder */ + int placeholder; +}; + +/** Placeholder */ struct PSI_idle_locker_state_v2 { /** Placeholder */ @@ -2210,14 +2815,14 @@ struct PSI_file_locker_state_v2 }; /** Placeholder */ -struct PSI_table_locker_state_v2 +struct PSI_statement_locker_state_v2 { /** Placeholder */ int placeholder; }; /** Placeholder */ -struct PSI_statement_locker_state_v2 +struct PSI_transaction_locker_state_v2 { /** Placeholder */ int placeholder; @@ -2230,6 +2835,11 @@ struct PSI_socket_locker_state_v2 int placeholder; }; +struct PSI_metadata_locker_state_v2 +{ + int placeholder; +}; + /** @} (end of group Group_PSI_v2) */ #endif /* HAVE_PSI_2 */ @@ -2275,15 +2885,18 @@ typedef struct PSI_thread_info_v1 PSI_thread_info; typedef struct PSI_file_info_v1 PSI_file_info; typedef struct PSI_stage_info_v1 PSI_stage_info; typedef struct PSI_statement_info_v1 PSI_statement_info; +typedef struct PSI_transaction_info_v1 PSI_transaction_info; typedef struct PSI_socket_info_v1 PSI_socket_info; typedef struct PSI_idle_locker_state_v1 PSI_idle_locker_state; typedef struct PSI_mutex_locker_state_v1 PSI_mutex_locker_state; typedef struct PSI_rwlock_locker_state_v1 PSI_rwlock_locker_state; typedef struct PSI_cond_locker_state_v1 PSI_cond_locker_state; typedef struct PSI_file_locker_state_v1 PSI_file_locker_state; -typedef struct PSI_table_locker_state_v1 PSI_table_locker_state; typedef struct PSI_statement_locker_state_v1 PSI_statement_locker_state; +typedef struct PSI_transaction_locker_state_v1 PSI_transaction_locker_state; typedef struct PSI_socket_locker_state_v1 PSI_socket_locker_state; +typedef struct PSI_sp_locker_state_v1 PSI_sp_locker_state; +typedef struct PSI_metadata_locker_state_v1 PSI_metadata_locker_state; #endif #ifdef USE_PSI_2 @@ -2295,15 +2908,18 @@ typedef struct PSI_thread_info_v2 PSI_thread_info; typedef struct PSI_file_info_v2 PSI_file_info; typedef struct PSI_stage_info_v2 PSI_stage_info; typedef struct PSI_statement_info_v2 PSI_statement_info; +typedef struct PSI_transaction_info_v2 PSI_transaction_info; typedef struct PSI_socket_info_v2 PSI_socket_info; typedef struct PSI_idle_locker_state_v2 PSI_idle_locker_state; typedef struct PSI_mutex_locker_state_v2 PSI_mutex_locker_state; typedef struct PSI_rwlock_locker_state_v2 PSI_rwlock_locker_state; typedef struct PSI_cond_locker_state_v2 PSI_cond_locker_state; typedef struct PSI_file_locker_state_v2 PSI_file_locker_state; -typedef struct PSI_table_locker_state_v2 PSI_table_locker_state; typedef struct PSI_statement_locker_state_v2 PSI_statement_locker_state; +typedef struct PSI_transaction_locker_state_v2 PSI_transaction_locker_state; typedef struct PSI_socket_locker_state_v2 PSI_socket_locker_state; +typedef struct PSI_sp_locker_state_v2 PSI_sp_locker_state; +typedef struct PSI_metadata_locker_state_v2 PSI_metadata_locker_state; #endif #else /* HAVE_PSI_INTERFACE */ @@ -2355,50 +2971,6 @@ extern MYSQL_PLUGIN_IMPORT PSI *PSI_server; make a dynamic call using the PSI_server function pointer. */ -#ifndef PSI_MUTEX_CALL -#define PSI_MUTEX_CALL(M) PSI_DYNAMIC_CALL(M) -#endif - -#ifndef PSI_RWLOCK_CALL -#define PSI_RWLOCK_CALL(M) PSI_DYNAMIC_CALL(M) -#endif - -#ifndef PSI_COND_CALL -#define PSI_COND_CALL(M) PSI_DYNAMIC_CALL(M) -#endif - -#ifndef PSI_THREAD_CALL -#define PSI_THREAD_CALL(M) PSI_DYNAMIC_CALL(M) -#endif - -#ifndef PSI_FILE_CALL -#define PSI_FILE_CALL(M) PSI_DYNAMIC_CALL(M) -#endif - -#ifndef PSI_SOCKET_CALL -#define PSI_SOCKET_CALL(M) PSI_DYNAMIC_CALL(M) -#endif - -#ifndef PSI_STAGE_CALL -#define PSI_STAGE_CALL(M) PSI_DYNAMIC_CALL(M) -#endif - -#ifndef PSI_STATEMENT_CALL -#define PSI_STATEMENT_CALL(M) PSI_DYNAMIC_CALL(M) -#endif - -#ifndef PSI_DIGEST_CALL -#define PSI_DIGEST_CALL(M) PSI_DYNAMIC_CALL(M) -#endif - -#ifndef PSI_TABLE_CALL -#define PSI_TABLE_CALL(M) PSI_DYNAMIC_CALL(M) -#endif - -#ifndef PSI_IDLE_CALL -#define PSI_IDLE_CALL(M) PSI_DYNAMIC_CALL(M) -#endif - #define PSI_DYNAMIC_CALL(M) PSI_server->M /** @} */ diff --git a/include/mysql/psi/psi_abi_v0.h b/include/mysql/psi/psi_abi_v0.h index 7444cb0b276..cb6e225246d 100644 --- a/include/mysql/psi/psi_abi_v0.h +++ b/include/mysql/psi/psi_abi_v0.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,6 +19,6 @@ This file is only used to automate detection of changes between versions. Do not include this file, include mysql/psi/psi.h instead. */ -#define _global_h +#define MY_GLOBAL_INCLUDED #include "mysql/psi/psi.h" diff --git a/include/mysql/psi/psi_abi_v0.h.pp b/include/mysql/psi/psi_abi_v0.h.pp index 17d61016a68..47dc72b7ecb 100644 --- a/include/mysql/psi/psi_abi_v0.h.pp +++ b/include/mysql/psi/psi_abi_v0.h.pp @@ -1,7 +1,23 @@ #include "mysql/psi/psi.h" +#include "psi_base.h" +#include "psi_memory.h" +#include "psi_base.h" +struct PSI_thread; +typedef unsigned int PSI_memory_key; C_MODE_START +struct MDL_key; +typedef struct MDL_key MDL_key; +typedef int opaque_mdl_type; +typedef int opaque_mdl_duration; +typedef int opaque_mdl_status; +typedef int opaque_vio_type; struct TABLE_SHARE; struct sql_digest_storage; + struct opaque_THD + { + int dummy; + }; + typedef struct opaque_THD THD; struct PSI_mutex; typedef struct PSI_mutex PSI_mutex; struct PSI_rwlock; @@ -18,14 +34,51 @@ struct PSI_file; typedef struct PSI_file PSI_file; struct PSI_socket; typedef struct PSI_socket PSI_socket; +struct PSI_prepared_stmt; +typedef struct PSI_prepared_stmt PSI_prepared_stmt; struct PSI_table_locker; typedef struct PSI_table_locker PSI_table_locker; struct PSI_statement_locker; typedef struct PSI_statement_locker PSI_statement_locker; +struct PSI_transaction_locker; +typedef struct PSI_transaction_locker PSI_transaction_locker; struct PSI_idle_locker; typedef struct PSI_idle_locker PSI_idle_locker; struct PSI_digest_locker; typedef struct PSI_digest_locker PSI_digest_locker; +struct PSI_sp_share; +typedef struct PSI_sp_share PSI_sp_share; +struct PSI_sp_locker; +typedef struct PSI_sp_locker PSI_sp_locker; +struct PSI_metadata_lock; +typedef struct PSI_metadata_lock PSI_metadata_lock; +struct PSI_stage_progress +{ + ulonglong m_work_completed; + ulonglong m_work_estimated; +}; +typedef struct PSI_stage_progress PSI_stage_progress; +enum PSI_table_io_operation +{ + PSI_TABLE_FETCH_ROW= 0, + PSI_TABLE_WRITE_ROW= 1, + PSI_TABLE_UPDATE_ROW= 2, + PSI_TABLE_DELETE_ROW= 3 +}; +typedef enum PSI_table_io_operation PSI_table_io_operation; +struct PSI_table_locker_state +{ + uint m_flags; + enum PSI_table_io_operation m_io_operation; + struct PSI_table *m_table; + struct PSI_table_share *m_table_share; + struct PSI_thread *m_thread; + ulonglong m_timer_start; + ulonglong (*m_timer)(void); + void *m_wait; + uint m_index; +}; +typedef struct PSI_table_locker_state PSI_table_locker_state; struct PSI_bootstrap { void* (*get_interface)(int version); diff --git a/include/mysql/psi/psi_abi_v1.h.pp b/include/mysql/psi/psi_abi_v1.h.pp index 2e2d7a79fe1..f96c944df8e 100644 --- a/include/mysql/psi/psi_abi_v1.h.pp +++ b/include/mysql/psi/psi_abi_v1.h.pp @@ -1,7 +1,41 @@ #include "mysql/psi/psi.h" +#include "psi_base.h" +#include "psi_memory.h" +#include "psi_base.h" +struct PSI_thread; +typedef unsigned int PSI_memory_key; +struct PSI_memory_info_v1 +{ + PSI_memory_key *m_key; + const char *m_name; + int m_flags; +}; +typedef struct PSI_memory_info_v1 PSI_memory_info_v1; +typedef void (*register_memory_v1_t) + (const char *category, struct PSI_memory_info_v1 *info, int count); +typedef PSI_memory_key (*memory_alloc_v1_t) + (PSI_memory_key key, size_t size, struct PSI_thread ** owner); +typedef PSI_memory_key (*memory_realloc_v1_t) + (PSI_memory_key key, size_t old_size, size_t new_size, struct PSI_thread ** owner); +typedef PSI_memory_key (*memory_claim_v1_t) + (PSI_memory_key key, size_t size, struct PSI_thread ** owner); +typedef void (*memory_free_v1_t) + (PSI_memory_key key, size_t size, struct PSI_thread * owner); +typedef struct PSI_memory_info_v1 PSI_memory_info; C_MODE_START +struct MDL_key; +typedef struct MDL_key MDL_key; +typedef int opaque_mdl_type; +typedef int opaque_mdl_duration; +typedef int opaque_mdl_status; +typedef int opaque_vio_type; struct TABLE_SHARE; struct sql_digest_storage; + struct opaque_THD + { + int dummy; + }; + typedef struct opaque_THD THD; struct PSI_mutex; typedef struct PSI_mutex PSI_mutex; struct PSI_rwlock; @@ -18,14 +52,51 @@ struct PSI_file; typedef struct PSI_file PSI_file; struct PSI_socket; typedef struct PSI_socket PSI_socket; +struct PSI_prepared_stmt; +typedef struct PSI_prepared_stmt PSI_prepared_stmt; struct PSI_table_locker; typedef struct PSI_table_locker PSI_table_locker; struct PSI_statement_locker; typedef struct PSI_statement_locker PSI_statement_locker; +struct PSI_transaction_locker; +typedef struct PSI_transaction_locker PSI_transaction_locker; struct PSI_idle_locker; typedef struct PSI_idle_locker PSI_idle_locker; struct PSI_digest_locker; typedef struct PSI_digest_locker PSI_digest_locker; +struct PSI_sp_share; +typedef struct PSI_sp_share PSI_sp_share; +struct PSI_sp_locker; +typedef struct PSI_sp_locker PSI_sp_locker; +struct PSI_metadata_lock; +typedef struct PSI_metadata_lock PSI_metadata_lock; +struct PSI_stage_progress +{ + ulonglong m_work_completed; + ulonglong m_work_estimated; +}; +typedef struct PSI_stage_progress PSI_stage_progress; +enum PSI_table_io_operation +{ + PSI_TABLE_FETCH_ROW= 0, + PSI_TABLE_WRITE_ROW= 1, + PSI_TABLE_UPDATE_ROW= 2, + PSI_TABLE_DELETE_ROW= 3 +}; +typedef enum PSI_table_io_operation PSI_table_io_operation; +struct PSI_table_locker_state +{ + uint m_flags; + enum PSI_table_io_operation m_io_operation; + struct PSI_table *m_table; + struct PSI_table_share *m_table_share; + struct PSI_thread *m_thread; + ulonglong m_timer_start; + ulonglong (*m_timer)(void); + void *m_wait; + uint m_index; +}; +typedef struct PSI_table_locker_state PSI_table_locker_state; struct PSI_bootstrap { void* (*get_interface)(int version); @@ -41,6 +112,8 @@ struct PSI_file_locker; typedef struct PSI_file_locker PSI_file_locker; struct PSI_socket_locker; typedef struct PSI_socket_locker PSI_socket_locker; +struct PSI_metadata_locker; +typedef struct PSI_metadata_locker PSI_metadata_locker; enum PSI_mutex_operation { PSI_MUTEX_LOCK= 0, @@ -52,7 +125,13 @@ enum PSI_rwlock_operation PSI_RWLOCK_READLOCK= 0, PSI_RWLOCK_WRITELOCK= 1, PSI_RWLOCK_TRYREADLOCK= 2, - PSI_RWLOCK_TRYWRITELOCK= 3 + PSI_RWLOCK_TRYWRITELOCK= 3, + PSI_RWLOCK_SHAREDLOCK= 4, + PSI_RWLOCK_SHAREDEXCLUSIVELOCK= 5, + PSI_RWLOCK_EXCLUSIVELOCK= 6, + PSI_RWLOCK_TRYSHAREDLOCK= 7, + PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK= 8, + PSI_RWLOCK_TRYEXCLUSIVELOCK= 9 }; typedef enum PSI_rwlock_operation PSI_rwlock_operation; enum PSI_cond_operation @@ -82,14 +161,6 @@ enum PSI_file_operation PSI_FILE_SYNC= 16 }; typedef enum PSI_file_operation PSI_file_operation; -enum PSI_table_io_operation -{ - PSI_TABLE_FETCH_ROW= 0, - PSI_TABLE_WRITE_ROW= 1, - PSI_TABLE_UPDATE_ROW= 2, - PSI_TABLE_DELETE_ROW= 3 -}; -typedef enum PSI_table_io_operation PSI_table_io_operation; enum PSI_table_lock_operation { PSI_TABLE_LOCK= 0, @@ -135,48 +206,56 @@ struct PSI_mutex_info_v1 const char *m_name; int m_flags; }; +typedef struct PSI_mutex_info_v1 PSI_mutex_info_v1; struct PSI_rwlock_info_v1 { PSI_rwlock_key *m_key; const char *m_name; int m_flags; }; +typedef struct PSI_rwlock_info_v1 PSI_rwlock_info_v1; struct PSI_cond_info_v1 { PSI_cond_key *m_key; const char *m_name; int m_flags; }; +typedef struct PSI_cond_info_v1 PSI_cond_info_v1; struct PSI_thread_info_v1 { PSI_thread_key *m_key; const char *m_name; int m_flags; }; +typedef struct PSI_thread_info_v1 PSI_thread_info_v1; struct PSI_file_info_v1 { PSI_file_key *m_key; const char *m_name; int m_flags; }; +typedef struct PSI_file_info_v1 PSI_file_info_v1; struct PSI_stage_info_v1 { PSI_stage_key m_key; const char *m_name; int m_flags; }; +typedef struct PSI_stage_info_v1 PSI_stage_info_v1; struct PSI_statement_info_v1 { PSI_statement_key m_key; const char *m_name; int m_flags; }; +typedef struct PSI_statement_info_v1 PSI_statement_info_v1; struct PSI_socket_info_v1 { PSI_socket_key *m_key; const char *m_name; int m_flags; }; +typedef struct PSI_socket_info_v1 PSI_socket_info_v1; struct PSI_idle_locker_state_v1 { uint m_flags; @@ -185,6 +264,7 @@ struct PSI_idle_locker_state_v1 ulonglong (*m_timer)(void); void *m_wait; }; +typedef struct PSI_idle_locker_state_v1 PSI_idle_locker_state_v1; struct PSI_mutex_locker_state_v1 { uint m_flags; @@ -195,6 +275,7 @@ struct PSI_mutex_locker_state_v1 ulonglong (*m_timer)(void); void *m_wait; }; +typedef struct PSI_mutex_locker_state_v1 PSI_mutex_locker_state_v1; struct PSI_rwlock_locker_state_v1 { uint m_flags; @@ -205,6 +286,7 @@ struct PSI_rwlock_locker_state_v1 ulonglong (*m_timer)(void); void *m_wait; }; +typedef struct PSI_rwlock_locker_state_v1 PSI_rwlock_locker_state_v1; struct PSI_cond_locker_state_v1 { uint m_flags; @@ -216,6 +298,7 @@ struct PSI_cond_locker_state_v1 ulonglong (*m_timer)(void); void *m_wait; }; +typedef struct PSI_cond_locker_state_v1 PSI_cond_locker_state_v1; struct PSI_file_locker_state_v1 { uint m_flags; @@ -229,21 +312,21 @@ struct PSI_file_locker_state_v1 ulonglong (*m_timer)(void); void *m_wait; }; -struct PSI_table_locker_state_v1 +typedef struct PSI_file_locker_state_v1 PSI_file_locker_state_v1; +struct PSI_metadata_locker_state_v1 { uint m_flags; - enum PSI_table_io_operation m_io_operation; - struct PSI_table *m_table; - struct PSI_table_share *m_table_share; + struct PSI_metadata_lock *m_metadata_lock; struct PSI_thread *m_thread; ulonglong m_timer_start; ulonglong (*m_timer)(void); void *m_wait; - uint m_index; }; +typedef struct PSI_metadata_locker_state_v1 PSI_metadata_locker_state_v1; struct PSI_statement_locker_state_v1 { my_bool m_discarded; + my_bool m_in_prepare; uchar m_no_index_used; uchar m_no_good_index_used; uint m_flags; @@ -270,7 +353,26 @@ struct PSI_statement_locker_state_v1 char m_schema_name[(64 * 3)]; uint m_schema_name_length; uint m_cs_number; + PSI_sp_share *m_parent_sp_share; + PSI_prepared_stmt *m_parent_prepared_stmt; +}; +typedef struct PSI_statement_locker_state_v1 PSI_statement_locker_state_v1; +struct PSI_transaction_locker_state_v1 +{ + uint m_flags; + void *m_class; + struct PSI_thread *m_thread; + ulonglong m_timer_start; + ulonglong (*m_timer)(void); + void *m_transaction; + my_bool m_read_only; + my_bool m_autocommit; + ulong m_statement_count; + ulong m_savepoint_count; + ulong m_rollback_to_savepoint_count; + ulong m_release_savepoint_count; }; +typedef struct PSI_transaction_locker_state_v1 PSI_transaction_locker_state_v1; struct PSI_socket_locker_state_v1 { uint m_flags; @@ -284,6 +386,16 @@ struct PSI_socket_locker_state_v1 int m_src_line; void *m_wait; }; +typedef struct PSI_socket_locker_state_v1 PSI_socket_locker_state_v1; +struct PSI_sp_locker_state_v1 +{ + uint m_flags; + struct PSI_thread *m_thread; + ulonglong m_timer_start; + ulonglong (*m_timer)(void); + PSI_sp_share* m_sp_share; +}; +typedef struct PSI_sp_locker_state_v1 PSI_sp_locker_state_v1; typedef void (*register_mutex_v1_t) (const char *category, struct PSI_mutex_info_v1 *info, int count); typedef void (*register_rwlock_v1_t) @@ -325,23 +437,28 @@ typedef void (*unbind_table_v1_t) (struct PSI_table *table); typedef PSI_table* (*rebind_table_v1_t) (PSI_table_share *share, const void *identity, PSI_table *table); -typedef void (*close_table_v1_t)(struct PSI_table *table); +typedef void (*close_table_v1_t)(struct TABLE_SHARE *server_share, + struct PSI_table *table); typedef void (*create_file_v1_t)(PSI_file_key key, const char *name, File file); typedef int (*spawn_thread_v1_t)(PSI_thread_key key, - pthread_t *thread, - const pthread_attr_t *attr, + my_thread_handle *thread, + const my_thread_attr_t *attr, void *(*start_routine)(void*), void *arg); typedef struct PSI_thread* (*new_thread_v1_t) (PSI_thread_key key, const void *identity, ulonglong thread_id); +typedef void (*set_thread_THD_v1_t)(struct PSI_thread *thread, + THD *thd); typedef void (*set_thread_id_v1_t)(struct PSI_thread *thread, ulonglong id); +typedef void (*set_thread_os_id_v1_t)(struct PSI_thread *thread); typedef struct PSI_thread* (*get_thread_v1_t)(void); typedef void (*set_thread_user_v1_t)(const char *user, int user_len); -typedef void (*set_thread_user_host_v1_t)(const char *user, int user_len, - const char *host, int host_len); +typedef void (*set_thread_account_v1_t)(const char *user, int user_len, + const char *host, int host_len); typedef void (*set_thread_db_v1_t)(const char* db, int db_len); typedef void (*set_thread_command_v1_t)(int command); +typedef void (*set_connection_type_v1_t)(opaque_vio_type conn_type); typedef void (*set_thread_start_time_v1_t)(time_t start_time); typedef void (*set_thread_state_v1_t)(const char* state); typedef void (*set_thread_info_v1_t)(const char* info, uint info_len); @@ -400,25 +517,30 @@ typedef struct PSI_cond_locker* (*start_cond_wait_v1_t) typedef void (*end_cond_wait_v1_t) (struct PSI_cond_locker *locker, int rc); typedef struct PSI_table_locker* (*start_table_io_wait_v1_t) - (struct PSI_table_locker_state_v1 *state, + (struct PSI_table_locker_state *state, struct PSI_table *table, enum PSI_table_io_operation op, uint index, const char *src_file, uint src_line); -typedef void (*end_table_io_wait_v1_t)(struct PSI_table_locker *locker); +typedef void (*end_table_io_wait_v1_t) + (struct PSI_table_locker *locker, + ulonglong numrows); typedef struct PSI_table_locker* (*start_table_lock_wait_v1_t) - (struct PSI_table_locker_state_v1 *state, + (struct PSI_table_locker_state *state, struct PSI_table *table, enum PSI_table_lock_operation op, ulong flags, const char *src_file, uint src_line); typedef void (*end_table_lock_wait_v1_t)(struct PSI_table_locker *locker); +typedef void (*unlock_table_v1_t)(struct PSI_table *table); typedef void (*start_file_open_wait_v1_t) (struct PSI_file_locker *locker, const char *src_file, uint src_line); typedef struct PSI_file* (*end_file_open_wait_v1_t) (struct PSI_file_locker *locker, void *result); typedef void (*end_file_open_wait_and_bind_to_descriptor_v1_t) (struct PSI_file_locker *locker, File file); +typedef void (*end_temp_file_open_wait_and_bind_to_descriptor_v1_t) + (struct PSI_file_locker *locker, File file, const char *filename); typedef void (*start_file_wait_v1_t) (struct PSI_file_locker *locker, size_t count, const char *src_file, uint src_line); @@ -428,12 +550,13 @@ typedef void (*start_file_close_wait_v1_t) (struct PSI_file_locker *locker, const char *src_file, uint src_line); typedef void (*end_file_close_wait_v1_t) (struct PSI_file_locker *locker, int rc); -typedef void (*start_stage_v1_t) +typedef PSI_stage_progress* (*start_stage_v1_t) (PSI_stage_key key, const char *src_file, int src_line); +typedef PSI_stage_progress* (*get_current_stage_progress_v1_t)(void); typedef void (*end_stage_v1_t) (void); typedef struct PSI_statement_locker* (*get_thread_statement_locker_v1_t) (struct PSI_statement_locker_state_v1 *state, - PSI_statement_key key, const void *charset); + PSI_statement_key key, const void *charset, PSI_sp_share *sp_share); typedef struct PSI_statement_locker* (*refine_statement_v1_t) (struct PSI_statement_locker *locker, PSI_statement_key key); @@ -478,6 +601,34 @@ typedef void (*set_statement_no_good_index_used_t) (struct PSI_statement_locker *locker); typedef void (*end_statement_v1_t) (struct PSI_statement_locker *locker, void *stmt_da); +typedef struct PSI_transaction_locker* (*get_thread_transaction_locker_v1_t) + (struct PSI_transaction_locker_state_v1 *state, const void *xid, + const ulonglong *trxid, int isolation_level, my_bool read_only, + my_bool autocommit); +typedef void (*start_transaction_v1_t) + (struct PSI_transaction_locker *locker, + const char *src_file, uint src_line); +typedef void (*set_transaction_xid_v1_t) + (struct PSI_transaction_locker *locker, + const void *xid, int xa_state); +typedef void (*set_transaction_xa_state_v1_t) + (struct PSI_transaction_locker *locker, + int xa_state); +typedef void (*set_transaction_gtid_v1_t) + (struct PSI_transaction_locker *locker, + const void *sid, const void *gtid_spec); +typedef void (*set_transaction_trxid_v1_t) + (struct PSI_transaction_locker *locker, + const ulonglong *trxid); +typedef void (*inc_transaction_savepoints_v1_t) + (struct PSI_transaction_locker *locker, ulong count); +typedef void (*inc_transaction_rollback_to_savepoint_v1_t) + (struct PSI_transaction_locker *locker, ulong count); +typedef void (*inc_transaction_release_savepoint_v1_t) + (struct PSI_transaction_locker *locker, ulong count); +typedef void (*end_transaction_v1_t) + (struct PSI_transaction_locker *locker, + my_bool commit); typedef struct PSI_socket_locker* (*start_socket_wait_v1_t) (struct PSI_socket_locker_state_v1 *state, struct PSI_socket *socket, @@ -493,10 +644,50 @@ typedef void (*set_socket_info_v1_t)(struct PSI_socket *socket, const struct sockaddr *addr, socklen_t addr_len); typedef void (*set_socket_thread_owner_v1_t)(struct PSI_socket *socket); +typedef PSI_prepared_stmt* (*create_prepared_stmt_v1_t) + (void *identity, uint stmt_id, PSI_statement_locker *locker, + const char *stmt_name, size_t stmt_name_length, + const char *name, size_t length); +typedef void (*destroy_prepared_stmt_v1_t) + (PSI_prepared_stmt *prepared_stmt); +typedef void (*reprepare_prepared_stmt_v1_t) + (PSI_prepared_stmt *prepared_stmt); +typedef void (*execute_prepared_stmt_v1_t) + (PSI_statement_locker *locker, PSI_prepared_stmt* prepared_stmt); typedef struct PSI_digest_locker * (*digest_start_v1_t) (struct PSI_statement_locker *locker); typedef void (*digest_end_v1_t) (struct PSI_digest_locker *locker, const struct sql_digest_storage *digest); +typedef PSI_sp_locker* (*start_sp_v1_t) + (struct PSI_sp_locker_state_v1 *state, struct PSI_sp_share* sp_share); +typedef void (*end_sp_v1_t) + (struct PSI_sp_locker *locker); +typedef void (*drop_sp_v1_t) + (uint object_type, + const char *schema_name, uint schema_name_length, + const char *object_name, uint object_name_length); +typedef struct PSI_sp_share* (*get_sp_share_v1_t) + (uint object_type, + const char *schema_name, uint schema_name_length, + const char *object_name, uint object_name_length); +typedef void (*release_sp_share_v1_t)(struct PSI_sp_share *share); +typedef PSI_metadata_lock* (*create_metadata_lock_v1_t) + (void *identity, + const MDL_key *key, + opaque_mdl_type mdl_type, + opaque_mdl_duration mdl_duration, + opaque_mdl_status mdl_status, + const char *src_file, + uint src_line); +typedef void (*set_metadata_lock_status_v1_t)(PSI_metadata_lock *lock, + opaque_mdl_status mdl_status); +typedef void (*destroy_metadata_lock_v1_t)(PSI_metadata_lock *lock); +typedef struct PSI_metadata_locker* (*start_metadata_wait_v1_t) + (struct PSI_metadata_locker_state_v1 *state, + struct PSI_metadata_lock *mdl, + const char *src_file, uint src_line); +typedef void (*end_metadata_wait_v1_t) + (struct PSI_metadata_locker *locker, int rc); typedef int (*set_thread_connect_attrs_v1_t)(const char *buffer, uint length, const void *from_cs); struct PSI_v1 @@ -528,11 +719,14 @@ struct PSI_v1 spawn_thread_v1_t spawn_thread; new_thread_v1_t new_thread; set_thread_id_v1_t set_thread_id; + set_thread_THD_v1_t set_thread_THD; + set_thread_os_id_v1_t set_thread_os_id; get_thread_v1_t get_thread; set_thread_user_v1_t set_thread_user; - set_thread_user_host_v1_t set_thread_user_host; + set_thread_account_v1_t set_thread_account; set_thread_db_v1_t set_thread_db; set_thread_command_v1_t set_thread_command; + set_connection_type_v1_t set_connection_type; set_thread_start_time_v1_t set_thread_start_time; set_thread_state_v1_t set_thread_state; set_thread_info_v1_t set_thread_info; @@ -564,11 +758,14 @@ struct PSI_v1 end_file_open_wait_v1_t end_file_open_wait; end_file_open_wait_and_bind_to_descriptor_v1_t end_file_open_wait_and_bind_to_descriptor; + end_temp_file_open_wait_and_bind_to_descriptor_v1_t + end_temp_file_open_wait_and_bind_to_descriptor; start_file_wait_v1_t start_file_wait; end_file_wait_v1_t end_file_wait; start_file_close_wait_v1_t start_file_close_wait; end_file_close_wait_v1_t end_file_close_wait; start_stage_v1_t start_stage; + get_current_stage_progress_v1_t get_current_stage_progress; end_stage_v1_t end_stage; get_thread_statement_locker_v1_t get_thread_statement_locker; refine_statement_v1_t refine_statement; @@ -591,14 +788,44 @@ struct PSI_v1 set_statement_no_index_used_t set_statement_no_index_used; set_statement_no_good_index_used_t set_statement_no_good_index_used; end_statement_v1_t end_statement; + get_thread_transaction_locker_v1_t get_thread_transaction_locker; + start_transaction_v1_t start_transaction; + set_transaction_xid_v1_t set_transaction_xid; + set_transaction_xa_state_v1_t set_transaction_xa_state; + set_transaction_gtid_v1_t set_transaction_gtid; + set_transaction_trxid_v1_t set_transaction_trxid; + inc_transaction_savepoints_v1_t inc_transaction_savepoints; + inc_transaction_rollback_to_savepoint_v1_t inc_transaction_rollback_to_savepoint; + inc_transaction_release_savepoint_v1_t inc_transaction_release_savepoint; + end_transaction_v1_t end_transaction; start_socket_wait_v1_t start_socket_wait; end_socket_wait_v1_t end_socket_wait; set_socket_state_v1_t set_socket_state; set_socket_info_v1_t set_socket_info; set_socket_thread_owner_v1_t set_socket_thread_owner; + create_prepared_stmt_v1_t create_prepared_stmt; + destroy_prepared_stmt_v1_t destroy_prepared_stmt; + reprepare_prepared_stmt_v1_t reprepare_prepared_stmt; + execute_prepared_stmt_v1_t execute_prepared_stmt; digest_start_v1_t digest_start; digest_end_v1_t digest_end; set_thread_connect_attrs_v1_t set_thread_connect_attrs; + start_sp_v1_t start_sp; + end_sp_v1_t end_sp; + drop_sp_v1_t drop_sp; + get_sp_share_v1_t get_sp_share; + release_sp_share_v1_t release_sp_share; + register_memory_v1_t register_memory; + memory_alloc_v1_t memory_alloc; + memory_realloc_v1_t memory_realloc; + memory_claim_v1_t memory_claim; + memory_free_v1_t memory_free; + unlock_table_v1_t unlock_table; + create_metadata_lock_v1_t create_metadata_lock; + set_metadata_lock_status_v1_t set_metadata_lock_status; + destroy_metadata_lock_v1_t destroy_metadata_lock; + start_metadata_wait_v1_t start_metadata_wait; + end_metadata_wait_v1_t end_metadata_wait; }; typedef struct PSI_v1 PSI; typedef struct PSI_mutex_info_v1 PSI_mutex_info; @@ -608,14 +835,17 @@ typedef struct PSI_thread_info_v1 PSI_thread_info; typedef struct PSI_file_info_v1 PSI_file_info; typedef struct PSI_stage_info_v1 PSI_stage_info; typedef struct PSI_statement_info_v1 PSI_statement_info; +typedef struct PSI_transaction_info_v1 PSI_transaction_info; typedef struct PSI_socket_info_v1 PSI_socket_info; typedef struct PSI_idle_locker_state_v1 PSI_idle_locker_state; typedef struct PSI_mutex_locker_state_v1 PSI_mutex_locker_state; typedef struct PSI_rwlock_locker_state_v1 PSI_rwlock_locker_state; typedef struct PSI_cond_locker_state_v1 PSI_cond_locker_state; typedef struct PSI_file_locker_state_v1 PSI_file_locker_state; -typedef struct PSI_table_locker_state_v1 PSI_table_locker_state; typedef struct PSI_statement_locker_state_v1 PSI_statement_locker_state; +typedef struct PSI_transaction_locker_state_v1 PSI_transaction_locker_state; typedef struct PSI_socket_locker_state_v1 PSI_socket_locker_state; +typedef struct PSI_sp_locker_state_v1 PSI_sp_locker_state; +typedef struct PSI_metadata_locker_state_v1 PSI_metadata_locker_state; extern MYSQL_PLUGIN_IMPORT PSI *PSI_server; C_MODE_END diff --git a/include/mysql/psi/psi_abi_v2.h b/include/mysql/psi/psi_abi_v2.h index 08bca609b41..bd7dd487902 100644 --- a/include/mysql/psi/psi_abi_v2.h +++ b/include/mysql/psi/psi_abi_v2.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,6 +21,6 @@ */ #define USE_PSI_2 #define HAVE_PSI_INTERFACE -#define _global_h +#define MY_GLOBAL_INCLUDED #include "mysql/psi/psi.h" diff --git a/include/mysql/psi/psi_abi_v2.h.pp b/include/mysql/psi/psi_abi_v2.h.pp index c3dba0a9b76..d67f39bbb0e 100644 --- a/include/mysql/psi/psi_abi_v2.h.pp +++ b/include/mysql/psi/psi_abi_v2.h.pp @@ -1,7 +1,28 @@ #include "mysql/psi/psi.h" +#include "psi_base.h" +#include "psi_memory.h" +#include "psi_base.h" +struct PSI_thread; +typedef unsigned int PSI_memory_key; +struct PSI_memory_info_v2 +{ + int placeholder; +}; +typedef struct PSI_memory_info_v2 PSI_memory_info; C_MODE_START +struct MDL_key; +typedef struct MDL_key MDL_key; +typedef int opaque_mdl_type; +typedef int opaque_mdl_duration; +typedef int opaque_mdl_status; +typedef int opaque_vio_type; struct TABLE_SHARE; struct sql_digest_storage; + struct opaque_THD + { + int dummy; + }; + typedef struct opaque_THD THD; struct PSI_mutex; typedef struct PSI_mutex PSI_mutex; struct PSI_rwlock; @@ -18,14 +39,51 @@ struct PSI_file; typedef struct PSI_file PSI_file; struct PSI_socket; typedef struct PSI_socket PSI_socket; +struct PSI_prepared_stmt; +typedef struct PSI_prepared_stmt PSI_prepared_stmt; struct PSI_table_locker; typedef struct PSI_table_locker PSI_table_locker; struct PSI_statement_locker; typedef struct PSI_statement_locker PSI_statement_locker; +struct PSI_transaction_locker; +typedef struct PSI_transaction_locker PSI_transaction_locker; struct PSI_idle_locker; typedef struct PSI_idle_locker PSI_idle_locker; struct PSI_digest_locker; typedef struct PSI_digest_locker PSI_digest_locker; +struct PSI_sp_share; +typedef struct PSI_sp_share PSI_sp_share; +struct PSI_sp_locker; +typedef struct PSI_sp_locker PSI_sp_locker; +struct PSI_metadata_lock; +typedef struct PSI_metadata_lock PSI_metadata_lock; +struct PSI_stage_progress +{ + ulonglong m_work_completed; + ulonglong m_work_estimated; +}; +typedef struct PSI_stage_progress PSI_stage_progress; +enum PSI_table_io_operation +{ + PSI_TABLE_FETCH_ROW= 0, + PSI_TABLE_WRITE_ROW= 1, + PSI_TABLE_UPDATE_ROW= 2, + PSI_TABLE_DELETE_ROW= 3 +}; +typedef enum PSI_table_io_operation PSI_table_io_operation; +struct PSI_table_locker_state +{ + uint m_flags; + enum PSI_table_io_operation m_io_operation; + struct PSI_table *m_table; + struct PSI_table_share *m_table_share; + struct PSI_thread *m_thread; + ulonglong m_timer_start; + ulonglong (*m_timer)(void); + void *m_wait; + uint m_index; +}; +typedef struct PSI_table_locker_state PSI_table_locker_state; struct PSI_bootstrap { void* (*get_interface)(int version); @@ -41,6 +99,8 @@ struct PSI_file_locker; typedef struct PSI_file_locker PSI_file_locker; struct PSI_socket_locker; typedef struct PSI_socket_locker PSI_socket_locker; +struct PSI_metadata_locker; +typedef struct PSI_metadata_locker PSI_metadata_locker; enum PSI_mutex_operation { PSI_MUTEX_LOCK= 0, @@ -52,7 +112,13 @@ enum PSI_rwlock_operation PSI_RWLOCK_READLOCK= 0, PSI_RWLOCK_WRITELOCK= 1, PSI_RWLOCK_TRYREADLOCK= 2, - PSI_RWLOCK_TRYWRITELOCK= 3 + PSI_RWLOCK_TRYWRITELOCK= 3, + PSI_RWLOCK_SHAREDLOCK= 4, + PSI_RWLOCK_SHAREDEXCLUSIVELOCK= 5, + PSI_RWLOCK_EXCLUSIVELOCK= 6, + PSI_RWLOCK_TRYSHAREDLOCK= 7, + PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK= 8, + PSI_RWLOCK_TRYEXCLUSIVELOCK= 9 }; typedef enum PSI_rwlock_operation PSI_rwlock_operation; enum PSI_cond_operation @@ -82,14 +148,6 @@ enum PSI_file_operation PSI_FILE_SYNC= 16 }; typedef enum PSI_file_operation PSI_file_operation; -enum PSI_table_io_operation -{ - PSI_TABLE_FETCH_ROW= 0, - PSI_TABLE_WRITE_ROW= 1, - PSI_TABLE_UPDATE_ROW= 2, - PSI_TABLE_DELETE_ROW= 3 -}; -typedef enum PSI_table_io_operation PSI_table_io_operation; enum PSI_table_lock_operation { PSI_TABLE_LOCK= 0, @@ -161,6 +219,10 @@ struct PSI_statement_info_v2 { int placeholder; }; +struct PSI_transaction_info_v2 +{ + int placeholder; +}; struct PSI_idle_locker_state_v2 { int placeholder; @@ -181,11 +243,11 @@ struct PSI_file_locker_state_v2 { int placeholder; }; -struct PSI_table_locker_state_v2 +struct PSI_statement_locker_state_v2 { int placeholder; }; -struct PSI_statement_locker_state_v2 +struct PSI_transaction_locker_state_v2 { int placeholder; }; @@ -193,6 +255,10 @@ struct PSI_socket_locker_state_v2 { int placeholder; }; +struct PSI_metadata_locker_state_v2 +{ + int placeholder; +}; typedef struct PSI_v2 PSI; typedef struct PSI_mutex_info_v2 PSI_mutex_info; typedef struct PSI_rwlock_info_v2 PSI_rwlock_info; @@ -201,14 +267,17 @@ typedef struct PSI_thread_info_v2 PSI_thread_info; typedef struct PSI_file_info_v2 PSI_file_info; typedef struct PSI_stage_info_v2 PSI_stage_info; typedef struct PSI_statement_info_v2 PSI_statement_info; +typedef struct PSI_transaction_info_v2 PSI_transaction_info; typedef struct PSI_socket_info_v2 PSI_socket_info; typedef struct PSI_idle_locker_state_v2 PSI_idle_locker_state; typedef struct PSI_mutex_locker_state_v2 PSI_mutex_locker_state; typedef struct PSI_rwlock_locker_state_v2 PSI_rwlock_locker_state; typedef struct PSI_cond_locker_state_v2 PSI_cond_locker_state; typedef struct PSI_file_locker_state_v2 PSI_file_locker_state; -typedef struct PSI_table_locker_state_v2 PSI_table_locker_state; typedef struct PSI_statement_locker_state_v2 PSI_statement_locker_state; +typedef struct PSI_transaction_locker_state_v2 PSI_transaction_locker_state; typedef struct PSI_socket_locker_state_v2 PSI_socket_locker_state; +typedef struct PSI_sp_locker_state_v2 PSI_sp_locker_state; +typedef struct PSI_metadata_locker_state_v2 PSI_metadata_locker_state; extern MYSQL_PLUGIN_IMPORT PSI *PSI_server; C_MODE_END diff --git a/include/mysql/psi/psi_base.h b/include/mysql/psi/psi_base.h new file mode 100644 index 00000000000..94cb5c9f51c --- /dev/null +++ b/include/mysql/psi/psi_base.h @@ -0,0 +1,155 @@ +/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef MYSQL_PSI_BASE_H +#define MYSQL_PSI_BASE_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + @file mysql/psi/psi_base.h + Performance schema instrumentation interface. + + @defgroup Instrumentation_interface Instrumentation Interface + @ingroup Performance_schema + @{ +*/ + +#define PSI_INSTRUMENT_ME 0 + +#define PSI_NOT_INSTRUMENTED 0 + +/** + Global flag. + This flag indicate that an instrumentation point is a global variable, + or a singleton. +*/ +#define PSI_FLAG_GLOBAL (1 << 0) + +/** + Mutable flag. + This flag indicate that an instrumentation point is a general placeholder, + that can mutate into a more specific instrumentation point. +*/ +#define PSI_FLAG_MUTABLE (1 << 1) + +#define PSI_FLAG_THREAD (1 << 2) + +/** + Stage progress flag. + This flag apply to the stage instruments only. + It indicates the instrumentation provides progress data. +*/ +#define PSI_FLAG_STAGE_PROGRESS (1 << 3) + +/** + Shared Exclusive flag. + Indicates that rwlock support the shared exclusive state. +*/ +#define PSI_RWLOCK_FLAG_SX (1 << 4) + +/** + Transferable flag. + This flag indicate that an instrumented object can + be created by a thread and destroyed by another thread. +*/ +#define PSI_FLAG_TRANSFER (1 << 5) + +/** + Volatility flag. + This flag indicate that an instrumented object + has a volatility (life cycle) comparable + to the volatility of a session. +*/ +#define PSI_FLAG_VOLATILITY_SESSION (1 << 6) + +#ifdef HAVE_PSI_INTERFACE + +/** + @def PSI_VERSION_1 + Performance Schema Interface number for version 1. + This version is supported. +*/ +#define PSI_VERSION_1 1 + +/** + @def PSI_VERSION_2 + Performance Schema Interface number for version 2. + This version is not implemented, it's a placeholder. +*/ +#define PSI_VERSION_2 2 + +/** + @def PSI_CURRENT_VERSION + Performance Schema Interface number for the most recent version. + The most current version is @c PSI_VERSION_1 +*/ +#define PSI_CURRENT_VERSION 1 + +/** + @def USE_PSI_1 + Define USE_PSI_1 to use the interface version 1. +*/ + +/** + @def USE_PSI_2 + Define USE_PSI_2 to use the interface version 2. +*/ + +/** + @def HAVE_PSI_1 + Define HAVE_PSI_1 if the interface version 1 needs to be compiled in. +*/ + +/** + @def HAVE_PSI_2 + Define HAVE_PSI_2 if the interface version 2 needs to be compiled in. +*/ + +#ifndef USE_PSI_2 +#ifndef USE_PSI_1 +#define USE_PSI_1 +#endif +#endif + +#ifdef USE_PSI_1 +#define HAVE_PSI_1 +#endif + +#ifdef USE_PSI_2 +#define HAVE_PSI_2 +#endif + +/* + Allow to override PSI_XXX_CALL at compile time + with more efficient implementations, if available. + If nothing better is available, + make a dynamic call using the PSI_server function pointer. +*/ + +#define PSI_DYNAMIC_CALL(M) PSI_server->M + +#endif /* HAVE_PSI_INTERFACE */ + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* MYSQL_PSI_BASE_H */ + diff --git a/include/mysql/psi/psi_memory.h b/include/mysql/psi/psi_memory.h new file mode 100644 index 00000000000..725b3ed77d0 --- /dev/null +++ b/include/mysql/psi/psi_memory.h @@ -0,0 +1,155 @@ +/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef MYSQL_PSI_MEMORY_H +#define MYSQL_PSI_MEMORY_H + +#include "psi_base.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + @file mysql/psi/psi_memory.h + Performance schema instrumentation interface. + + @defgroup Instrumentation_interface Instrumentation Interface + @ingroup Performance_schema + @{ +*/ + +#ifdef HAVE_PSI_INTERFACE +#ifndef DISABLE_ALL_PSI +#ifndef DISABLE_PSI_MEMORY +#define HAVE_PSI_MEMORY_INTERFACE +#endif /* DISABLE_PSI_MEMORY */ +#endif /* DISABLE_ALL_PSI */ +#endif /* HAVE_PSI_INTERFACE */ + +struct PSI_thread; + +/** + Instrumented memory key. + To instrument memory, a memory key must be obtained using @c register_memory. + Using a zero key always disable the instrumentation. +*/ +typedef unsigned int PSI_memory_key; + +#ifdef HAVE_PSI_1 + +/** + @defgroup Group_PSI_v1 Application Binary Interface, version 1 + @ingroup Instrumentation_interface + @{ +*/ + +/** + Memory instrument information. + @since PSI_VERSION_1 + This structure is used to register instrumented memory. +*/ +struct PSI_memory_info_v1 +{ + /** Pointer to the key assigned to the registered memory. */ + PSI_memory_key *m_key; + /** The name of the memory instrument to register. */ + const char *m_name; + /** + The flags of the socket instrument to register. + @sa PSI_FLAG_GLOBAL + */ + int m_flags; +}; +typedef struct PSI_memory_info_v1 PSI_memory_info_v1; + +/** + Memory registration API. + @param category a category name (typically a plugin name) + @param info an array of memory info to register + @param count the size of the info array +*/ +typedef void (*register_memory_v1_t) + (const char *category, struct PSI_memory_info_v1 *info, int count); + +/** + Instrument memory allocation. + @param key the memory instrument key + @param size the size of memory allocated + @param[out] owner the memory owner + @return the effective memory instrument key +*/ +typedef PSI_memory_key (*memory_alloc_v1_t) + (PSI_memory_key key, size_t size, struct PSI_thread ** owner); + +/** + Instrument memory re allocation. + @param key the memory instrument key + @param old_size the size of memory previously allocated + @param new_size the size of memory re allocated + @param[in, out] owner the memory owner + @return the effective memory instrument key +*/ +typedef PSI_memory_key (*memory_realloc_v1_t) + (PSI_memory_key key, size_t old_size, size_t new_size, struct PSI_thread ** owner); + +/** + Instrument memory claim. + @param key the memory instrument key + @param size the size of memory allocated + @param[in, out] owner the memory owner + @return the effective memory instrument key +*/ +typedef PSI_memory_key (*memory_claim_v1_t) + (PSI_memory_key key, size_t size, struct PSI_thread ** owner); + +/** + Instrument memory free. + @param key the memory instrument key + @param size the size of memory allocated + @param owner the memory owner +*/ +typedef void (*memory_free_v1_t) + (PSI_memory_key key, size_t size, struct PSI_thread * owner); + +/** @} (end of group Group_PSI_v1) */ + +#endif /* HAVE_PSI_1 */ + +#ifdef HAVE_PSI_2 +struct PSI_memory_info_v2 +{ + int placeholder; +}; + +#endif /* HAVE_PSI_2 */ + +#ifdef USE_PSI_1 +typedef struct PSI_memory_info_v1 PSI_memory_info; +#endif + +#ifdef USE_PSI_2 +typedef struct PSI_memory_info_v2 PSI_memory_info; +#endif + +/** @} (end of group Instrumentation_interface) */ + +#ifdef __cplusplus +} +#endif + + +#endif /* MYSQL_PSI_MEMORY_H */ + diff --git a/mysql-test/suite/perfschema/include/binlog_edge_common.inc b/mysql-test/suite/perfschema/include/binlog_edge_common.inc index 8092c9a5427..6ecd50afe08 100644 --- a/mysql-test/suite/perfschema/include/binlog_edge_common.inc +++ b/mysql-test/suite/perfschema/include/binlog_edge_common.inc @@ -148,7 +148,7 @@ drop table if exists marker_multi_delete; use my_replicated_db; insert into performance_schema.setup_actors - values ('FOO', 'FOO', 'FOO'); + values ('FOO', 'FOO', 'FOO', 'YES', 'YES'); --error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES delete my_tx_table.*, performance_schema.setup_actors.* @@ -157,7 +157,7 @@ delete my_tx_table.*, performance_schema.setup_actors.* or performance_schema.setup_actors.role='FOO'; insert into performance_schema.setup_actors - values ('BAR', 'BAR', 'BAR'); + values ('BAR', 'BAR', 'BAR', 'YES', 'YES'); --error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES delete my_non_tx_table.*, performance_schema.setup_actors.* @@ -166,7 +166,7 @@ delete my_non_tx_table.*, performance_schema.setup_actors.* or performance_schema.setup_actors.role='BAR'; insert into performance_schema.setup_actors - values ('BAZ', 'BAZ', 'BAZ'); + values ('BAZ', 'BAZ', 'BAZ', 'YES', 'YES'); --error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES delete my_bh_table.*, performance_schema.setup_actors.* @@ -184,5 +184,5 @@ drop database my_replicated_db; # Restore performance_schema.setup_actors, damaged by this script truncate table performance_schema.setup_actors; -insert into performance_schema.setup_actors values ('%', '%', '%'); +insert into performance_schema.setup_actors values ('%', '%', '%', 'YES', 'YES'); diff --git a/mysql-test/suite/perfschema/include/connection_setup.inc b/mysql-test/suite/perfschema/include/connection_setup.inc index a661d43d063..cc4413ddc49 100644 --- a/mysql-test/suite/perfschema/include/connection_setup.inc +++ b/mysql-test/suite/perfschema/include/connection_setup.inc @@ -53,11 +53,14 @@ --disable_query_log +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant ALL on *.* to user1@localhost; grant ALL on *.* to user2@localhost; grant ALL on *.* to user3@localhost; grant ALL on *.* to user4@localhost; grant ALL on *.* to user5@localhost; +set sql_mode= @orig_sql_mode; flush privileges; diff --git a/mysql-test/suite/perfschema/include/digest_execution.inc b/mysql-test/suite/perfschema/include/digest_execution.inc index 5483cca61d7..cf83bf9f51b 100644 --- a/mysql-test/suite/perfschema/include/digest_execution.inc +++ b/mysql-test/suite/perfschema/include/digest_execution.inc @@ -96,7 +96,7 @@ CREATE TABLE dup_table (c char(4)); --ERROR ER_TABLE_EXISTS_ERROR CREATE TABLE dup_table (c char(4)); DROP TABLE dup_table; -INSERT INTO t11 VALUES("MySQL"); +INSERT IGNORE INTO t11 VALUES("MySQL"); # ----------------------------------------------------------------------- # Tests to show sub-statements for following statements are not diff --git a/mysql-test/suite/perfschema/include/event_aggregate_cleanup.inc b/mysql-test/suite/perfschema/include/event_aggregate_cleanup.inc index c50394f748b..2cb8a69e4d6 100644 --- a/mysql-test/suite/perfschema/include/event_aggregate_cleanup.inc +++ b/mysql-test/suite/perfschema/include/event_aggregate_cleanup.inc @@ -36,6 +36,12 @@ drop prepare dump_statements_host; drop prepare dump_statements_history; drop prepare dump_statements_global; +drop prepare dump_transactions_account; +drop prepare dump_transactions_user; +drop prepare dump_transactions_host; +drop prepare dump_transactions_history; +drop prepare dump_transactions_global; + drop prepare dump_users; drop prepare dump_hosts; drop prepare dump_accounts; @@ -49,6 +55,7 @@ insert into performance_schema.setup_actors select * from test.setup_actors; drop table test.setup_actors; drop table test.t1; +drop function test.f; update performance_schema.threads set instrumented='YES'; update performance_schema.setup_instruments set enabled='YES', timed='YES'; diff --git a/mysql-test/suite/perfschema/include/event_aggregate_load.inc b/mysql-test/suite/perfschema/include/event_aggregate_load.inc index 4a1b3f02c03..3fd3ff9cb01 100644 --- a/mysql-test/suite/perfschema/include/event_aggregate_load.inc +++ b/mysql-test/suite/perfschema/include/event_aggregate_load.inc @@ -21,6 +21,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -33,7 +38,7 @@ execute dump_hosts; # The main thread does not count for BY_ACCOUNT / BY_HOST. # The user thread does count for BY_ACCOUNT, BY_HOST # -# Each get_lock() causes 1 wait/synch/mutex/sql/LOCK_user_locks +# Each uuid_short() causes 1 wait/synch/mutex/sql/LOCK_uuid_generator # # To avoid noise from main, the background threads are disabled. @@ -66,15 +71,23 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; --connection con1 -select get_lock("marker", 10); -select release_lock("marker"); +select uuid_short() <> 1; +select uuid_short() <> 1; +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); echo "================== con1 marker =================="; @@ -103,6 +116,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -140,15 +158,23 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; --connection con2 -select get_lock("marker", 10); -select release_lock("marker"); +select uuid_short() <> 1; +select uuid_short() <> 1; +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); echo "================== con2 marker =================="; @@ -177,6 +203,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -210,15 +241,23 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; --connection con3 -select get_lock("marker", 10); -select release_lock("marker"); +select uuid_short() <> 1; +select uuid_short() <> 1; +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); echo "================== con3 marker =================="; @@ -247,6 +286,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -280,15 +324,23 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; --connection con4 -select get_lock("marker", 10); -select release_lock("marker"); +select uuid_short() <> 1; +select uuid_short() <> 1; +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); echo "================== con4 marker =================="; @@ -317,6 +369,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -350,6 +407,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -383,6 +445,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -416,6 +483,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -449,6 +521,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -476,6 +553,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -501,6 +583,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -526,6 +613,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -551,6 +643,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -576,6 +673,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -601,6 +703,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -626,6 +733,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -651,6 +763,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -676,6 +793,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -701,6 +823,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -726,6 +853,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -751,6 +883,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -776,6 +913,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -801,6 +943,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -826,6 +973,161 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.events_transactions_summary_by_thread_by_event_name; + +echo "================== TRANSACTIONS_BY_THREAD truncated =================="; + +echo "================== Step 29 =================="; +call dump_thread(); +execute dump_waits_account; +execute dump_waits_user; +execute dump_waits_host; +execute dump_waits_global; +execute dump_waits_history; +execute dump_stages_account; +execute dump_stages_user; +execute dump_stages_host; +execute dump_stages_global; +execute dump_stages_history; +execute dump_statements_account; +execute dump_statements_user; +execute dump_statements_host; +execute dump_statements_global; +execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.events_transactions_summary_by_account_by_event_name; + +echo "================== TRANSACTIONS_BY_ACCOUNT truncated =================="; + +echo "================== Step 30 =================="; +call dump_thread(); +execute dump_waits_account; +execute dump_waits_user; +execute dump_waits_host; +execute dump_waits_global; +execute dump_waits_history; +execute dump_stages_account; +execute dump_stages_user; +execute dump_stages_host; +execute dump_stages_global; +execute dump_stages_history; +execute dump_statements_account; +execute dump_statements_user; +execute dump_statements_host; +execute dump_statements_global; +execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.events_transactions_summary_by_user_by_event_name; + +echo "================== TRANSACTIONS_BY_USER truncated =================="; + +echo "================== Step 31 =================="; +call dump_thread(); +execute dump_waits_account; +execute dump_waits_user; +execute dump_waits_host; +execute dump_waits_global; +execute dump_waits_history; +execute dump_stages_account; +execute dump_stages_user; +execute dump_stages_host; +execute dump_stages_global; +execute dump_stages_history; +execute dump_statements_account; +execute dump_statements_user; +execute dump_statements_host; +execute dump_statements_global; +execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.events_transactions_summary_by_host_by_event_name; + +echo "================== TRANSACTIONS_BY_HOST truncated =================="; + +echo "================== Step 32 =================="; +call dump_thread(); +execute dump_waits_account; +execute dump_waits_user; +execute dump_waits_host; +execute dump_waits_global; +execute dump_waits_history; +execute dump_stages_account; +execute dump_stages_user; +execute dump_stages_host; +execute dump_stages_global; +execute dump_stages_history; +execute dump_statements_account; +execute dump_statements_user; +execute dump_statements_host; +execute dump_statements_global; +execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.events_transactions_summary_global_by_event_name; + +echo "================== TRANSACTIONS_GLOBAL truncated =================="; + +echo "================== Step 33 =================="; +call dump_thread(); +execute dump_waits_account; +execute dump_waits_user; +execute dump_waits_host; +execute dump_waits_global; +execute dump_waits_history; +execute dump_stages_account; +execute dump_stages_user; +execute dump_stages_host; +execute dump_stages_global; +execute dump_stages_history; +execute dump_statements_account; +execute dump_statements_user; +execute dump_statements_host; +execute dump_statements_global; +execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -834,7 +1136,7 @@ truncate performance_schema.accounts; echo "================== ACCOUNTS truncated =================="; -echo "================== Step 29 =================="; +echo "================== Step 34 =================="; call dump_thread(); execute dump_waits_account; execute dump_waits_user; @@ -851,6 +1153,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -859,7 +1166,7 @@ truncate performance_schema.users; echo "================== USERS truncated =================="; -echo "================== Step 30 =================="; +echo "================== Step 35 =================="; call dump_thread(); execute dump_waits_account; execute dump_waits_user; @@ -876,6 +1183,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; @@ -884,7 +1196,7 @@ truncate performance_schema.hosts; echo "================== HOSTS truncated =================="; -echo "================== Step 31 =================="; +echo "================== Step 36 =================="; call dump_thread(); execute dump_waits_account; execute dump_waits_user; @@ -901,6 +1213,11 @@ execute dump_statements_user; execute dump_statements_host; execute dump_statements_global; execute dump_statements_history; +execute dump_transactions_account; +execute dump_transactions_user; +execute dump_transactions_host; +execute dump_transactions_global; +execute dump_transactions_history; execute dump_accounts; execute dump_users; execute dump_hosts; diff --git a/mysql-test/suite/perfschema/include/event_aggregate_setup.inc b/mysql-test/suite/perfschema/include/event_aggregate_setup.inc index ec35e60d463..33f801c22a6 100644 --- a/mysql-test/suite/perfschema/include/event_aggregate_setup.inc +++ b/mysql-test/suite/perfschema/include/event_aggregate_setup.inc @@ -19,11 +19,16 @@ # - events_statements_summary_by_account_by_event_name # - events_statements_summary_by_user_by_event_name # - events_statements_summary_by_host_by_event_name +# - events_transactions_summary_by_thread_by_event_name +# - events_transactions_summary_by_account_by_event_name +# - events_transactions_summary_by_user_by_event_name +# - events_transactions_summary_by_host_by_event_name # # Globally: # - events_waits_summary_global_by_event_name # - events_stages_summary_global_by_event_name # - events_statements_summary_global_by_event_name +# - events_transactions_summary_global_by_event_name # # The tests are written with the following helpers: # - include/event_aggregate_setup.inc @@ -67,10 +72,13 @@ --disable_query_log +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant ALL on *.* to user1@localhost; grant ALL on *.* to user2@localhost; grant ALL on *.* to user3@localhost; grant ALL on *.* to user4@localhost; +set sql_mode= @orig_sql_mode; flush privileges; @@ -87,6 +95,8 @@ drop table if exists test.t1; --enable_warnings create table test.t1(a varchar(64)); +create function test.f(a int, b int) returns int +return a+b; create table test.setup_actors as select * from performance_schema.setup_actors; @@ -109,13 +119,14 @@ update performance_schema.setup_instruments set enabled='NO', timed='NO'; update performance_schema.setup_instruments set enabled='YES', timed='YES' where name in ('wait/synch/mutex/sql/LOCK_connection_count', - 'wait/synch/mutex/sql/LOCK_user_locks', + 'wait/synch/mutex/sql/LOCK_uuid_generator', 'wait/synch/rwlock/sql/LOCK_grant', 'wait/io/file/sql/query_log', 'idle'); update performance_schema.setup_instruments set enabled='YES', timed='YES' - where name in ('stage/sql/init', + where name in ('stage/sql/starting', + 'stage/sql/init', 'stage/sql/checking permissions', 'stage/sql/Opening tables', 'stage/sql/closing tables'); @@ -126,7 +137,11 @@ update performance_schema.setup_instruments set enabled='YES', timed='YES' 'statement/abstract/new_packet', 'statement/abstract/Query', 'statement/com/Quit', - 'statement/com/error'); + 'statement/com/error', + 'statement/sp/freturn'); + +update performance_schema.setup_instruments set enabled='YES', timed='YES' + where name in ('transaction'); # Start from a known clean state, to avoid noise from previous tests flush tables; @@ -152,6 +167,13 @@ truncate performance_schema.events_statements_summary_by_host_by_event_name; truncate performance_schema.events_statements_summary_global_by_event_name; truncate performance_schema.events_statements_history_long; +truncate performance_schema.events_transactions_summary_by_thread_by_event_name; +truncate performance_schema.events_transactions_summary_by_account_by_event_name; +truncate performance_schema.events_transactions_summary_by_user_by_event_name; +truncate performance_schema.events_transactions_summary_by_host_by_event_name; +truncate performance_schema.events_transactions_summary_global_by_event_name; +truncate performance_schema.events_transactions_history_long; + --disable_warnings drop procedure if exists dump_thread; drop procedure if exists dump_one_thread; @@ -179,7 +201,7 @@ begin select username, event_name, count_star from performance_schema.events_waits_summary_by_thread_by_event_name where event_name in ('wait/synch/mutex/sql/LOCK_connection_count', - 'wait/synch/mutex/sql/LOCK_user_locks', + 'wait/synch/mutex/sql/LOCK_uuid_generator', 'wait/synch/rwlock/sql/LOCK_grant', 'wait/io/file/sql/query_log') and thread_id = my_thread_id @@ -197,7 +219,7 @@ prepare dump_waits_account from from performance_schema.events_waits_summary_by_account_by_event_name where user like \'user%\' and event_name in ('wait/synch/mutex/sql/LOCK_connection_count', - 'wait/synch/mutex/sql/LOCK_user_locks', + 'wait/synch/mutex/sql/LOCK_uuid_generator', 'wait/synch/rwlock/sql/LOCK_grant', 'wait/io/file/sql/query_log') order by user, host, event_name;"; @@ -207,7 +229,7 @@ prepare dump_waits_user from from performance_schema.events_waits_summary_by_user_by_event_name where user like \'user%\' and event_name in ('wait/synch/mutex/sql/LOCK_connection_count', - 'wait/synch/mutex/sql/LOCK_user_locks', + 'wait/synch/mutex/sql/LOCK_uuid_generator', 'wait/synch/rwlock/sql/LOCK_grant', 'wait/io/file/sql/query_log') order by user, event_name;"; @@ -217,7 +239,7 @@ prepare dump_waits_host from from performance_schema.events_waits_summary_by_host_by_event_name where host=\'localhost\' and event_name in ('wait/synch/mutex/sql/LOCK_connection_count', - 'wait/synch/mutex/sql/LOCK_user_locks', + 'wait/synch/mutex/sql/LOCK_uuid_generator', 'wait/synch/rwlock/sql/LOCK_grant', 'wait/io/file/sql/query_log') order by host, event_name;"; @@ -226,7 +248,7 @@ prepare dump_waits_global from "select event_name, count_star from performance_schema.events_waits_summary_global_by_event_name where event_name in ('wait/synch/mutex/sql/LOCK_connection_count', - 'wait/synch/mutex/sql/LOCK_user_locks', + 'wait/synch/mutex/sql/LOCK_uuid_generator', 'wait/synch/rwlock/sql/LOCK_grant', 'wait/io/file/sql/query_log') order by event_name;"; @@ -235,7 +257,7 @@ prepare dump_waits_history from "select event_name, count(event_name) from performance_schema.events_waits_history_long where event_name in ('wait/synch/mutex/sql/LOCK_connection_count', - 'wait/synch/mutex/sql/LOCK_user_locks', + 'wait/synch/mutex/sql/LOCK_uuid_generator', 'wait/synch/rwlock/sql/LOCK_grant', 'wait/io/file/sql/query_log') group by event_name order by event_name;"; @@ -244,7 +266,8 @@ prepare dump_stages_account from "select user, host, event_name, count_star from performance_schema.events_stages_summary_by_account_by_event_name where user like \'user%\' - and event_name in ('stage/sql/init', + and event_name in ('stage/sql/starting', + 'stage/sql/init', 'stage/sql/checking permissions', 'stage/sql/Opening tables', 'stage/sql/closing tables') @@ -254,7 +277,8 @@ prepare dump_stages_user from "select user, event_name, count_star from performance_schema.events_stages_summary_by_user_by_event_name where user like \'user%\' - and event_name in ('stage/sql/init', + and event_name in ('stage/sql/starting', + 'stage/sql/init', 'stage/sql/checking permissions', 'stage/sql/Opening tables', 'stage/sql/closing tables') @@ -264,7 +288,8 @@ prepare dump_stages_host from "select host, event_name, count_star from performance_schema.events_stages_summary_by_host_by_event_name where host=\'localhost\' - and event_name in ('stage/sql/init', + and event_name in ('stage/sql/starting', + 'stage/sql/init', 'stage/sql/checking permissions', 'stage/sql/Opening tables', 'stage/sql/closing tables') @@ -273,7 +298,8 @@ prepare dump_stages_host from prepare dump_stages_global from "select event_name, count_star from performance_schema.events_stages_summary_global_by_event_name - where event_name in ('stage/sql/init', + where event_name in ('stage/sql/starting', + 'stage/sql/init', 'stage/sql/checking permissions', 'stage/sql/Opening tables', 'stage/sql/closing tables') @@ -282,7 +308,8 @@ prepare dump_stages_global from prepare dump_stages_history from "select event_name, count(event_name) from performance_schema.events_stages_history_long - where event_name in ('stage/sql/init', + where event_name in ('stage/sql/starting', + 'stage/sql/init', 'stage/sql/checking permissions', 'stage/sql/Opening tables', 'stage/sql/closing tables') @@ -295,7 +322,8 @@ prepare dump_statements_account from and event_name in ('statement/sql/select', 'statement/sql/insert', 'statement/com/Quit', - 'statement/com/error') + 'statement/com/error', + 'statement/sp/freturn') order by user, host, event_name;"; prepare dump_statements_user from @@ -305,7 +333,8 @@ prepare dump_statements_user from and event_name in ('statement/sql/select', 'statement/sql/insert', 'statement/com/Quit', - 'statement/com/error') + 'statement/com/error', + 'statement/sp/freturn') order by user, event_name;"; prepare dump_statements_host from @@ -315,7 +344,8 @@ prepare dump_statements_host from and event_name in ('statement/sql/select', 'statement/sql/insert', 'statement/com/Quit', - 'statement/com/error') + 'statement/com/error', + 'statement/sp/freturn') order by host, event_name;"; prepare dump_statements_global from @@ -324,7 +354,8 @@ prepare dump_statements_global from where event_name in ('statement/sql/select', 'statement/sql/insert', 'statement/com/Quit', - 'statement/com/error') + 'statement/com/error', + 'statement/sp/freturn') order by event_name;"; prepare dump_statements_history from @@ -333,7 +364,41 @@ prepare dump_statements_history from where event_name in ('statement/sql/select', 'statement/sql/insert', 'statement/com/Quit', - 'statement/com/error') + 'statement/com/error', + 'statement/sp/freturn') + group by event_name order by event_name;"; + +prepare dump_transactions_account from + "select user, host, event_name, count_star + from performance_schema.events_transactions_summary_by_account_by_event_name + where user like \'user%\' + and event_name in ('transaction') + order by user, host, event_name;"; + +prepare dump_transactions_user from + "select user, event_name, count_star + from performance_schema.events_transactions_summary_by_user_by_event_name + where user like \'user%\' + and event_name in ('transaction') + order by user, event_name;"; + +prepare dump_transactions_host from + "select host, event_name, count_star + from performance_schema.events_transactions_summary_by_host_by_event_name + where host=\'localhost\' + and event_name in ('transaction') + order by host, event_name;"; + +prepare dump_transactions_global from + "select event_name, count_star + from performance_schema.events_transactions_summary_global_by_event_name + where event_name in ('transaction') + order by event_name;"; + +prepare dump_transactions_history from + "select event_name, count(event_name) + from performance_schema.events_transactions_history_long + where event_name in ('transaction') group by event_name order by event_name;"; prepare dump_users from diff --git a/mysql-test/suite/perfschema/include/memory_aggregate_cleanup.inc b/mysql-test/suite/perfschema/include/memory_aggregate_cleanup.inc new file mode 100644 index 00000000000..1e2cfa99e5c --- /dev/null +++ b/mysql-test/suite/perfschema/include/memory_aggregate_cleanup.inc @@ -0,0 +1,45 @@ +# Tests for the performance schema + +# =========================================== +# HELPER include/memory_aggregate_cleanup.inc +# =========================================== + +--disable_query_log +revoke all privileges, grant option from user1@localhost; +revoke all privileges, grant option from user2@localhost; +revoke all privileges, grant option from user3@localhost; +revoke all privileges, grant option from user4@localhost; +drop user user1@localhost; +drop user user2@localhost; +drop user user3@localhost; +drop user user4@localhost; +flush privileges; + +drop procedure dump_thread; +drop procedure dump_one_thread; + +drop prepare dump_memory_account; +drop prepare dump_memory_user; +drop prepare dump_memory_host; +drop prepare dump_memory_global; + +drop prepare dump_users; +drop prepare dump_hosts; +drop prepare dump_accounts; + +truncate table performance_schema.accounts; +truncate table performance_schema.users; +truncate table performance_schema.hosts; + +truncate table performance_schema.setup_actors; +insert into performance_schema.setup_actors + select * from test.setup_actors; +drop table test.setup_actors; + +set global query_cache_size=0; + +update performance_schema.threads set instrumented='YES'; +update performance_schema.setup_instruments set enabled='YES', timed='YES'; + +--enable_query_log + diff --git a/mysql-test/suite/perfschema/include/memory_aggregate_load.inc b/mysql-test/suite/perfschema/include/memory_aggregate_load.inc new file mode 100644 index 00000000000..7a54d25216e --- /dev/null +++ b/mysql-test/suite/perfschema/include/memory_aggregate_load.inc @@ -0,0 +1,506 @@ +# Tests for the performance schema + +# ======================================== +# HELPER include/memory_aggregate_load.inc +# ======================================== + +echo "================== Step 1 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +# Notes about this test +# +# get_lock("marker") causes the following memory allocation: +# memory/sql/User_level_lock, 1 malloc, size 16 (size 8 for 32-bit systems). +# release_lock("marker") causes the following memory free: +# memory/sql/User_level_lock, 1 free, size 16 (size 8 for 32-bit systems). +# +# To avoid noise from main, the background threads are disabled. + +connect (con1, localhost, user1, , ); + +echo "================== con1 connected =================="; + +--connection default + +# Wait for the connect to complete +let $wait_condition= + select count(*) = 1 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user1'; +--source include/wait_condition.inc + +echo "================== Step 2 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--connection con1 + +set GLOBAL query_cache_size=1000*1024; +select get_lock("marker_1", 10); +select release_lock("marker_1"); +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); + +echo "================== con1 marker =================="; + +--connection default + +# Wait for the payload to complete +let $wait_condition= + select count(*) = 1 from performance_schema.events_waits_current + where EVENT_NAME= 'idle'; +--source include/wait_condition.inc + +echo "================== Step 3 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +# Debugging helpers +# select * from performance_schema.events_waits_history_long; +# select PROCESSLIST_USER, PROCESSLIST_HOST, INSTRUMENTED from performance_schema.threads; + +connect (con2, localhost, user2, , ); + +echo "================== con2 connected =================="; + +--connection default + +# Wait for the connect to complete +let $wait_condition= + select count(*) = 1 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user2'; +--source include/wait_condition.inc + +echo "================== Step 4 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--connection con2 + +set GLOBAL query_cache_size=2000*1024; +select get_lock("marker_2", 10); +select release_lock("marker_2"); +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); + +echo "================== con2 marker =================="; + +--connection default + +# Wait for the payload to complete +let $wait_condition= + select count(*) = 2 from performance_schema.events_waits_current + where EVENT_NAME= 'idle'; +--source include/wait_condition.inc + +echo "================== Step 5 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate table performance_schema.memory_summary_by_thread_by_event_name; + +echo "================== MEMORY_BY_THREAD truncated =================="; + +echo "================== Step 5b =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +connect (con3, localhost, user3, , ); + +echo "================== con3 connected =================="; + +--connection default + +# Wait for the connect to complete +let $wait_condition= + select count(*) = 1 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user3'; +--source include/wait_condition.inc + +echo "================== Step 6 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--connection con3 + +set GLOBAL query_cache_size=500*1024; +select get_lock("marker_3", 10); +select release_lock("marker_3"); +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); + +echo "================== con3 marker =================="; + +--connection default + +# Wait for the payload to complete +let $wait_condition= + select count(*) = 3 from performance_schema.events_waits_current + where EVENT_NAME= 'idle'; +--source include/wait_condition.inc + +echo "================== Step 7 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +connect (con4, localhost, user4, , ); +connect (con5, localhost, user4, , ); + +echo "================== con4/con5 (both user4) connected =================="; + +--connection default + +# Wait for the connects to complete +let $wait_condition= + select count(*) = 2 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4'; +--source include/wait_condition.inc + +echo "================== Step 8 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--connection con4 + +set GLOBAL query_cache_size=4000*1024; +select get_lock("marker_4", 10); +select release_lock("marker_4"); +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); + +--connection con5 +select get_lock("marker_5", 10); +select release_lock("marker_5"); +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); + +echo "================== con4/con5 marker =================="; + +--connection default + +# Wait for the payload to complete +let $wait_condition= + select count(*) = 5 from performance_schema.events_waits_current + where EVENT_NAME= 'idle'; +--source include/wait_condition.inc + +echo "================== Step 9 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--disconnect con1 +--disconnect con5 + +--connection default + +# Wait for the disconnects to complete +let $wait_condition= + select count(*) = 0 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user1'; +--source include/wait_condition.inc +let $wait_condition= + select count(*) = 1 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4'; +--source include/wait_condition.inc + +echo "================== con1/con5 disconnected =================="; + +echo "================== Step 10 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--disconnect con2 + +--connection default + +# Wait for the disconnect to complete +let $wait_condition= + select count(*) = 0 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user2'; +--source include/wait_condition.inc + +echo "================== con2 disconnected =================="; + +echo "================== Step 11 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--disconnect con3 + +--connection default + +# Wait for the disconnect to complete +let $wait_condition= + select count(*) = 0 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user3'; +--source include/wait_condition.inc + +echo "================== con3 disconnected =================="; + +echo "================== Step 12 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--disconnect con4 + +--connection default + +# Wait for the disconnect to complete +let $wait_condition= + select count(*) = 0 from performance_schema.threads + where `TYPE`='FOREGROUND' and PROCESSLIST_USER= 'user4'; +--source include/wait_condition.inc + +echo "================== con4 disconnected =================="; + +echo "================== Step 13 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +--connection default + +truncate performance_schema.memory_summary_by_thread_by_event_name; + +echo "================== MEMORY_BY_THREAD truncated =================="; + +echo "================== Step 14 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.memory_summary_by_account_by_event_name; + +echo "================== MEMORY_BY_ACCOUNT truncated =================="; + +echo "================== Step 15 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.memory_summary_by_user_by_event_name; + +echo "================== MEMORY_BY_USER truncated =================="; + +echo "================== Step 16 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.memory_summary_by_host_by_event_name; + +echo "================== MEMORY_BY_HOST truncated =================="; + +echo "================== Step 17 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.memory_summary_global_by_event_name; + +echo "================== MEMORY_GLOBAL truncated =================="; + +echo "================== Step 18 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.accounts; + +echo "================== ACCOUNTS truncated =================="; + +echo "================== Step 19 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.users; + +echo "================== USERS truncated =================="; + +echo "================== Step 20 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + +truncate performance_schema.hosts; + +echo "================== HOSTS truncated =================="; + +echo "================== Step 21 =================="; +--vertical_results +call dump_thread(); +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +--horizontal_results +execute dump_accounts; +execute dump_users; +execute dump_hosts; + diff --git a/mysql-test/suite/perfschema/include/memory_aggregate_setup.inc b/mysql-test/suite/perfschema/include/memory_aggregate_setup.inc new file mode 100644 index 00000000000..6dbccaee9a0 --- /dev/null +++ b/mysql-test/suite/perfschema/include/memory_aggregate_setup.inc @@ -0,0 +1,207 @@ +# Tests for the performance schema + +# ============= +# DOCUMENTATION +# ============= + +# Verify how memory stats are aggregated into various tables +# +# In the thread dimension: +# - memory_summary_by_thread_by_event_name +# - memory_summary_by_account_by_event_name +# - memory_summary_by_user_by_event_name +# - memory_summary_by_host_by_event_name +# +# Globally: +# - memory_summary_global_by_event_name +# +# The tests are written with the following helpers: +# - include/memory_aggregate_setup.inc +# - include/memory_aggregate_load.inc +# - include/memory_aggregate_cleanup.inc +# +# Helpers are intended to be used as follows. +# +# A Typical test t/memory_aggregate_xxx.test will consist of: +# --source ../include/memory_aggregate_setup.inc +# --source ../include/memory_aggregate_load.inc +# --source ../include/memory_aggregate_cleanup.inc +# and a t/memory_aggregate_xxx-master.opt file +# +# Naming conventions for t/memory_aggregate_xxx.test are as follows: +# t/memory_aggregate_<account><user><host> +# +# <account> corresponds to different sizing settings for +# the variable performance-schema-accounts-size +# - (blank): accounts-size sufficient to represent all records +# - no_a: accounts-size set to 0 +# +# <user> corresponds to different sizing settings for +# the variable performance-schema-users-size +# - (blank): users-size sufficient to represent all records +# - no_u: users-size set to 0 +# +# <host> corresponds to different sizing settings for +# the variable performance-schema-hosts-size +# - (blank): hosts-size sufficient to represent all records +# - no_h: hosts-size set to 0 + +# ========================================= +# HELPER include/memory_aggregate_setup.inc +# ========================================= + +--source include/not_embedded.inc +--source include/have_perfschema.inc +--source include/no_protocol.inc +--source ../include/wait_for_pfs_thread_count.inc + +--disable_query_log + +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +grant ALL on *.* to user1@localhost; +grant ALL on *.* to user2@localhost; +grant ALL on *.* to user3@localhost; +grant ALL on *.* to user4@localhost; +set sql_mode= @orig_sql_mode; + +flush privileges; + +# Purge old users, hosts, user/host from previous tests +truncate table performance_schema.accounts; +truncate table performance_schema.users; +truncate table performance_schema.hosts; + +# Save the setup + +--disable_warnings +drop table if exists test.setup_actors; +--enable_warnings + +create table test.setup_actors as + select * from performance_schema.setup_actors; + +# Only instrument the user connections +truncate table performance_schema.setup_actors; +insert into performance_schema.setup_actors + set host= 'localhost', user= 'user1', role= '%'; +insert into performance_schema.setup_actors + set host= 'localhost', user= 'user2', role= '%'; +insert into performance_schema.setup_actors + set host= 'localhost', user= 'user3', role= '%'; +insert into performance_schema.setup_actors + set host= 'localhost', user= 'user4', role= '%'; + +update performance_schema.threads set instrumented='NO'; + +# Only instrument a few events of each kind +update performance_schema.setup_instruments set enabled='NO', timed='NO'; + +update performance_schema.setup_instruments set enabled='YES', timed='YES' + where name in ('memory/sql/user_var_entry::value', + 'memory/sql/User_level_lock', + 'memory/sql/Query_cache', + 'idle'); + +# Start from a known clean state, to avoid noise from previous tests +flush tables; +flush status; +truncate performance_schema.memory_summary_by_thread_by_event_name; +truncate performance_schema.memory_summary_by_account_by_event_name; +truncate performance_schema.memory_summary_by_user_by_event_name; +truncate performance_schema.memory_summary_by_host_by_event_name; +truncate performance_schema.memory_summary_global_by_event_name; + +--disable_warnings +drop procedure if exists dump_thread; +drop procedure if exists dump_one_thread; +--enable_warnings + +delimiter $$; + +create procedure dump_thread() +begin + call dump_one_thread('user1'); + call dump_one_thread('user2'); + call dump_one_thread('user3'); + call dump_one_thread('user4'); +end +$$ + +create procedure dump_one_thread(in username varchar(64)) +begin + declare my_thread_id int; + + set my_thread_id = (select thread_id from performance_schema.threads + where processlist_user=username LIMIT 1); + + if (my_thread_id is not null) then + select username, + EVENT_NAME, COUNT_ALLOC, COUNT_FREE, + SUM_NUMBER_OF_BYTES_ALLOC, SUM_NUMBER_OF_BYTES_FREE, + LOW_COUNT_USED, CURRENT_COUNT_USED, HIGH_COUNT_USED, + LOW_NUMBER_OF_BYTES_USED, CURRENT_NUMBER_OF_BYTES_USED, HIGH_NUMBER_OF_BYTES_USED + from performance_schema.memory_summary_by_thread_by_event_name + where event_name in ('memory/sql/user_var_entry::value', + 'memory/sql/User_level_lock', + 'memory/sql/Query_cache') + and thread_id = my_thread_id + order by event_name; + else + select username, "not found" as status; + end if; +end +$$ + +delimiter ;$$ + +prepare dump_memory_account from + "select * + from performance_schema.memory_summary_by_account_by_event_name + where user like \'user%\' + and event_name in ('memory/sql/user_var_entry::value', + 'memory/sql/User_level_lock', + 'memory/sql/Query_cache') + order by user, host, event_name;"; + +prepare dump_memory_user from + "select * + from performance_schema.memory_summary_by_user_by_event_name + where user like \'user%\' + and event_name in ('memory/sql/user_var_entry::value', + 'memory/sql/User_level_lock', + 'memory/sql/Query_cache') + order by user, event_name;"; + +prepare dump_memory_host from + "select * + from performance_schema.memory_summary_by_host_by_event_name + where host=\'localhost\' + and event_name in ('memory/sql/user_var_entry::value', + 'memory/sql/User_level_lock', + 'memory/sql/Query_cache') + order by host, event_name;"; + +prepare dump_memory_global from + "select * + from performance_schema.memory_summary_global_by_event_name + where event_name in ('memory/sql/user_var_entry::value', + 'memory/sql/User_level_lock', + 'memory/sql/Query_cache') + order by event_name;"; + +prepare dump_users from + "select * from performance_schema.users where user is not null order by user;"; + +prepare dump_hosts from + "select * from performance_schema.hosts where host is not null order by host;"; + +prepare dump_accounts from + "select * from performance_schema.accounts where (user is not null) and (host is not null) order by user, host;"; + +--enable_query_log + +# Make sure all the instrumentation is present +show global status like "performance_schema_memory_classes_lost"; + + diff --git a/mysql-test/suite/perfschema/include/prepared_stmts_deallocation.inc b/mysql-test/suite/perfschema/include/prepared_stmts_deallocation.inc new file mode 100644 index 00000000000..1601c027984 --- /dev/null +++ b/mysql-test/suite/perfschema/include/prepared_stmts_deallocation.inc @@ -0,0 +1,11 @@ +# +# Deallocates all the prepared statements +# created in prepares_stmts_setup.inc +# + +DEALLOCATE PREPARE st1; +DEALLOCATE PREPARE st2; +DEALLOCATE PREPARE st3; +DEALLOCATE PREPARE st4; + +DROP TABLE t1; diff --git a/mysql-test/suite/perfschema/include/prepared_stmts_execution.inc b/mysql-test/suite/perfschema/include/prepared_stmts_execution.inc new file mode 100644 index 00000000000..dbb0696f67c --- /dev/null +++ b/mysql-test/suite/perfschema/include/prepared_stmts_execution.inc @@ -0,0 +1,18 @@ +# +# Execution of all the prepared statements created in +# prepared_statements_setup.inc. +# + +SET @a = 3; +SET @b = 4; +EXECUTE st1 USING @a, @b; + +#SET @table = 't1'; +EXECUTE st2; + +SET @c=3; +EXECUTE st3 using @c; + +EXECUTE st4; + + diff --git a/mysql-test/suite/perfschema/include/prepared_stmts_setup.inc b/mysql-test/suite/perfschema/include/prepared_stmts_setup.inc new file mode 100644 index 00000000000..0fb14a36698 --- /dev/null +++ b/mysql-test/suite/perfschema/include/prepared_stmts_setup.inc @@ -0,0 +1,20 @@ +# +# Creating various prepared statements. +# HELPER include/prepared_stmts_setup.inc +# + +CREATE TABLE t1 (a INT NOT NULL); +INSERT INTO t1 VALUES (4), (8), (11), (32), (80); + +# Prepared statments + +PREPARE st1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse'; + +SET @table = 't1'; +SET @s = CONCAT('SELECT * FROM ', @table); +PREPARE st2 FROM @s; + +PREPARE st3 FROM 'INSERT INTO t1 SELECT * FROM t1 WHERE a<=?'; + +PREPARE st4 FROM + '(SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a'; diff --git a/mysql-test/suite/perfschema/include/program_cleanup.inc b/mysql-test/suite/perfschema/include/program_cleanup.inc new file mode 100644 index 00000000000..ffcedccd937 --- /dev/null +++ b/mysql-test/suite/perfschema/include/program_cleanup.inc @@ -0,0 +1,31 @@ +# +# clean up of set-up created in +# suite/perfschema/include/program_setup.inc +# + +--disable_warnings +DROP PROCEDURE SampleProc1; +DROP PROCEDURE SampleProc2; +DROP PROCEDURE SampleProc3; +DROP PROCEDURE SampleProc4; + +DROP FUNCTION wt_avg; +DROP FUNCTION fac; +DROP FUNCTION append; + +DROP TRIGGER trg1; +DROP TRIGGER trg2; +DROP TRIGGER trg3; +DROP TRIGGER trg4; +DROP TRIGGER trg5; + +DROP EVENT IF EXISTS e1; + +DROP TABLE t1; +DROP TABLE t2; +DROP TABLE t3; +DROP TABLE t4; +DROP TABLE table_t; + +DROP DATABASE stored_programs; +--enable_warnings diff --git a/mysql-test/suite/perfschema/include/program_execution.inc b/mysql-test/suite/perfschema/include/program_execution.inc new file mode 100644 index 00000000000..8c0bc691898 --- /dev/null +++ b/mysql-test/suite/perfschema/include/program_execution.inc @@ -0,0 +1,54 @@ +# +# Execute the stored programs created in +# suite/perfschema/include/program_setup.inc +# + +--echo ##################### +--echo # Executing queries # +--echo ##################### +INSERT INTO t1 VALUES (10,20); +CALL SampleProc1(30,40,50); +SET @a=1; +SELECT @a; +CALL SampleProc2("Jwalamukhi",34); +SELECT @a; +CALL SampleProc3(); +CALL SampleProc4(); +SET @change=1; +SELECT @change; +UPDATE t2 SET id=22 WHERE name="Jwalamukhi"; +SELECT @change; +SET @del=1; +SELECT @del; +DELETE FROM t1 WHERE i=76; +SELECT @del; +SELECT wt_avg(1, 12, 1990, 1121990); +SELECT fac(5); +SELECT append("Bolly", "wood"); + +--echo # Event + +SET GLOBAL event_scheduler=ON; + +CREATE TABLE table_t(a INT); +DELIMITER |; +CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO +BEGIN + INSERT INTO table_t VALUES(1); +END| +DELIMITER ;| + +# Let e1 insert 1 record into the table table_t + +--let $wait_condition= select count(*) = 1 from table_t +--source include/wait_condition.inc +SELECT * FROM table_t; + +# Wait till the above one execution of event is instrumented. + +--let $wait_condition= select count(*) = 1 from performance_schema.events_statements_history_long where object_type='EVENT' +--source include/wait_condition.inc + +SET GLOBAL event_scheduler=OFF; +--source include/no_running_event_scheduler.inc + diff --git a/mysql-test/suite/perfschema/include/program_nested_cleanup.inc b/mysql-test/suite/perfschema/include/program_nested_cleanup.inc new file mode 100644 index 00000000000..0f5b26f3d1b --- /dev/null +++ b/mysql-test/suite/perfschema/include/program_nested_cleanup.inc @@ -0,0 +1,21 @@ +# +# clean up if set-up created in +# suite/perfschema/include/program_nested_setup.inc +# + +DROP PROCEDURE c4; +DROP PROCEDURE c3; +DROP PROCEDURE c2; +DROP PROCEDURE c1; +DROP PROCEDURE inc; +DROP PROCEDURE inc2; +DROP PROCEDURE iotest; +DROP FUNCTION mul; +DROP FUNCTION inc; +DROP FUNCTION fac; +DROP FUNCTION fun; +DROP PROCEDURE ifac; +DROP TRIGGER trg; +DROP TABLE t1,t2; + +DROP DATABASE nested_sp; diff --git a/mysql-test/suite/perfschema/include/program_nested_execution.inc b/mysql-test/suite/perfschema/include/program_nested_execution.inc new file mode 100644 index 00000000000..dbf0eafe123 --- /dev/null +++ b/mysql-test/suite/perfschema/include/program_nested_execution.inc @@ -0,0 +1,22 @@ +# +# Execute the nested stored programs created in +# suite/include/perfschema/program_nested_setup.inc +# + +--echo ##################### +--echo # Executing queries # +--echo ##################### + +CALL c1(42); +SELECT * FROM t1; +DELETE FROM t1; + +CALL iotest("io1", "io2", 1); +SELECT * FROM t1 ORDER BY data DESC; +DELETE FROM t1; + +SELECT fun(6,10); + +INSERT INTO t1 VALUES (20,13); + +SELECT * FROM t2; diff --git a/mysql-test/suite/perfschema/include/program_nested_setup.inc b/mysql-test/suite/perfschema/include/program_nested_setup.inc new file mode 100644 index 00000000000..bbf885988dd --- /dev/null +++ b/mysql-test/suite/perfschema/include/program_nested_setup.inc @@ -0,0 +1,87 @@ +# +# SET-UP - Creation of various nested stored programs +# + +--source include/no_protocol.inc + +--echo # SET-UP +CREATE DATABASE nested_sp; +USE nested_sp; + +CREATE TABLE t1( + id CHAR(16) NOT NULL DEFAULT '', + data INT NOT NULL +); + +CREATE TABLE t2( + n INT UNSIGNED NOT NULL, + f BIGINT UNSIGNED +); + +--echo ############################ +--echo # Creating Stored Programs # +--echo ############################ +DELIMITER |; + +# Nested Stored Procedure - 1 +CREATE PROCEDURE c1(x INT) + CALL c2("c", x)| +CREATE PROCEDURE c2(s CHAR(16), x INT) + CALL c3(x, s)| +CREATE PROCEDURE c3(x INT, s CHAR(16)) + CALL c4("level", x, s)| +CREATE PROCEDURE c4(l CHAR(8), x INT, s CHAR(16)) + INSERT INTO t1 VALUES (concat(l,s), x)| + +# Nested Stored Procedure - 2 +CREATE PROCEDURE iotest(x1 CHAR(16), x2 CHAR(16), y INT) +BEGIN + CALL inc2(x2, y); + INSERT INTO t1 VALUES (x1, y); +END| +CREATE PROCEDURE inc2(x CHAR(16), y INT) +BEGIN + CALL inc(y); + INSERT INTO t1 VALUES (x, y); +END| +CREATE PROCEDURE inc(inout io INT) + SET io = io + 1| + +# Nested Stored Function +CREATE FUNCTION mul(x INT, y INT) RETURNS INT + RETURN x*y| +CREATE FUNCTION inc(i INT) RETURNS INT + RETURN i+1| +CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN + DECLARE f BIGINT UNSIGNED DEFAULT 1; + WHILE n > 1 DO + SET f = f * n; + SET n = n - 1; + END WHILE; + RETURN f; +END| +CREATE FUNCTION fun(i INT, u INT UNSIGNED) RETURNS DOUBLE + RETURN mul(inc(i), fac(u))| +# +# A nested stored program +# +CREATE PROCEDURE ifac(n INT UNSIGNED) +BEGIN + DECLARE i BIGINT UNSIGNED DEFAULT 1; + + IF n > 20 THEN + SET n = 20; # bigint overflow otherwise + END IF; + WHILE i <= n DO + BEGIN + INSERT INTO t2 VALUES (i, fac(i)); + SET i = i + 1; + END; + END WHILE; +END| +CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW + CALL ifac(10)| + +DELIMITER ;| + diff --git a/mysql-test/suite/perfschema/include/program_setup.inc b/mysql-test/suite/perfschema/include/program_setup.inc new file mode 100644 index 00000000000..0d7f1ef3058 --- /dev/null +++ b/mysql-test/suite/perfschema/include/program_setup.inc @@ -0,0 +1,135 @@ +# +# SET-UP - Creation of various non-nested stored programs +# + +--source include/no_protocol.inc + +--echo # SET-UP + +CREATE DATABASE stored_programs; +USE stored_programs; + +CREATE TABLE t1( + i INT NOT NULL, + j INT +); + +CREATE TABLE t2( + name CHAR(16) NOT NULL DEFAULT '', + id INT NOT NULL +); + +CREATE TABLE t3( + d DATE, + n INT, + f DOUBLE, + s VARCHAR(32) +); + +CREATE TABLE t4( + `k` int(10) unsigned NOT NULL AUTO_INCREMENT, + `word` varchar(100) NOT NULL, + `mean` varchar(300) NOT NULL, + PRIMARY KEY (`k`) +); + + +--echo ############################ +--echo # Creating Stored Programs # +--echo ############################ + +--echo # Stored Routine ( Procedure & Function ) + +DELIMITER |; +CREATE PROCEDURE SampleProc1(x1 INT, x2 INT, y INT) +BEGIN + INSERT INTO t1 VALUES (x1, y); + INSERT INTO t1 VALUES (x2, y); +END| + +CREATE PROCEDURE SampleProc2(x CHAR(16), y INT) +BEGIN + DECLARE z1, z2 INT; + SET z1 = y; + SET z2 = z1+2; + INSERT INTO t2 VALUES (x, z2); +END| + +CREATE PROCEDURE SampleProc3() +BEGIN + DECLARE ld DATE; + DECLARE li INT; + DECLARE lf DOUBLE; + DECLARE ls VARCHAR(32); + + SET ld = NULL, li = NULL, lf = NULL, ls = NULL; + INSERT INTO t3 VALUES (ld, li, lf, ls); + + INSERT INTO t3 (n, f, s) VALUES ((ld IS NULL), 1, "ld is null"), + ((li IS NULL), 1, "li is null"), + ((li = 0), NULL, "li = 0"), + ((lf IS NULL), 1, "lf is null"), + ((lf = 0), NULL, "lf = 0"), + ((ls IS NULL), 1, "ls is null"); +END| + + +CREATE PROCEDURE SampleProc4() +BEGIN + DECLARE x INT; + SET x = 1; + WHILE x <= 2 DO + INSERT INTO t4(word, mean) VALUES('a','a mean'); + SET x = x + 1; + END WHILE; +END| + +CREATE FUNCTION append(s1 CHAR(8), s2 CHAR(8)) RETURNS CHAR(16) + RETURN concat(s1, s2)| + +CREATE FUNCTION wt_avg(n1 INT, n2 INT, n3 INT, n4 INT) + RETURNS INT + DETERMINISTIC + BEGIN + DECLARE avg INT; + SET avg = (n1+n2+n3*2+n4*4)/8; + RETURN avg; + END| + +CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN + DECLARE f BIGINT UNSIGNED DEFAULT 1; + WHILE n > 1 DO + SET f = f * n; + SET n = n - 1; + END WHILE; + RETURN f; +END| + +--echo # Triggers + +# INSERT triggers +CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW +BEGIN + if isnull(new.j) then + SET new.j:= new.i * 10; + END if; +END| + +CREATE TRIGGER trg2 AFTER INSERT ON t2 FOR EACH ROW +BEGIN + UPDATE t1 SET i=new.id+i ; +END| + +# UPDATE trigger +CREATE TRIGGER trg3 AFTER UPDATE ON t2 FOR EACH ROW + SET @change:= @change + new.id - old.id| + +# DELETE triggers +CREATE TRIGGER trg4 BEFORE DELETE ON t1 FOR EACH ROW + SET @del:= @del + 1| + +CREATE TRIGGER trg5 AFTER DELETE ON t1 FOR EACH ROW + SET @del:= @del + 8 + old.j| + +DELIMITER ;| diff --git a/mysql-test/suite/perfschema/include/reset_transaction_gtid.inc b/mysql-test/suite/perfschema/include/reset_transaction_gtid.inc new file mode 100644 index 00000000000..c8eaf53afe9 --- /dev/null +++ b/mysql-test/suite/perfschema/include/reset_transaction_gtid.inc @@ -0,0 +1,20 @@ +# ==== Purpose ==== +# +# Auxiliary file used by transaction_gtid.test +# +# Invoked between transactions in order to reset the state: +# - set GTID_NEXT to AUTOMATIC since this is required after +# any transaction that has GTID_NEXT=UUID:NUMBER +# - RESET MASTER in order to clear @@global.gtid_executed, so +# that the same GTID can be executed again. +# - truncate the performance_schema.events_transaction_* tables +# +# All this is done on the connection 'server_1'. + +--disable_query_log +--connection server_1 +RESET MASTER; +TRUNCATE TABLE performance_schema.events_transactions_history; +TRUNCATE TABLE performance_schema.events_transactions_current; +--enable_query_log +--connection default diff --git a/mysql-test/suite/perfschema/include/schema.inc b/mysql-test/suite/perfschema/include/schema.inc index f5f23893d37..8a8be180e47 100644 --- a/mysql-test/suite/perfschema/include/schema.inc +++ b/mysql-test/suite/perfschema/include/schema.inc @@ -27,6 +27,14 @@ show create table events_statements_summary_by_thread_by_event_name; show create table events_statements_summary_by_user_by_event_name; show create table events_statements_summary_by_account_by_event_name; show create table events_statements_summary_global_by_event_name; +show create table events_transactions_current; +show create table events_transactions_history; +show create table events_transactions_history_long; +show create table events_transactions_summary_by_host_by_event_name; +show create table events_transactions_summary_by_thread_by_event_name; +show create table events_transactions_summary_by_user_by_event_name; +show create table events_transactions_summary_by_account_by_event_name; +show create table events_transactions_summary_global_by_event_name; show create table events_waits_current; show create table events_waits_history; show create table events_waits_history_long; @@ -36,6 +44,12 @@ show create table events_waits_summary_by_thread_by_event_name; show create table events_waits_summary_by_user_by_event_name; show create table events_waits_summary_by_account_by_event_name; show create table events_waits_summary_global_by_event_name; +show create table memory_summary_by_host_by_event_name; +show create table memory_summary_by_thread_by_event_name; +show create table memory_summary_by_user_by_event_name; +show create table memory_summary_by_account_by_event_name; +show create table memory_summary_global_by_event_name; +show create table metadata_locks; show create table file_instances; show create table file_summary_by_event_name; show create table file_summary_by_instance; @@ -53,6 +67,7 @@ show create table setup_timers; show create table socket_instances; show create table socket_summary_by_instance; show create table socket_summary_by_event_name; +show create table table_handles; show create table table_io_waits_summary_by_index_usage; show create table table_io_waits_summary_by_table; show create table table_lock_waits_summary_by_table; diff --git a/mysql-test/suite/perfschema/include/show_aggregate.inc b/mysql-test/suite/perfschema/include/show_aggregate.inc new file mode 100644 index 00000000000..a637e7b54dd --- /dev/null +++ b/mysql-test/suite/perfschema/include/show_aggregate.inc @@ -0,0 +1,125 @@ +############### suite/perfschema/include/show_aggregate.inc #################### +# # +# Gather status by thread, by user, by host, by account and global. # +# # +################################################################################ + +--echo #================= +--echo # Global results +--echo #================= +USE test; +UPDATE test.status_results sr, performance_schema.global_status sg + SET sr.stop = sg.variable_value + WHERE sr.variable_name = sg.variable_name + AND sg.variable_name IN ('handler_delete', 'handler_rollback'); +--echo +--echo # Global deltas: END - START. +UPDATE test.status_results sr + SET sr.delta = sr.stop - sr.start; + +#--echo DEBUG +#SELECT * FROM test.status_results; +#SELECT * from performance_schema.global_status where variable_name in ('handler_delete', 'handler_rollback'); + +--echo #================= +--echo # Status by thread +--echo #================= +--echo # Thread results from CON1. +UPDATE test.status_results sr, performance_schema.status_by_thread sbt + SET sr.t1 = sbt.variable_value + WHERE sr.variable_name = sbt.variable_name + AND sbt.variable_name IN ('handler_delete', 'handler_rollback') + AND sbt.thread_id = @con1_id; +--echo +--echo # Thread results from CON2. +UPDATE test.status_results sr, performance_schema.status_by_thread sbt + SET sr.t2 = sbt.variable_value + WHERE sr.variable_name = sbt.variable_name + AND sbt.variable_name IN ('handler_delete', 'handler_rollback') + AND sbt.thread_id = @con2_id; +--echo +--echo # Thread results from CON3. +UPDATE test.status_results sr, performance_schema.status_by_thread sbt + SET sr.t3 = sbt.variable_value + WHERE sr.variable_name = sbt.variable_name + AND sbt.variable_name IN ('handler_delete', 'handler_rollback') + AND sbt.thread_id = @con3_id; +--echo +--echo # Thread totals for 3 connections. +UPDATE test.status_results sr + SET sr.thread = sr.t1 + sr.t2 + sr.t3; + +--echo #================= +--echo # Status by user +--echo #================= +--echo # User1 +UPDATE test.status_results sr, performance_schema.status_by_user sbu + SET sr.u1 = sbu.variable_value + WHERE sr.variable_name = sbu.variable_name + AND sbu.variable_name IN ('handler_delete', 'handler_rollback') + AND sbu.user IN ('user1'); +--echo +--echo # User2 +UPDATE test.status_results sr, performance_schema.status_by_user sbu + SET sr.u2 = sbu.variable_value + WHERE sr.variable_name = sbu.variable_name + AND sbu.variable_name IN ('handler_delete', 'handler_rollback') + AND sbu.user IN ('user2'); +--echo +--echo # User3 +UPDATE test.status_results sr, performance_schema.status_by_user sbu + SET sr.u3 = sbu.variable_value + WHERE sr.variable_name = sbu.variable_name + AND sbu.variable_name IN ('handler_delete', 'handler_rollback') + AND sbu.user IN ('user3'); +--echo +--echo # Status totals for 3 users. +UPDATE test.status_results sr + SET sr.user = sr.u1 + sr.u2 + sr.u3; + +--echo #=========================== +--echo # Status by host (localhost) +--echo #=========================== +--echo +--echo # host1 = localhost +UPDATE test.status_results sr, performance_schema.status_by_host sbh + SET sr.h1 = sbh.variable_value + WHERE sr.variable_name = sbh.variable_name + AND sbh.variable_name IN ('handler_delete', 'handler_rollback') + AND sbh.host IN ('localhost'); +--echo +--echo # Status totals for 'localhost' only. +UPDATE test.status_results sr + SET sr.host = sr.h1 + sr.h2 + sr.h3; + +--echo #================== +--echo # Status by account +--echo #================== +--echo # User1@localhost +UPDATE test.status_results sr, performance_schema.status_by_account sba + SET sr.a1 = sba.variable_value + WHERE sr.variable_name = sba.variable_name + AND sba.variable_name IN ('handler_delete', 'handler_rollback') + AND sba.user IN ('user1'); +--echo +--echo # User2@localhost +UPDATE test.status_results sr, performance_schema.status_by_account sba + SET sr.a2 = sba.variable_value + WHERE sr.variable_name = sba.variable_name + AND sba.variable_name IN ('handler_delete', 'handler_rollback') + AND sba.user IN ('user2'); +--echo +--echo # User3@localhost +UPDATE test.status_results sr, performance_schema.status_by_account sba + SET sr.a3 = sba.variable_value + WHERE sr.variable_name = sba.variable_name + AND sba.variable_name IN ('handler_delete', 'handler_rollback') + AND sba.user IN ('user3'); +--echo +--echo +--echo # Status totals for 3 accounts. +UPDATE test.status_results sr + SET sr.acct = sr.a1 + sr.a2 + sr.a3; + +#--echo DEBUG +#SELECT * FROM test.status_results; diff --git a/mysql-test/suite/perfschema/include/show_plugin_verifier.inc b/mysql-test/suite/perfschema/include/show_plugin_verifier.inc new file mode 100644 index 00000000000..9705a1914c1 --- /dev/null +++ b/mysql-test/suite/perfschema/include/show_plugin_verifier.inc @@ -0,0 +1,29 @@ +--disable_warnings + +--echo +SHOW GLOBAL STATUS LIKE "example_%"; +--echo +SHOW SESSION STATUS LIKE "example_%"; +--echo +SHOW GLOBAL VARIABLES LIKE "example_%"; +--echo +SHOW SESSION VARIABLES LIKE "example_%"; +--echo +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +--echo +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +--echo +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +--echo +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; + +# +# Force sync of local and global system variables. +# +--disable_result_log +--disable_query_log +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread WHERE variable_name LIKE "example_%"; +--enable_query_log +--enable_result_log + +--enable_warnings diff --git a/mysql-test/suite/perfschema/include/show_plugin_verifier_56.inc b/mysql-test/suite/perfschema/include/show_plugin_verifier_56.inc new file mode 100644 index 00000000000..7e144899497 --- /dev/null +++ b/mysql-test/suite/perfschema/include/show_plugin_verifier_56.inc @@ -0,0 +1,29 @@ +--disable_warnings + +--echo +SHOW GLOBAL STATUS LIKE "example_%"; +--echo +SHOW SESSION STATUS LIKE "example_%"; +--echo +SHOW GLOBAL VARIABLES LIKE "example_%"; +--echo +SHOW SESSION VARIABLES LIKE "example_%"; +--echo +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +--echo +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +--echo +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +--echo +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; + +# +# Force sync of local and global system variables. +# +--disable_result_log +--disable_query_log +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread WHERE variable_name LIKE "example_%"; +--enable_query_log +--enable_result_log + +--enable_warnings diff --git a/mysql-test/suite/perfschema/include/show_transaction_gtid.inc b/mysql-test/suite/perfschema/include/show_transaction_gtid.inc new file mode 100644 index 00000000000..758354ea2b8 --- /dev/null +++ b/mysql-test/suite/perfschema/include/show_transaction_gtid.inc @@ -0,0 +1,29 @@ +# ==== Purpose ==== +# +# Auxiliary file used by transaction_gtid.test +# +# Invoked to check the contents of the +# performance_schema.events_transaction_[current|history] tables and +# write the result to the result log. This is executed on the +# 'server_1' connection and shows only status of transactions on the +# 'default' connection. + +--connection server_1 + +--replace_result $server_uuid SERVER_UUID aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa A +--let $history_result= `SELECT GTID FROM performance_schema.events_transactions_history WHERE THREAD_ID = $thread_id` +if ($history_result == '') +{ + --let $history_result= none +} + +--replace_result $server_uuid SERVER_UUID aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa A +--let $current_result= `SELECT GTID FROM performance_schema.events_transactions_current WHERE THREAD_ID = $thread_id` +if ($current_result == '') +{ + --let $current_result= none +} + +--echo - history=$history_result current=$current_result + +--connection default diff --git a/mysql-test/suite/perfschema/include/sizing_auto.inc b/mysql-test/suite/perfschema/include/sizing_auto.inc deleted file mode 100644 index 3bb4db2276f..00000000000 --- a/mysql-test/suite/perfschema/include/sizing_auto.inc +++ /dev/null @@ -1,24 +0,0 @@ - -show variables like "table_definition_cache"; -show variables like "table_open_cache"; -show variables like "max_connections"; -# open_files_limit depends on OS configuration (ulimit -n) -#show variables like "open_files_limit"; -show variables where - `Variable_name` != "performance_schema_max_statement_classes" and - `Variable_name` like "performance_schema%"; -show status like "%performance_schema%"; - -# Each test script should provide a different test.cnf file, -# with different settings. -# This output will show the sizes computed automatically. -# Note that this output is very dependent on the platform. -# The output of SHOW ENGINE PERFORMANCE_SCHEMA STATUS -# is very dependent on the platform, -# so it is not printed here to ensure stability of the .results files. -# To troubleshoot the performance schema memory consumption at different -# configuration settings, comment the following line. -# Debug only: - -# show engine performance_schema status; - diff --git a/mysql-test/suite/perfschema/include/stage_setup.inc b/mysql-test/suite/perfschema/include/stage_setup.inc index 639b1df8c02..f18c79bb65a 100644 --- a/mysql-test/suite/perfschema/include/stage_setup.inc +++ b/mysql-test/suite/perfschema/include/stage_setup.inc @@ -28,10 +28,13 @@ --disable_query_log +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant ALL on *.* to user1@localhost; grant ALL on *.* to user2@localhost; grant ALL on *.* to user3@localhost; grant ALL on *.* to user4@localhost; +set sql_mode= @orig_sql_mode; flush privileges; diff --git a/mysql-test/suite/perfschema/include/start_server_common.inc b/mysql-test/suite/perfschema/include/start_server_common.inc index 41dcfd8ecb5..ec2912217cd 100644 --- a/mysql-test/suite/perfschema/include/start_server_common.inc +++ b/mysql-test/suite/perfschema/include/start_server_common.inc @@ -7,7 +7,8 @@ select count(*) from performance_schema.setup_consumers; # wait/io/table/sql/handler is a native instrument # wait/lock/table/sql/handler is a native instrument # idle/io/socket is a native instrument -select count(*) > 3 from performance_schema.setup_instruments; +# wait/lock/metadata is a native instrument +select count(*) > 4 from performance_schema.setup_instruments; select count(*) from performance_schema.setup_timers; # Make sure we don't crash, no matter what the starting parameters are @@ -32,6 +33,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -41,11 +50,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -60,17 +80,31 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; --enable_result_log # This has a stable output, printing the result: -show variables where - `Variable_name` != "performance_schema_max_statement_classes" and - `Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; # This has an unrepeatable output, it does depends too much on # - the platform hardware (sizeof structures, padding) @@ -81,6 +115,6 @@ show variables where --disable_result_log show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; +show global status like "performance_schema%"; --enable_result_log diff --git a/mysql-test/suite/perfschema/include/table_aggregate_load.inc b/mysql-test/suite/perfschema/include/table_aggregate_load.inc index f42ebe1fc76..827afdf6013 100644 --- a/mysql-test/suite/perfschema/include/table_aggregate_load.inc +++ b/mysql-test/suite/perfschema/include/table_aggregate_load.inc @@ -2,6 +2,19 @@ # # See comments in include/table_aggregate_setup.inc +# +# Notes about the optimizer and query plans: +# The following statement +# SELECT * from t1 where b=5; +# can be executed either: +# - by using the index "index_b" on column b +# - by using a full table scan and the where clause. +# Which plan is used can be unpredictable. +# To ensure that the index is really used, +# so that table io against the index is measured, +# the payload in this test uses: +# SELECT * from t1 force index(index_b) where b=5; +# # Display the current setup used @@ -29,10 +42,8 @@ truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; # Check the configuration is ok -show variables where - `Variable_name` != "performance_schema_max_statement_classes" and - `Variable_name` like "performance_schema%"; -show status like "performance_schema%"; +show global variables like "performance_schema%"; +show global status like "performance_schema%"; echo "================== Step 1 =================="; call dump_thread(); @@ -86,15 +97,36 @@ update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; # select with index -select * from test.t1 where b=5; -select * from test.t2 where b=5; -select * from test.t3 where b=5; +select * from test.t1 force index(index_b) where b=5; +select * from test.t2 force index(index_b) where b=5; +select * from test.t3 force index(index_b) where b=5; echo "================== con1 marker =================="; --connection default -echo "================== Step 3 =================="; +echo "================== Step 3-A =================="; +call dump_thread(); +execute dump_waits_account; +execute dump_waits_user; +execute dump_waits_host; +execute dump_waits_global; +execute dump_waits_history; +execute dump_waits_index_io; +execute dump_waits_table_io; +execute dump_waits_table_lock; +execute dump_objects_summary; + +--connection con1 + +# This cause aggregation, so that index names are finally recorded +flush tables; + +echo "================== con1 FLUSH =================="; + +--connection default + +echo "================== Step 3-B =================="; call dump_thread(); execute dump_waits_account; execute dump_waits_user; @@ -147,9 +179,9 @@ update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; # select with index -select * from test.t1 where b=5; -select * from test.t2 where b=5; -select * from test.t3 where b=5; +select * from test.t1 force index(index_b) where b=5; +select * from test.t2 force index(index_b) where b=5; +select * from test.t3 force index(index_b) where b=5; echo "================== con2 marker =================="; @@ -204,9 +236,9 @@ update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; # select with index -select * from test.t1 where b=5; -select * from test.t2 where b=5; -select * from test.t3 where b=5; +select * from test.t1 force index(index_b) where b=5; +select * from test.t2 force index(index_b) where b=5; +select * from test.t3 force index(index_b) where b=5; echo "================== con3 marker =================="; @@ -261,9 +293,9 @@ update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; # select with index -select * from test.t1 where b=5; -select * from test.t2 where b=5; -select * from test.t3 where b=5; +select * from test.t1 force index(index_b) where b=5; +select * from test.t2 force index(index_b) where b=5; +select * from test.t3 force index(index_b) where b=5; echo "================== con4 marker =================="; @@ -510,5 +542,5 @@ execute dump_waits_table_lock; execute dump_objects_summary; # On test failures, may help to track the root cause -show status like "performance_schema%"; +show global status like "performance_schema%"; diff --git a/mysql-test/suite/perfschema/include/table_aggregate_setup.inc b/mysql-test/suite/perfschema/include/table_aggregate_setup.inc index 522cdb9346d..14117c7ce7e 100644 --- a/mysql-test/suite/perfschema/include/table_aggregate_setup.inc +++ b/mysql-test/suite/perfschema/include/table_aggregate_setup.inc @@ -71,10 +71,13 @@ --source ../include/wait_for_pfs_thread_count.inc --disable_query_log +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant ALL on *.* to user1@localhost; grant ALL on *.* to user2@localhost; grant ALL on *.* to user3@localhost; grant ALL on *.* to user4@localhost; +set sql_mode= @orig_sql_mode; flush privileges; @@ -218,7 +221,9 @@ prepare dump_waits_global from order by event_name;"; prepare dump_waits_history from - "select event_name, count(event_name), object_type, object_schema, object_name + "select event_name, + sum(if(number_of_bytes is null, 1, number_of_bytes)) as 'count(event_name)', + object_type, object_schema, object_name from performance_schema.events_waits_history_long where event_name in (\'wait/io/table/sql/handler\', @@ -250,7 +255,7 @@ prepare dump_waits_table_lock from count_read_normal, count_read_with_shared_locks, count_read_high_priority, count_read_no_insert, count_read_external, - count_write_delayed, count_write_low_priority, + count_write_low_priority, count_write_external from performance_schema.table_lock_waits_summary_by_table where object_type='TABLE' and object_schema='test' diff --git a/mysql-test/suite/perfschema/include/table_io_result_helper.inc b/mysql-test/suite/perfschema/include/table_io_result_helper.inc index 789f7135a1a..66431b6a8c6 100644 --- a/mysql-test/suite/perfschema/include/table_io_result_helper.inc +++ b/mysql-test/suite/perfschema/include/table_io_result_helper.inc @@ -14,7 +14,7 @@ eval select event_name, order by thread_id, event_id; # In case of failures, this will tell if table io are lost. -show status like 'performance_schema_%'; +show global status like 'performance_schema_%'; # Cleanup truncate performance_schema.events_waits_history_long; diff --git a/mysql-test/suite/perfschema/include/transaction_cleanup.inc b/mysql-test/suite/perfschema/include/transaction_cleanup.inc new file mode 100644 index 00000000000..3b8ed02d6b6 --- /dev/null +++ b/mysql-test/suite/perfschema/include/transaction_cleanup.inc @@ -0,0 +1,12 @@ +# Tests for the performance schema + +# ========================================== +# HELPER include/transaction_cleanup.inc +# ========================================== + +DROP PROCEDURE clear_transaction_tables; +DROP PROCEDURE clear_transaction_history; +DROP PROCEDURE clear_statement_history; +DROP PROCEDURE clear_history; +DROP PROCEDURE transaction_verifier; + diff --git a/mysql-test/suite/perfschema/include/transaction_nested_events_verifier.inc b/mysql-test/suite/perfschema/include/transaction_nested_events_verifier.inc new file mode 100644 index 00000000000..05c7a834178 --- /dev/null +++ b/mysql-test/suite/perfschema/include/transaction_nested_events_verifier.inc @@ -0,0 +1,146 @@ +# Tests for the performance schema + +# ===================================================== +# HELPER include/transaction_nested_events_verifier.inc +# ===================================================== + +--connection default +--disable_query_log + +# Poll till the activity of the actor connection con1 caused by the last +# statement issued has finished. +let $wait_timeout= 10; +let $wait_condition= + SELECT COUNT(*) > 0 FROM performance_schema.threads + WHERE THREAD_ID = @con1_thread_id + AND (PROCESSLIST_STATE = 'Sleep' OR PROCESSLIST_STATE IS NULL) + AND PROCESSLIST_INFO IS NULL; +--source include/wait_condition.inc +if(!$success) +{ + --echo The activity of connection con1 did not finish. + SELECT thread_id , PROCESSLIST_id, PROCESSLIST_STATE, PROCESSLIST_INFO + FROM performance_schema.threads + WHERE thread_id = @con1_thread_id; + --echo Abort. + exit; +} + +--echo #======================================================================== +--echo # Verify +--echo #======================================================================== + +SELECT event_id from performance_schema.events_transactions_history_long + where (THREAD_ID = @con1_thread_id) + order by event_id limit 1 + into @base_tx_event_id; + +SELECT event_id from performance_schema.events_statements_history_long + where (THREAD_ID = @con1_thread_id) + order by event_id limit 1 + into @base_stmt_event_id; + +select if(@base_tx_event_id < @base_stmt_event_id, + @base_tx_event_id - 1, + @base_stmt_event_id - 1) + into @base_event_id; + +# Debug helpers +# set @base_event_id = 0; +# select @base_tx_event_id, @base_stmt_event_id, @base_event_id; + +--echo EVENTS_TRANSACTIONS_CURRENT +--echo + +--replace_column 1 thread_id + +SELECT THREAD_ID, + LPAD(EVENT_ID - @base_event_id, 11, ' ') as R_EVENT_ID, + LPAD(END_EVENT_ID - @base_event_id, 11, ' ') as R_END_EVENT_ID, + RPAD(EVENT_NAME, 11, ' ') 'EVENT_NAME ', + RPAD(STATE, 11, ' ') 'STATE ', + RPAD(ACCESS_MODE, 11, ' ') ACCESS_MODE, + RPAD(ISOLATION_LEVEL, 16, ' ') 'ISOLATION_LEVEL ', + RPAD(AUTOCOMMIT, 4, ' ') AUTO, + LPAD(NESTING_EVENT_ID - @base_event_id, 19, ' ') as R_NESTING_EVENT_ID, + RPAD(IFNULL(NESTING_EVENT_TYPE, 'NULL'), 18, ' ') NESTING_EVENT_TYPE +FROM performance_schema.events_transactions_current +WHERE ((THREAD_ID = @con1_thread_id) OR (@all_threads = 1)) +ORDER BY thread_id, event_id; + +--echo +--echo EVENTS_TRANSACTIONS_HISTORY_LONG +--echo + +--replace_column 1 thread_id + +SELECT THREAD_ID, + LPAD(EVENT_ID - @base_event_id, 11, ' ') as R_EVENT_ID, + LPAD(END_EVENT_ID - @base_event_id, 11, ' ') as R_END_EVENT_ID, + RPAD(EVENT_NAME, 11, ' ') 'EVENT_NAME ', + RPAD(STATE, 11, ' ') 'STATE ', + RPAD(ACCESS_MODE, 11, ' ') ACCESS_MODE, + RPAD(ISOLATION_LEVEL, 16, ' ') 'ISOLATION_LEVEL ', + RPAD(AUTOCOMMIT, 4, ' ') AUTO, + LPAD(NESTING_EVENT_ID - @base_event_id, 19, ' ') as R_NESTING_EVENT_ID, + RPAD(IFNULL(NESTING_EVENT_TYPE, 'NULL'), 18, ' ') NESTING_EVENT_TYPE +FROM performance_schema.events_transactions_history_long +WHERE ((THREAD_ID = @con1_thread_id) OR (@all_threads = 1)) +ORDER BY thread_id, event_id; + +--echo +--echo EVENTS_STATEMENTS_HISTORY_LONG +--echo + +--replace_column 1 thread_id + +SELECT THREAD_ID, + LPAD(EVENT_ID - @base_event_id, 11, ' ') as R_EVENT_ID, + LPAD(END_EVENT_ID - @base_event_id, 11, ' ') as R_END_EVENT_ID, + RPAD(EVENT_NAME, 30, ' ') 'EVENT_NAME ', + RPAD(IFNULL(object_name, 'NULL'), 12, ' ') 'OBJECT_NAME ', + LPAD(IFNULL(NESTING_EVENT_ID - @base_event_id, 'NULL'), 19, ' ') as R_NESTING_EVENT_ID, + RPAD(IFNULL(NESTING_EVENT_TYPE, 'NULL'), 18, ' ') NESTING_EVENT_TYPE, + LPAD(NESTING_EVENT_LEVEL, 5, ' ') LEVEL, + SQL_TEXT +FROM performance_schema.events_statements_history_long +WHERE ((THREAD_ID = @con1_thread_id) OR (@all_threads = 1)) +ORDER BY thread_id, event_id; + +--echo +--echo ## Combined statement and transaction event history ordered by event id +--echo +--echo EVENTS_STATEMENTS_HISTORY_LONG + EVENTS_TRANSACTIONS_HISTORY_LONG +--echo + +--replace_column 1 thread_id + +SELECT THREAD_ID, + LPAD(EVENT_ID - @base_event_id, 11, ' ') as R_EVENT_ID, + LPAD(END_EVENT_ID - @base_event_id, 11, ' ') as R_END_EVENT_ID, + RPAD(EVENT_NAME, 25, ' ') 'EVENT_NAME ', + LPAD(NESTING_EVENT_ID - @base_event_id, 19, ' ') as R_NESTING_EVENT_ID, + RPAD(IFNULL(NESTING_EVENT_TYPE, 'NULL'), 18, ' ') NESTING_EVENT_TYPE, + '<transaction started>' AS SQL_TXT +FROM performance_schema.events_transactions_history_long t +WHERE (t.thread_id = @con1_thread_id) +UNION +SELECT THREAD_ID, + LPAD(EVENT_ID - @base_event_id, 11, ' ') as R_EVENT_ID, + LPAD(END_EVENT_ID - @base_event_id, 11, ' ') as R_END_EVENT_ID, + RPAD(EVENT_NAME, 25, ' ') 'EVENT_NAME ', + LPAD(IFNULL(NESTING_EVENT_ID - @base_event_id, 'NULL'), 19, ' ') as R_NESTING_EVENT_ID, + RPAD(IFNULL(NESTING_EVENT_TYPE, 'NULL'), 18, ' ') NESTING_EVENT_TYPE, + SQL_TEXT +FROM performance_schema.events_statements_history_long s +WHERE ((s.thread_id = @con1_thread_id) OR (@all_threads = 1)) +ORDER BY thread_id, r_event_id; + +--echo +--echo ## Clear statement and transaction history +--echo CALL test.clear_history(); +CALL test.clear_history(); +--enable_query_log +--echo ## Reset db.t1 +DELETE FROM db.t1; +--echo diff --git a/mysql-test/suite/perfschema/include/transaction_setup.inc b/mysql-test/suite/perfschema/include/transaction_setup.inc new file mode 100644 index 00000000000..78697425731 --- /dev/null +++ b/mysql-test/suite/perfschema/include/transaction_setup.inc @@ -0,0 +1,231 @@ +# Tests for the performance schema + +# ========================================== +# HELPER include/transaction_setup.inc +# ========================================== + +# +# UTILITY QUERIES +# +let $get_thread_id= + SELECT thread_id INTO @my_thread_id + FROM performance_schema.threads + WHERE processlist_id = connection_id(); + +let $disable_instruments= + UPDATE performance_schema.setup_instruments + SET enabled='no', timed='no' + WHERE name IN ('transaction'); + +let $enable_instruments= + UPDATE performance_schema.setup_instruments + SET enabled='yes', timed='yes' + WHERE name IN ('transaction'); + +let $def_count = -1; + +--disable_warnings +DROP PROCEDURE IF EXISTS clear_transaction_tables; +--enable_warnings + +--disable_result_log + +DELIMITER $$; +CREATE PROCEDURE clear_transaction_tables() +BEGIN + truncate table performance_schema.events_transactions_current; + truncate table performance_schema.events_transactions_history; + truncate table performance_schema.events_transactions_history_long; + truncate table performance_schema.events_transactions_summary_by_thread_by_event_name; + truncate table performance_schema.events_transactions_summary_by_account_by_event_name; + truncate table performance_schema.events_transactions_summary_by_host_by_event_name; + truncate table performance_schema.events_transactions_summary_by_user_by_event_name; + truncate table performance_schema.events_transactions_summary_global_by_event_name; +END$$ + +CREATE PROCEDURE clear_transaction_history() +BEGIN + truncate table performance_schema.events_transactions_current; + truncate table performance_schema.events_transactions_history; + truncate table performance_schema.events_transactions_history_long; +END$$ + +CREATE PROCEDURE clear_statement_history() +BEGIN + truncate table performance_schema.events_statements_current; + truncate table performance_schema.events_statements_history; + truncate table performance_schema.events_statements_history_long; +END$$ + +CREATE PROCEDURE clear_history() +BEGIN + truncate table performance_schema.events_statements_current; + truncate table performance_schema.events_statements_history; + truncate table performance_schema.events_statements_history_long; + truncate table performance_schema.events_transactions_current; + truncate table performance_schema.events_transactions_history; + truncate table performance_schema.events_transactions_history_long; +END$$ + +CREATE PROCEDURE transaction_verifier(IN i_table INT, + IN i_thread_id INT, + IN i_event_name VARCHAR(64), + IN i_state VARCHAR(32), + IN i_xid_format_id INT, + IN i_xid_gtrid VARCHAR(130), + IN i_xid_bqual VARCHAR(130), + IN i_xa_state VARCHAR(64), + IN i_gtid VARCHAR(64), + IN i_access_mode VARCHAR(32), + IN i_isolation_level VARCHAR(64), + IN i_autocommit VARCHAR(16), + IN i_savepoints INT, + IN i_rb_savepoint INT, + IN i_rel_savepoint INT, + IN i_expected INT) +BEGIN + DECLARE table_name VARCHAR(64); + SET @thread_id = i_thread_id; + SET @event_id = 0; + SET @event_name = i_event_name; + SET @state = i_state; + SET @xid_format_id = i_xid_format_id; + SET @xid_gtrid = i_xid_gtrid; + SET @xid_bqual = i_xid_bqual; + SET @xa_state = i_xa_state; + SET @gtid = i_gtid; + SET @access_mode = i_access_mode; + SET @isolation_level = i_isolation_level; + SET @autocommit = i_autocommit; + SET @savepoints = i_savepoints; + SET @rb_savepoint = i_rb_savepoint; + SET @rel_savepoint = i_rel_savepoint; + SET @expected = i_expected; + + # + # Build verification query based upon input parameters + # + + IF i_table = 0 THEN + SET table_name = 'performance_schema.events_transactions_current'; + ELSEIF i_table = 1 THEN + SET table_name = 'performance_schema.events_transactions_history'; + ELSEIF i_table = 2 THEN + SET table_name = 'performance_schema.events_transactions_history_long'; + ELSE + SET table_name = 'performance_schema.events_transactions_history'; + END IF; + + SET @query = CONCAT('SELECT COUNT(*) INTO @actual FROM ', table_name, ' WHERE'); + + IF i_thread_id != 0 THEN + SET @query = CONCAT(@query, ' (thread_id = @thread_id)'); + END IF; + IF i_event_name != '' THEN + SET @query = CONCAT(@query, ' AND (event_name = @event_name)'); + END IF; + IF i_state != '' THEN + SET @query = CONCAT(@query, ' AND (state = @state)'); + END IF; + IF i_xid_format_id != '' THEN + SET @query = CONCAT(@query, ' AND (xid_format_id = @xid_format_id)'); + END IF; + IF i_xid_gtrid != '' THEN + SET @query = CONCAT(@query, ' AND (xid_gtrid = @xid_gtrid)'); + END IF; + IF i_xid_bqual != '' THEN + SET @query = CONCAT(@query, ' AND (xid_bqual = @xid_bqual)'); + END IF; + IF i_xa_state != '' THEN + SET @query = CONCAT(@query, ' AND (xa_state = @xa_state)'); + END IF; + IF i_gtid = 'NULL' THEN + SET @query = CONCAT(@query, ' AND (gtid IS NULL)'); + ELSEIF i_gtid != '' THEN + SET @query = CONCAT(@query, ' AND (gtid = @gtid)'); + END IF; + IF i_access_mode != '' THEN + SET @query = CONCAT(@query, ' AND (access_mode = @access_mode)'); + END IF; + IF i_isolation_level != '' THEN + SET @query = CONCAT(@query, ' AND (isolation_level = @isolation_level)'); + END IF; + IF i_autocommit != '' THEN + SET @query = CONCAT(@query, ' AND (autocommit = @autocommit)'); + END IF; + IF i_savepoints != 0 THEN + SET @query = CONCAT(@query, ' AND (number_of_savepoints = @savepoints)'); + END IF; + IF i_rb_savepoint != 0 THEN + SET @query = CONCAT(@query, ' AND (number_of_rollback_to_savepoint = @rb_savepoint)'); + END IF; + IF i_rel_savepoint != 0 THEN + SET @query = CONCAT(@query, ' AND (number_of_release_savepoint = @rel_savepoint)'); + END IF; + + SET @query = CONCAT(@query, ' ORDER BY event_id;'); + + ## DEBUG ## SELECT * FROM performance_schema.events_transactions_history ORDER BY event_id; + ## SELECT @query AS "QUERY"; + PREPARE stmt1 FROM @query; + EXECUTE stmt1; + DEALLOCATE PREPARE stmt1; + + SELECT LPAD(@actual, 6, ' ') AS "ACTUAL", LPAD(@expected, 8, ' ') AS "EXPECTED"; + + IF @actual != @expected THEN + SELECT "" AS "ERROR: Row count mismatch"; + SELECT @query AS "VERIFIER QUERY:"; + SELECT ""; + + SET @columns = ' LPAD(@thread_id, 9, " ") AS thread_id,'; + SET @columns = CONCAT(@columns, ' LPAD(@event_id, 10, " ") AS "..event_id",'); + SET @columns = CONCAT(@columns, ' RPAD(@event_name, 11, " ") AS "event_name ",'); + SET @columns = CONCAT(@columns, ' RPAD(@state, 11, " ") AS "state ",'); + SET @columns = CONCAT(@columns, ' RPAD(@xid_format_id, 15, " ") AS "xid_format_id ",'); + SET @columns = CONCAT(@columns, ' RPAD(@xid_gtrid, 15, " ") AS "xid_gtrid ",'); + SET @columns = CONCAT(@columns, ' RPAD(@xid_bqual, 15, " ") AS "xid_bqual ",'); + SET @columns = CONCAT(@columns, ' RPAD(@xa_state, 12, " ") AS "xa_state ",'); + SET @columns = CONCAT(@columns, ' RPAD(@gtid, 38, " ") AS "gtid ",'); + SET @columns = CONCAT(@columns, ' RPAD(@access_mode, 11, " ") AS access_mode,'); + SET @columns = CONCAT(@columns, ' RPAD(@isolation_level, 16, " ") AS "isolation_level ",'); + SET @columns = CONCAT(@columns, ' RPAD(@autocommit, 10, " ") AS autocommit,'); + SET @columns = CONCAT(@columns, ' LPAD(@savepoints, 10, " ") AS savepoints,'); + SET @columns = CONCAT(@columns, ' LPAD(@rb_savepoint, 21, " ") AS rollback_to_savepoint,'); + SET @columns = CONCAT(@columns, ' LPAD(@rel_savepoint, 17, " ") AS release_savepoint'); + SET @query2 = CONCAT('SELECT', ' LPAD(@expected, 13, " ") AS ROWS_EXPECTED, ', @columns, ';'); +# SET @query2 = CONCAT('SELECT " " AS EXPECTED, ', @columns, ';'); + PREPARE stmt2 FROM @query2; + EXECUTE stmt2; + DEALLOCATE PREPARE stmt2; + + SET @columns = ' LPAD(thread_id, 9, " ") AS thread_id,'; + SET @columns = CONCAT(@columns, ' LPAD(event_id, 10, " ") AS "..event_id",'); + SET @columns = CONCAT(@columns, ' RPAD(event_name, 11, " ") AS "event_name ",'); + SET @columns = CONCAT(@columns, ' RPAD(state, 11, " ") AS "state ",'); + SET @columns = CONCAT(@columns, ' RPAD(IFNULL(xid_format_id, "NULL"), 15, " ") AS "xid_format_id ",'); + SET @columns = CONCAT(@columns, ' RPAD(IFNULL(xid_gtrid, "NULL"), 15, " ") AS "xid_gtrid ",'); + SET @columns = CONCAT(@columns, ' RPAD(IFNULL(xid_bqual, "NULL"), 15, " ") AS "xid_bqual ",'); + SET @columns = CONCAT(@columns, ' RPAD(IFNULL(xa_state, "NULL"), 12, " ") AS "xa_state ",'); + SET @columns = CONCAT(@columns, ' RPAD(IFNULL(gtid, "NULL"), 38, " ") AS "gtid ",'); + SET @columns = CONCAT(@columns, ' RPAD(access_mode, 11, " ") AS access_mode,'); + SET @columns = CONCAT(@columns, ' RPAD(isolation_level, 16, " ") AS "isolation_level ",'); + SET @columns = CONCAT(@columns, ' RPAD(autocommit, 10, " ") AS autocommit,'); + SET @columns = CONCAT(@columns, ' LPAD(number_of_savepoints, 10, " ") AS savepoints,'); + SET @columns = CONCAT(@columns, ' LPAD(number_of_rollback_to_savepoint, 21, " ") AS rollback_to_savepoint,'); + SET @columns = CONCAT(@columns, ' LPAD(number_of_release_savepoint, 17, " ") AS release_savepoint'); +# SET @query3 = CONCAT('SELECT " " AS "ACTUAL ", ', @columns, ' FROM ', table_name, ' ORDER BY event_id;'); + SET @query3 = CONCAT('SELECT', ' LPAD(@actual, 13, " ") AS "ROWS_ACTUAL ",', @columns, ' FROM ', table_name, ' ORDER BY event_id;'); + PREPARE stmt3 FROM @query3; + EXECUTE stmt3; + DEALLOCATE PREPARE stmt3; + + END IF; +END$$ + +DELIMITER ;$$ + +--enable_result_log + + + diff --git a/mysql-test/suite/perfschema/include/upgrade_check.inc b/mysql-test/suite/perfschema/include/upgrade_check.inc index 440eb8f7123..c37caf17594 100644 --- a/mysql-test/suite/perfschema/include/upgrade_check.inc +++ b/mysql-test/suite/perfschema/include/upgrade_check.inc @@ -3,7 +3,6 @@ # --source include/count_sessions.inc ---error 1 --exec $MYSQL_UPGRADE --skip-verbose --force > $out_file 2> $err_file --source include/wait_until_count_sessions.inc @@ -14,3 +13,4 @@ --error 0,1 --remove_file $err_file +--source include/mysql_upgrade_cleanup.inc
\ No newline at end of file diff --git a/mysql-test/suite/perfschema/include/wait_for_pfs_thread_count.inc b/mysql-test/suite/perfschema/include/wait_for_pfs_thread_count.inc index a2ed41d9d1b..2375bdf1cac 100644 --- a/mysql-test/suite/perfschema/include/wait_for_pfs_thread_count.inc +++ b/mysql-test/suite/perfschema/include/wait_for_pfs_thread_count.inc @@ -14,7 +14,7 @@ let $wait_condition= # Because instrumentation is optional, we use "<=" here. let $wait_condition= - select count(*) <= 1 from performance_schema.threads + select count(*) <= 2 from performance_schema.threads where `TYPE`='FOREGROUND'; --source include/wait_condition.inc diff --git a/mysql-test/suite/perfschema/r/all_tests.result b/mysql-test/suite/perfschema/r/all_tests.result index 3f413ca9a1e..6b343d9d801 100644 --- a/mysql-test/suite/perfschema/r/all_tests.result +++ b/mysql-test/suite/perfschema/r/all_tests.result @@ -10,10 +10,13 @@ where table_schema='performance_schema'; update t2 set test_name= replace(test_name, "events_waits_summary_", "ews_"); update t2 set test_name= replace(test_name, "events_stages_summary_", "esgs_"); update t2 set test_name= replace(test_name, "events_statements_summary_", "esms_"); +update t2 set test_name= replace(test_name, "events_transactions_summary_", "ets_"); update t2 set test_name= replace(test_name, "file_summary_", "fs_"); update t2 set test_name= replace(test_name, "objects_summary_", "os_"); update t2 set test_name= replace(test_name, "table_io_waits_summary_", "tiws_"); update t2 set test_name= replace(test_name, "table_lock_waits_summary_", "tlws_"); +update t2 set test_name= replace(test_name, "memory_summary_", "mems_"); +update t2 set test_name= replace(test_name, "user_variables_", "uvar_"); delete from t2 where t2.test_name in (select t1.test_name from t1); select test_name as `MISSING DDL/DML TESTS` from t2; MISSING DDL/DML TESTS diff --git a/mysql-test/suite/perfschema/r/alter_table_progress.result b/mysql-test/suite/perfschema/r/alter_table_progress.result new file mode 100644 index 00000000000..6625f965079 --- /dev/null +++ b/mysql-test/suite/perfschema/r/alter_table_progress.result @@ -0,0 +1,79 @@ +drop table if exists t1; +create table t1(a int) engine = myisam; +insert into t1 values (1), (2), (3), (4), (5); +update performance_schema.threads +set instrumented = 'NO' + where processlist_id = connection_id(); +truncate table performance_schema.events_statements_history_long; +truncate table performance_schema.events_stages_history_long; +SET DEBUG_SYNC='RESET'; +SET DEBUG_SYNC='copy_data_between_tables_before SIGNAL found_row WAIT_FOR wait_row EXECUTE 5'; +ALTER TABLE t1 engine = innodb;; +SET DEBUG_SYNC='now WAIT_FOR found_row'; +select event_id from performance_schema.events_statements_current +where thread_id = @con1_thread_id into @con1_stmt_id; +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED +from performance_schema.events_stages_current +where (thread_id = @con1_thread_id); +EVENT_NAME WORK_COMPLETED WORK_ESTIMATED +stage/sql/copy to tmp table 0 5 +SET DEBUG_SYNC='now SIGNAL wait_row'; +SET DEBUG_SYNC='now WAIT_FOR found_row'; +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED +from performance_schema.events_stages_current +where (thread_id = @con1_thread_id); +EVENT_NAME WORK_COMPLETED WORK_ESTIMATED +stage/sql/copy to tmp table 1 5 +SET DEBUG_SYNC='now SIGNAL wait_row'; +SET DEBUG_SYNC='now WAIT_FOR found_row'; +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED +from performance_schema.events_stages_current +where (thread_id = @con1_thread_id); +EVENT_NAME WORK_COMPLETED WORK_ESTIMATED +stage/sql/copy to tmp table 2 5 +SET DEBUG_SYNC='now SIGNAL wait_row'; +SET DEBUG_SYNC='now WAIT_FOR found_row'; +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED +from performance_schema.events_stages_current +where (thread_id = @con1_thread_id); +EVENT_NAME WORK_COMPLETED WORK_ESTIMATED +stage/sql/copy to tmp table 3 5 +SET DEBUG_SYNC='now SIGNAL wait_row'; +SET DEBUG_SYNC='now WAIT_FOR found_row'; +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED +from performance_schema.events_stages_current +where (thread_id = @con1_thread_id); +EVENT_NAME WORK_COMPLETED WORK_ESTIMATED +stage/sql/copy to tmp table 4 5 +SET DEBUG_SYNC='now SIGNAL wait_row'; +select "After payload"; +After payload +After payload +Dumping ALTER TABLE stages +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED +from performance_schema.events_stages_history_long +where (thread_id = @con1_thread_id) +and (nesting_event_id = @con1_stmt_id) +order by thread_id, event_id; +EVENT_NAME WORK_COMPLETED WORK_ESTIMATED +stage/sql/starting NULL NULL +stage/sql/checking permissions NULL NULL +stage/sql/checking permissions NULL NULL +stage/sql/init NULL NULL +stage/sql/Opening tables NULL NULL +stage/sql/setup NULL NULL +stage/sql/creating table NULL NULL +stage/sql/After create NULL NULL +stage/sql/System lock NULL NULL +stage/sql/copy to tmp table 5 5 +stage/sql/rename result table NULL NULL +stage/sql/end NULL NULL +stage/sql/query end NULL NULL +stage/sql/closing tables NULL NULL +stage/sql/freeing items NULL NULL +stage/sql/cleaning up NULL NULL +SET DEBUG_SYNC='RESET'; +drop table t1; +update performance_schema.threads +set instrumented = 'YES' + where processlist_id = connection_id(); diff --git a/mysql-test/suite/perfschema/r/bad_option.result b/mysql-test/suite/perfschema/r/bad_option.result new file mode 100644 index 00000000000..7c61657af05 --- /dev/null +++ b/mysql-test/suite/perfschema/r/bad_option.result @@ -0,0 +1,4 @@ +# Server start with invalid startup option value 'performance-schema-enabled=maybe' : pass +# Server start with ambigous startup option 'performance-schema-max_=12' : pass +# Server start with invalid startup option '--performance-schema-unknown_99' : pass +# Server start with invalid startup option value '--datadir=bad_option_h_param' : pass diff --git a/mysql-test/suite/perfschema/r/bad_option_1.result b/mysql-test/suite/perfschema/r/bad_option_1.result deleted file mode 100644 index 02fd04afd33..00000000000 --- a/mysql-test/suite/perfschema/r/bad_option_1.result +++ /dev/null @@ -1,2 +0,0 @@ -Found: unknown variable 'performance-schema-enabled=maybe' -Found: Aborting diff --git a/mysql-test/suite/perfschema/r/bad_option_2.result b/mysql-test/suite/perfschema/r/bad_option_2.result deleted file mode 100644 index d8fda2af3b6..00000000000 --- a/mysql-test/suite/perfschema/r/bad_option_2.result +++ /dev/null @@ -1 +0,0 @@ -Found: ambiguous option '--performance-schema-max_=12' diff --git a/mysql-test/suite/perfschema/r/bad_option_3.result b/mysql-test/suite/perfschema/r/bad_option_3.result deleted file mode 100644 index ec717d6f7d2..00000000000 --- a/mysql-test/suite/perfschema/r/bad_option_3.result +++ /dev/null @@ -1,2 +0,0 @@ -Found: unknown option '-x' -Found: Aborting diff --git a/mysql-test/suite/perfschema/r/bad_option_4.result b/mysql-test/suite/perfschema/r/bad_option_4.result deleted file mode 100644 index 812ee546200..00000000000 --- a/mysql-test/suite/perfschema/r/bad_option_4.result +++ /dev/null @@ -1,2 +0,0 @@ -Found: Can't change dir to.*bad_option_h_param -Found: Aborting diff --git a/mysql-test/suite/perfschema/r/bad_option_5.result b/mysql-test/suite/perfschema/r/bad_option_5.result deleted file mode 100644 index b318b6e0482..00000000000 --- a/mysql-test/suite/perfschema/r/bad_option_5.result +++ /dev/null @@ -1,2 +0,0 @@ -Found: unknown option '-X' -Found: Aborting diff --git a/mysql-test/suite/perfschema/r/batch_table_io_func.result b/mysql-test/suite/perfschema/r/batch_table_io_func.result new file mode 100644 index 00000000000..9d923934c64 --- /dev/null +++ b/mysql-test/suite/perfschema/r/batch_table_io_func.result @@ -0,0 +1,186 @@ +UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES'; +UPDATE performance_schema.setup_instruments SET enabled = 'YES' +WHERE name in ('wait/io/table/sql/handler', +'wait/lock/table/sql/handler'); +drop procedure if exists before_payload; +drop procedure if exists after_payload; +create procedure before_payload() +begin +TRUNCATE TABLE performance_schema.table_io_waits_summary_by_index_usage; +TRUNCATE TABLE performance_schema.table_io_waits_summary_by_table; +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; +end +$$ +create procedure after_payload() +begin +select count(1) as number_seen, +OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, +OPERATION, NUMBER_OF_BYTES +from performance_schema.events_waits_history_long +where OBJECT_SCHEMA = "test" + group by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, OPERATION, NUMBER_OF_BYTES; +select OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, +COUNT_STAR, COUNT_READ, COUNT_WRITE +from performance_schema.table_io_waits_summary_by_index_usage +where OBJECT_SCHEMA = "test" + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; +select OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, +COUNT_STAR, COUNT_READ, COUNT_WRITE +from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA = "test" + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +end +$$ +drop table if exists t1; +drop table if exists t2; +drop table if exists t3; +create table t0(v int); +create table t1(id1 int, a int); +create table t2(id1 int, id2 int, b int); +create table t3(id2 int, id3 int, c int); +insert into t0 values +(0), (1), (2), (3), (4), +(5), (6), (7), (8), (9); +insert into t1(id1, a) +select v, 100*v from t0; +insert into t2(id1, id2, b) +select X.v, 10*X.v + Y.v, 100*X.v + 10*Y.v +from t0 X, t0 Y; +insert into t3(id2, id3, c) +select 10*X.v + Y.v, 100*X.v + 10*Y.v + Z.v, 100*X.v + 10*Y.v + Z.v +from t0 X, t0 Y, t0 Z; +analyze table t1; +Table Op Msg_type Msg_text +test.t1 analyze status OK +analyze table t2; +Table Op Msg_type Msg_text +test.t2 analyze status OK +analyze table t3; +Table Op Msg_type Msg_text +test.t3 analyze status OK +select * from t1 order by a; +id1 a +0 0 +1 100 +2 200 +3 300 +4 400 +5 500 +6 600 +7 700 +8 800 +9 900 +select * from t2 +where (b >= 180) and (b <= 220) +order by b; +id1 id2 b +1 18 180 +1 19 190 +2 20 200 +2 21 210 +2 22 220 +select * from t3 +where (c >= 587) and (c <= 612) +order by c; +id2 id3 c +58 587 587 +58 588 588 +58 589 589 +59 590 590 +59 591 591 +59 592 592 +59 593 593 +59 594 594 +59 595 595 +59 596 596 +59 597 597 +59 598 598 +59 599 599 +60 600 600 +60 601 601 +60 602 602 +60 603 603 +60 604 604 +60 605 605 +60 606 606 +60 607 607 +60 608 608 +60 609 609 +61 610 610 +61 611 611 +61 612 612 +explain select t1.*, t2.*, t3.* +from t1 join t2 using (id1) join t3 using (id2); +id select_type table partitions type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 10 100.00 NULL +1 SIMPLE t2 NULL ALL NULL NULL NULL NULL 100 10.00 Using where; Using join buffer (Block Nested Loop) +1 SIMPLE t3 NULL ALL NULL NULL NULL NULL 1000 10.00 Using where; Using join buffer (Block Nested Loop) +Warnings: +Note 1003 /* select#1 */ select `test`.`t1`.`id1` AS `id1`,`test`.`t1`.`a` AS `a`,`test`.`t2`.`id1` AS `id1`,`test`.`t2`.`id2` AS `id2`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`id2` AS `id2`,`test`.`t3`.`id3` AS `id3`,`test`.`t3`.`c` AS `c` from `test`.`t1` join `test`.`t2` join `test`.`t3` where ((`test`.`t2`.`id1` = `test`.`t1`.`id1`) and (`test`.`t3`.`id2` = `test`.`t2`.`id2`)) +call before_payload(); +select t1.*, t2.*, t3.* +from t1 join t2 using (id1) join t3 using (id2); +call after_payload(); +number_seen OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME INDEX_NAME OPERATION NUMBER_OF_BYTES +11 TABLE test t1 NULL fetch 1 +1 TABLE test t1 NULL read external NULL +101 TABLE test t2 NULL fetch 1 +1 TABLE test t2 NULL read external NULL +1 TABLE test t3 NULL fetch 1000 +1 TABLE test t3 NULL read external NULL +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME INDEX_NAME COUNT_STAR COUNT_READ COUNT_WRITE +TABLE test t0 NULL 0 0 0 +TABLE test t1 NULL 11 11 0 +TABLE test t2 NULL 101 101 0 +TABLE test t3 NULL 1000 1000 0 +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_READ COUNT_WRITE +TABLE test t0 0 0 0 +TABLE test t1 11 11 0 +TABLE test t2 101 101 0 +TABLE test t3 1000 1000 0 +alter table t1 add unique index(id1); +alter table t2 add unique index(id2); +alter table t2 add index(id1); +alter table t3 add unique index(id3); +alter table t3 add index(id2); +explain select t1.*, t2.*, t3.* +from t1 join t2 using (id1) join t3 using (id2); +id select_type table partitions type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 NULL ALL id1 NULL NULL NULL 10 100.00 Using where +1 SIMPLE t2 NULL ref id2,id1 id1 5 test.t1.id1 10 100.00 Using where +1 SIMPLE t3 NULL ref id2 id2 5 test.t2.id2 10 100.00 NULL +Warnings: +Note 1003 /* select#1 */ select `test`.`t1`.`id1` AS `id1`,`test`.`t1`.`a` AS `a`,`test`.`t2`.`id1` AS `id1`,`test`.`t2`.`id2` AS `id2`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`id2` AS `id2`,`test`.`t3`.`id3` AS `id3`,`test`.`t3`.`c` AS `c` from `test`.`t1` join `test`.`t2` join `test`.`t3` where ((`test`.`t2`.`id1` = `test`.`t1`.`id1`) and (`test`.`t3`.`id2` = `test`.`t2`.`id2`)) +call before_payload(); +select t1.*, t2.*, t3.* +from t1 join t2 using (id1) join t3 using (id2); +call after_payload(); +number_seen OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME INDEX_NAME OPERATION NUMBER_OF_BYTES +11 TABLE test t1 NULL fetch 1 +1 TABLE test t1 id1 read external NULL +110 TABLE test t2 id1 fetch 1 +1 TABLE test t2 id2 read external NULL +100 TABLE test t3 id2 fetch 10 +1 TABLE test t3 id3 read external NULL +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME INDEX_NAME COUNT_STAR COUNT_READ COUNT_WRITE +TABLE test t0 NULL 0 0 0 +TABLE test t1 NULL 11 11 0 +TABLE test t1 id1 0 0 0 +TABLE test t2 id1 110 110 0 +TABLE test t2 id2 0 0 0 +TABLE test t3 id2 1000 1000 0 +TABLE test t3 id3 0 0 0 +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_READ COUNT_WRITE +TABLE test t0 0 0 0 +TABLE test t1 11 11 0 +TABLE test t2 110 110 0 +TABLE test t3 1000 1000 0 +drop table t0; +drop table t1; +drop table t2; +drop table t3; +drop procedure before_payload; +drop procedure after_payload; +UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; diff --git a/mysql-test/suite/perfschema/r/binlog_edge_mix.result b/mysql-test/suite/perfschema/r/binlog_edge_mix.result index b9673e74855..e4b95cb69ff 100644 --- a/mysql-test/suite/perfschema/r/binlog_edge_mix.result +++ b/mysql-test/suite/perfschema/r/binlog_edge_mix.result @@ -84,19 +84,19 @@ Warnings: Note 1051 Unknown table 'test.marker_multi_delete' use my_replicated_db; insert into performance_schema.setup_actors -values ('FOO', 'FOO', 'FOO'); +values ('FOO', 'FOO', 'FOO', 'YES', 'YES'); delete my_tx_table.*, performance_schema.setup_actors.* from my_tx_table, performance_schema.setup_actors where my_tx_table.a != 1000 or performance_schema.setup_actors.role='FOO'; insert into performance_schema.setup_actors -values ('BAR', 'BAR', 'BAR'); +values ('BAR', 'BAR', 'BAR', 'YES', 'YES'); delete my_non_tx_table.*, performance_schema.setup_actors.* from my_non_tx_table, performance_schema.setup_actors where my_non_tx_table.a != 1000 or performance_schema.setup_actors.role='BAR'; insert into performance_schema.setup_actors -values ('BAZ', 'BAZ', 'BAZ'); +values ('BAZ', 'BAZ', 'BAZ', 'YES', 'YES'); delete my_bh_table.*, performance_schema.setup_actors.* from my_bh_table, performance_schema.setup_actors where my_bh_table.a != 1000 @@ -175,4 +175,4 @@ master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */ master-bin.000001 # Query # # drop database my_replicated_db truncate table performance_schema.setup_actors; -insert into performance_schema.setup_actors values ('%', '%', '%'); +insert into performance_schema.setup_actors values ('%', '%', '%', 'YES', 'YES'); diff --git a/mysql-test/suite/perfschema/r/binlog_edge_row.result b/mysql-test/suite/perfschema/r/binlog_edge_row.result index 40595a804f7..52296de4bb9 100644 --- a/mysql-test/suite/perfschema/r/binlog_edge_row.result +++ b/mysql-test/suite/perfschema/r/binlog_edge_row.result @@ -86,19 +86,19 @@ Warnings: Note 1051 Unknown table 'test.marker_multi_delete' use my_replicated_db; insert into performance_schema.setup_actors -values ('FOO', 'FOO', 'FOO'); +values ('FOO', 'FOO', 'FOO', 'YES', 'YES'); delete my_tx_table.*, performance_schema.setup_actors.* from my_tx_table, performance_schema.setup_actors where my_tx_table.a != 1000 or performance_schema.setup_actors.role='FOO'; insert into performance_schema.setup_actors -values ('BAR', 'BAR', 'BAR'); +values ('BAR', 'BAR', 'BAR', 'YES', 'YES'); delete my_non_tx_table.*, performance_schema.setup_actors.* from my_non_tx_table, performance_schema.setup_actors where my_non_tx_table.a != 1000 or performance_schema.setup_actors.role='BAR'; insert into performance_schema.setup_actors -values ('BAZ', 'BAZ', 'BAZ'); +values ('BAZ', 'BAZ', 'BAZ', 'YES', 'YES'); delete my_bh_table.*, performance_schema.setup_actors.* from my_bh_table, performance_schema.setup_actors where my_bh_table.a != 1000 @@ -180,4 +180,4 @@ master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */ master-bin.000001 # Query # # drop database my_replicated_db truncate table performance_schema.setup_actors; -insert into performance_schema.setup_actors values ('%', '%', '%'); +insert into performance_schema.setup_actors values ('%', '%', '%', 'YES', 'YES'); diff --git a/mysql-test/suite/perfschema/r/binlog_edge_stmt.result b/mysql-test/suite/perfschema/r/binlog_edge_stmt.result index 58501951400..fa41334f69f 100644 --- a/mysql-test/suite/perfschema/r/binlog_edge_stmt.result +++ b/mysql-test/suite/perfschema/r/binlog_edge_stmt.result @@ -120,19 +120,19 @@ Warnings: Note 1051 Unknown table 'test.marker_multi_delete' use my_replicated_db; insert into performance_schema.setup_actors -values ('FOO', 'FOO', 'FOO'); +values ('FOO', 'FOO', 'FOO', 'YES', 'YES'); delete my_tx_table.*, performance_schema.setup_actors.* from my_tx_table, performance_schema.setup_actors where my_tx_table.a != 1000 or performance_schema.setup_actors.role='FOO'; insert into performance_schema.setup_actors -values ('BAR', 'BAR', 'BAR'); +values ('BAR', 'BAR', 'BAR', 'YES', 'YES'); delete my_non_tx_table.*, performance_schema.setup_actors.* from my_non_tx_table, performance_schema.setup_actors where my_non_tx_table.a != 1000 or performance_schema.setup_actors.role='BAR'; insert into performance_schema.setup_actors -values ('BAZ', 'BAZ', 'BAZ'); +values ('BAZ', 'BAZ', 'BAZ', 'YES', 'YES'); delete my_bh_table.*, performance_schema.setup_actors.* from my_bh_table, performance_schema.setup_actors where my_bh_table.a != 1000 @@ -255,4 +255,4 @@ master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_multi_del master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `marker_end` /* generated by server */ master-bin.000001 # Query # # drop database my_replicated_db truncate table performance_schema.setup_actors; -insert into performance_schema.setup_actors values ('%', '%', '%'); +insert into performance_schema.setup_actors values ('%', '%', '%', 'YES', 'YES'); diff --git a/mysql-test/suite/perfschema/r/binlog_ok_mix.result b/mysql-test/suite/perfschema/r/binlog_ok_mix.result index 3e6237e1256..cc2c08baa8d 100644 --- a/mysql-test/suite/perfschema/r/binlog_ok_mix.result +++ b/mysql-test/suite/perfschema/r/binlog_ok_mix.result @@ -43,10 +43,10 @@ values ('XXX', 'XXX', 'XXX'), ('ZZZ', 'ZZZ', 'ZZZ'); select * from performance_schema.setup_actors where user in ('XXX', 'YYY', 'ZZZ') order by user; -HOST USER ROLE -XXX XXX XXX -YYY YYY YYY -ZZZ ZZZ ZZZ +HOST USER ROLE ENABLED HISTORY +XXX XXX XXX YES YES +YYY YYY YYY YES YES +ZZZ ZZZ ZZZ YES YES insert into performance_schema.setup_objects (object_type, object_schema, object_name, enabled, timed) values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'), diff --git a/mysql-test/suite/perfschema/r/binlog_ok_row.result b/mysql-test/suite/perfschema/r/binlog_ok_row.result index 5cf9062138c..0beea6ae878 100644 --- a/mysql-test/suite/perfschema/r/binlog_ok_row.result +++ b/mysql-test/suite/perfschema/r/binlog_ok_row.result @@ -43,10 +43,10 @@ values ('XXX', 'XXX', 'XXX'), ('ZZZ', 'ZZZ', 'ZZZ'); select * from performance_schema.setup_actors where user in ('XXX', 'YYY', 'ZZZ') order by user; -HOST USER ROLE -XXX XXX XXX -YYY YYY YYY -ZZZ ZZZ ZZZ +HOST USER ROLE ENABLED HISTORY +XXX XXX XXX YES YES +YYY YYY YYY YES YES +ZZZ ZZZ ZZZ YES YES insert into performance_schema.setup_objects (object_type, object_schema, object_name, enabled, timed) values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'), diff --git a/mysql-test/suite/perfschema/r/binlog_ok_stmt.result b/mysql-test/suite/perfschema/r/binlog_ok_stmt.result index fe71c3024d1..9fd9af6c383 100644 --- a/mysql-test/suite/perfschema/r/binlog_ok_stmt.result +++ b/mysql-test/suite/perfschema/r/binlog_ok_stmt.result @@ -43,10 +43,10 @@ values ('XXX', 'XXX', 'XXX'), ('ZZZ', 'ZZZ', 'ZZZ'); select * from performance_schema.setup_actors where user in ('XXX', 'YYY', 'ZZZ') order by user; -HOST USER ROLE -XXX XXX XXX -YYY YYY YYY -ZZZ ZZZ ZZZ +HOST USER ROLE ENABLED HISTORY +XXX XXX XXX YES YES +YYY YYY YYY YES YES +ZZZ ZZZ ZZZ YES YES insert into performance_schema.setup_objects (object_type, object_schema, object_name, enabled, timed) values ('TABLE', 'DB1', 'AAA', 'YES', 'YES'), diff --git a/mysql-test/suite/perfschema/r/checksum.result b/mysql-test/suite/perfschema/r/checksum.result index f2a0f5a7713..1ed6e70e6de 100644 --- a/mysql-test/suite/perfschema/r/checksum.result +++ b/mysql-test/suite/perfschema/r/checksum.result @@ -16,6 +16,14 @@ checksum table performance_schema.events_statements_summary_by_host_by_event_nam checksum table performance_schema.events_statements_summary_by_thread_by_event_name; checksum table performance_schema.events_statements_summary_by_user_by_event_name; checksum table performance_schema.events_statements_summary_global_by_event_name; +checksum table performance_schema.events_transactions_current; +checksum table performance_schema.events_transactions_history; +checksum table performance_schema.events_transactions_history_long; +checksum table performance_schema.events_transactions_summary_by_account_by_event_name; +checksum table performance_schema.events_transactions_summary_by_host_by_event_name; +checksum table performance_schema.events_transactions_summary_by_thread_by_event_name; +checksum table performance_schema.events_transactions_summary_by_user_by_event_name; +checksum table performance_schema.events_transactions_summary_global_by_event_name; checksum table performance_schema.events_waits_current; checksum table performance_schema.events_waits_history; checksum table performance_schema.events_waits_history_long; @@ -61,6 +69,14 @@ checksum table performance_schema.events_statements_summary_by_host_by_event_nam checksum table performance_schema.events_statements_summary_by_thread_by_event_name extended; checksum table performance_schema.events_statements_summary_by_user_by_event_name extended; checksum table performance_schema.events_statements_summary_global_by_event_name extended; +checksum table performance_schema.events_transactions_current extended; +checksum table performance_schema.events_transactions_history extended; +checksum table performance_schema.events_transactions_history_long extended; +checksum table performance_schema.events_transactions_summary_by_account_by_event_name extended; +checksum table performance_schema.events_transactions_summary_by_host_by_event_name extended; +checksum table performance_schema.events_transactions_summary_by_thread_by_event_name extended; +checksum table performance_schema.events_transactions_summary_by_user_by_event_name extended; +checksum table performance_schema.events_transactions_summary_global_by_event_name extended; checksum table performance_schema.events_waits_current extended; checksum table performance_schema.events_waits_history extended; checksum table performance_schema.events_waits_history_long extended; diff --git a/mysql-test/suite/perfschema/r/cnf_option.result b/mysql-test/suite/perfschema/r/cnf_option.result index 85adfb5113d..c991311d136 100644 --- a/mysql-test/suite/perfschema/r/cnf_option.result +++ b/mysql-test/suite/perfschema/r/cnf_option.result @@ -1,6 +1,6 @@ -show variables like 'performance_schema_max_thread_classes'; +show global variables like 'performance_schema_max_thread_classes'; Variable_name Value performance_schema_max_thread_classes 12 -show variables like 'performance_schema_max_thread_instances'; +show global variables like 'performance_schema_max_thread_instances'; Variable_name Value performance_schema_max_thread_instances 318 diff --git a/mysql-test/suite/perfschema/r/column_privilege.result b/mysql-test/suite/perfschema/r/column_privilege.result index b013ea3fcad..62cf8bfbe2e 100644 --- a/mysql-test/suite/perfschema/r/column_privilege.result +++ b/mysql-test/suite/perfschema/r/column_privilege.result @@ -2,7 +2,16 @@ show grants; Grants for root@localhost GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant usage on *.* to 'pfs_user_5'@localhost with GRANT OPTION; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant SELECT(thread_id, event_id) on performance_schema.events_waits_current to 'pfs_user_5'@localhost; grant UPDATE(enabled) on performance_schema.setup_instruments diff --git a/mysql-test/suite/perfschema/r/connect_attrs.result b/mysql-test/suite/perfschema/r/connect_attrs.result index 0a9fddbbdb0..6bd007c3f99 100644 --- a/mysql-test/suite/perfschema/r/connect_attrs.result +++ b/mysql-test/suite/perfschema/r/connect_attrs.result @@ -35,9 +35,11 @@ SELECT COUNT(DISTINCT PROCESSLIST_ID) FROM performance_schema.session_connect_attrs; COUNT(DISTINCT PROCESSLIST_ID) 2 +# must return 1 SELECT COUNT(DISTINCT PROCESSLIST_ID) FROM performance_schema.session_account_connect_attrs; -ERROR 42000: SELECT command denied to user 'wl5924'@'localhost' for table 'session_account_connect_attrs' +COUNT(DISTINCT PROCESSLIST_ID) +1 SELECT COUNT(DISTINCT PROCESSLIST_ID) FROM performance_schema.session_connect_attrs; ERROR 42000: SELECT command denied to user 'wl5924'@'localhost' for table 'session_connect_attrs' diff --git a/mysql-test/suite/perfschema/r/connection.result b/mysql-test/suite/perfschema/r/connection.result index fe312f6fa04..77a3feb9bac 100644 --- a/mysql-test/suite/perfschema/r/connection.result +++ b/mysql-test/suite/perfschema/r/connection.result @@ -1,3 +1,17 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. call dump_all(); processlist_user processlist_host root localhost @@ -11,6 +25,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1a" as status; status user1 in con1a @@ -30,6 +46,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1b" as status; status user1 in con1b @@ -50,6 +68,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1c" as status; status user1 in con1c @@ -71,6 +91,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2a" as status; status user2 in con2a @@ -95,6 +117,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2b" as status; status user2 in con2b @@ -120,6 +144,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2c" as status; status user2 in con2c @@ -146,6 +172,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3a" as status; status user3 in con3a @@ -175,6 +203,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3b" as status; status user3 in con3b @@ -205,6 +235,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3c" as status; status user3 in con3c @@ -236,6 +268,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1a disconnected" as status; status con1a disconnected @@ -266,6 +300,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2a disconnected" as status; status con2a disconnected @@ -295,6 +331,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3a disconnected" as status; status con3a disconnected @@ -323,6 +361,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -349,6 +389,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -375,6 +417,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -401,6 +445,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4a" as status; status user4 in con4a @@ -432,6 +478,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4b" as status; status user4 in con4b @@ -464,6 +512,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4c" as status; status user4 in con4c @@ -497,6 +547,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1b disconnected" as status; status con1b disconnected @@ -529,6 +581,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2b disconnected" as status; status con2b disconnected @@ -560,6 +614,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3b disconnected" as status; status con3b disconnected @@ -590,6 +646,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1c disconnected" as status; status con1c disconnected @@ -619,6 +677,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2c disconnected" as status; status con2c disconnected @@ -647,6 +707,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3c disconnected" as status; status con3c disconnected @@ -674,6 +736,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -696,6 +760,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -715,6 +781,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -734,6 +802,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5a" as status; status user5 in con5a @@ -758,6 +828,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5b" as status; status user5 in con5b @@ -783,6 +855,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5c" as status; status user5 in con5c @@ -809,6 +883,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con 5a, 5b, 5c, 6a, 6b, 6c disconnected" as status; status con 5a, 5b, 5c, 6a, 6b, 6c disconnected @@ -829,6 +905,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -845,6 +923,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -859,6 +939,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -873,3 +955,5 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead diff --git a/mysql-test/suite/perfschema/r/connection_3a.result b/mysql-test/suite/perfschema/r/connection_3a.result index 1f92d67137d..25bbebe23c7 100644 --- a/mysql-test/suite/perfschema/r/connection_3a.result +++ b/mysql-test/suite/perfschema/r/connection_3a.result @@ -1,3 +1,17 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. call dump_all(); processlist_user processlist_host root localhost @@ -11,6 +25,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1a" as status; status user1 in con1a @@ -30,6 +46,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1b" as status; status user1 in con1b @@ -50,6 +68,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1c" as status; status user1 in con1c @@ -71,6 +91,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2a" as status; status user2 in con2a @@ -94,6 +116,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 1 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2b" as status; status user2 in con2b @@ -118,6 +142,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 2 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2c" as status; status user2 in con2c @@ -143,6 +169,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 3 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3a" as status; status user3 in con3a @@ -170,6 +198,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 4 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3b" as status; status user3 in con3b @@ -198,6 +228,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 5 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3c" as status; status user3 in con3c @@ -227,6 +259,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1a disconnected" as status; status con1a disconnected @@ -255,6 +289,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2a disconnected" as status; status con2a disconnected @@ -282,6 +318,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3a disconnected" as status; status con3a disconnected @@ -308,6 +346,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -332,6 +372,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -356,6 +398,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -380,6 +424,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4a" as status; status user4 in con4a @@ -408,6 +454,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 7 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4b" as status; status user4 in con4b @@ -437,6 +485,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 8 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4c" as status; status user4 in con4c @@ -467,6 +517,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1b disconnected" as status; status con1b disconnected @@ -496,6 +548,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2b disconnected" as status; status con2b disconnected @@ -524,6 +578,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3b disconnected" as status; status con3b disconnected @@ -551,6 +607,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1c disconnected" as status; status con1c disconnected @@ -577,6 +635,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2c disconnected" as status; status con2c disconnected @@ -602,6 +662,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3c disconnected" as status; status con3c disconnected @@ -626,6 +688,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -647,6 +711,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -665,6 +731,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -683,6 +751,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5a" as status; status user5 in con5a @@ -706,6 +776,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5b" as status; status user5 in con5b @@ -730,6 +802,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5c" as status; status user5 in con5c @@ -755,6 +829,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con 5a, 5b, 5c, 6a, 6b, 6c disconnected" as status; status con 5a, 5b, 5c, 6a, 6b, 6c disconnected @@ -774,6 +850,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -790,6 +868,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -804,6 +884,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -818,3 +900,5 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead diff --git a/mysql-test/suite/perfschema/r/connection_3a_3u.result b/mysql-test/suite/perfschema/r/connection_3a_3u.result index 0a6229d9f93..49966100ab6 100644 --- a/mysql-test/suite/perfschema/r/connection_3a_3u.result +++ b/mysql-test/suite/perfschema/r/connection_3a_3u.result @@ -1,3 +1,17 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. call dump_all(); processlist_user processlist_host root localhost @@ -11,6 +25,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1a" as status; status user1 in con1a @@ -30,6 +46,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1b" as status; status user1 in con1b @@ -50,6 +68,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1c" as status; status user1 in con1c @@ -71,6 +91,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2a" as status; status user2 in con2a @@ -93,6 +115,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 1 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 1 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2b" as status; status user2 in con2b @@ -116,6 +140,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 2 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 2 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2c" as status; status user2 in con2c @@ -140,6 +166,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 3 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3a" as status; status user3 in con3a @@ -165,6 +193,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 4 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 4 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3b" as status; status user3 in con3b @@ -191,6 +221,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 5 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 5 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3c" as status; status user3 in con3c @@ -218,6 +250,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 6 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1a disconnected" as status; status con1a disconnected @@ -244,6 +278,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 6 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2a disconnected" as status; status con2a disconnected @@ -269,6 +305,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 6 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3a disconnected" as status; status con3a disconnected @@ -293,6 +331,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 6 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -315,6 +355,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 6 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -337,6 +379,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 6 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -359,6 +403,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 6 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 6 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4a" as status; status user4 in con4a @@ -384,6 +430,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 7 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 7 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4b" as status; status user4 in con4b @@ -410,6 +458,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 8 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 8 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4c" as status; status user4 in con4c @@ -437,6 +487,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1b disconnected" as status; status con1b disconnected @@ -463,6 +515,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2b disconnected" as status; status con2b disconnected @@ -488,6 +542,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3b disconnected" as status; status con3b disconnected @@ -512,6 +568,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1c disconnected" as status; status con1c disconnected @@ -535,6 +593,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2c disconnected" as status; status con2c disconnected @@ -557,6 +617,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3c disconnected" as status; status con3c disconnected @@ -578,6 +640,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -596,6 +660,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -613,6 +679,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -630,6 +698,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5a" as status; status user5 in con5a @@ -652,6 +722,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5b" as status; status user5 in con5b @@ -675,6 +747,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5c" as status; status user5 in con5c @@ -699,6 +773,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con 5a, 5b, 5c, 6a, 6b, 6c disconnected" as status; status con 5a, 5b, 5c, 6a, 6b, 6c disconnected @@ -717,6 +793,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -732,6 +810,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -746,6 +826,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -760,3 +842,5 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 9 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 9 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead diff --git a/mysql-test/suite/perfschema/r/connection_3u.result b/mysql-test/suite/perfschema/r/connection_3u.result index f0606301532..1de714d5bfd 100644 --- a/mysql-test/suite/perfschema/r/connection_3u.result +++ b/mysql-test/suite/perfschema/r/connection_3u.result @@ -1,3 +1,17 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. call dump_all(); processlist_user processlist_host root localhost @@ -11,6 +25,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1a" as status; status user1 in con1a @@ -30,6 +46,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1b" as status; status user1 in con1b @@ -50,6 +68,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user1 in con1c" as status; status user1 in con1c @@ -71,6 +91,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 0 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2a" as status; status user2 in con2a @@ -94,6 +116,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 1 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2b" as status; status user2 in con2b @@ -118,6 +142,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 1 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user2 in con2c" as status; status user2 in con2c @@ -143,6 +169,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 1 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3a" as status; status user3 in con3a @@ -170,6 +198,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 2 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3b" as status; status user3 in con3b @@ -198,6 +228,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 2 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user3 in con3c" as status; status user3 in con3c @@ -227,6 +259,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 2 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1a disconnected" as status; status con1a disconnected @@ -255,6 +289,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 2 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2a disconnected" as status; status con2a disconnected @@ -282,6 +318,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 2 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3a disconnected" as status; status con3a disconnected @@ -308,6 +346,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 2 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -332,6 +372,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 2 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -356,6 +398,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 2 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -380,6 +424,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 2 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4a" as status; status user4 in con4a @@ -408,6 +454,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4b" as status; status user4 in con4b @@ -437,6 +485,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user4 in con4c" as status; status user4 in con4c @@ -467,6 +517,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1b disconnected" as status; status con1b disconnected @@ -496,6 +548,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2b disconnected" as status; status con2b disconnected @@ -524,6 +578,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3b disconnected" as status; status con3b disconnected @@ -551,6 +607,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con1c disconnected" as status; status con1c disconnected @@ -577,6 +635,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con2c disconnected" as status; status con2c disconnected @@ -602,6 +662,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con3c disconnected" as status; status con3c disconnected @@ -626,6 +688,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -645,6 +709,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -663,6 +729,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -681,6 +749,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5a" as status; status user5 in con5a @@ -704,6 +774,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5b" as status; status user5 in con5b @@ -728,6 +800,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "user5 in con5c" as status; status user5 in con5c @@ -753,6 +827,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead select "con 5a, 5b, 5c, 6a, 6b, 6c disconnected" as status; status con 5a, 5b, 5c, 6a, 6b, 6c disconnected @@ -772,6 +848,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.hosts; call dump_all(); processlist_user processlist_host @@ -787,6 +865,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.users; call dump_all(); processlist_user processlist_host @@ -801,6 +881,8 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead truncate table performance_schema.accounts; call dump_all(); processlist_user processlist_host @@ -815,3 +897,5 @@ variable_name variable_value PERFORMANCE_SCHEMA_ACCOUNTS_LOST 0 PERFORMANCE_SCHEMA_HOSTS_LOST 0 PERFORMANCE_SCHEMA_USERS_LOST 3 +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead diff --git a/mysql-test/suite/perfschema/r/connection_type_notwin.result b/mysql-test/suite/perfschema/r/connection_type_notwin.result new file mode 100644 index 00000000000..c859809cdf0 --- /dev/null +++ b/mysql-test/suite/perfschema/r/connection_type_notwin.result @@ -0,0 +1,74 @@ +"Default connection" +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME thread/sql/one_connection +PROCESSLIST_USER root +PROCESSLIST_HOST localhost +CONNECTION_TYPE Socket +create user 'root'@'santa.claus.ipv4.example.com'; +grant select on *.* to 'root'@'santa.claus.ipv4.example.com'; +create user 'rootssl'@'santa.claus.ipv4.example.com' + require SSL; +grant select on *.* to 'rootssl'@'santa.claus.ipv4.example.com'; +set global debug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4"; +TRUNCATE TABLE mysql.general_log; +SET @old_log_output= @@global.log_output; +SET @old_general_log= @@global.general_log; +SET @old_general_log_file= @@global.general_log_file; +SET GLOBAL general_log_file = '.../log/rewrite_general_con.log'; +SET GLOBAL log_output = 'FILE,TABLE'; +SET GLOBAL general_log= 'ON'; +"Connection con1" +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME thread/sql/one_connection +PROCESSLIST_USER root +PROCESSLIST_HOST localhost +CONNECTION_TYPE Socket +"Connection con2" +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME thread/sql/one_connection +PROCESSLIST_USER root +PROCESSLIST_HOST santa.claus.ipv4.example.com +CONNECTION_TYPE TCP/IP +"Connection con3" +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME thread/sql/one_connection +PROCESSLIST_USER rootssl +PROCESSLIST_HOST santa.claus.ipv4.example.com +CONNECTION_TYPE SSL/TLS +SET GLOBAL general_log= 'OFF'; +CREATE TABLE test_log (argument TEXT); +LOAD DATA LOCAL INFILE '.../log/rewrite_general_con.log' + INTO TABLE test_log FIELDS TERMINATED BY '\n' LINES TERMINATED BY '\n'; +select user_host, command_type, argument from mysql.general_log +where command_type = "Connect"; +user_host [root] @ localhost [] +command_type Connect +argument root@localhost on test using Socket +user_host [root] @ santa.claus.ipv4.example.com [192.0.2.4] +command_type Connect +argument root@santa.claus.ipv4.example.com on test using TCP/IP +user_host [rootssl] @ santa.claus.ipv4.example.com [192.0.2.4] +command_type Connect +argument rootssl@santa.claus.ipv4.example.com on test using SSL/TLS +select substring(argument, locate("Connect", argument)) from test_log +where argument like "%Connect%on test%"; +substring(argument, locate("Connect", argument)) Connect root@localhost on test using Socket +substring(argument, locate("Connect", argument)) Connect root@santa.claus.ipv4.example.com on test using TCP/IP +substring(argument, locate("Connect", argument)) Connect rootssl@santa.claus.ipv4.example.com on test using SSL/TLS +DROP TABLE test_log; +SET GLOBAL general_log_file= @old_general_log_file; +SET GLOBAL general_log= @old_general_log; +SET GLOBAL log_output= @old_log_output; +set global debug= default; +revoke select on *.* from 'root'@'santa.claus.ipv4.example.com'; +drop user 'root'@'santa.claus.ipv4.example.com'; +revoke select on *.* from 'rootssl'@'santa.claus.ipv4.example.com'; +drop user 'rootssl'@'santa.claus.ipv4.example.com'; diff --git a/mysql-test/suite/perfschema/r/connection_type_win.result b/mysql-test/suite/perfschema/r/connection_type_win.result new file mode 100644 index 00000000000..1fa24c810c2 --- /dev/null +++ b/mysql-test/suite/perfschema/r/connection_type_win.result @@ -0,0 +1,74 @@ +"Default connection" +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME thread/sql/one_connection +PROCESSLIST_USER root +PROCESSLIST_HOST localhost +CONNECTION_TYPE TCP/IP +create user 'root'@'santa.claus.ipv4.example.com'; +grant select on *.* to 'root'@'santa.claus.ipv4.example.com'; +create user 'rootssl'@'santa.claus.ipv4.example.com' + require SSL; +grant select on *.* to 'rootssl'@'santa.claus.ipv4.example.com'; +set global debug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4"; +TRUNCATE TABLE mysql.general_log; +SET @old_log_output= @@global.log_output; +SET @old_general_log= @@global.general_log; +SET @old_general_log_file= @@global.general_log_file; +SET GLOBAL general_log_file = '.../log/rewrite_general_con.log'; +SET GLOBAL log_output = 'FILE,TABLE'; +SET GLOBAL general_log= 'ON'; +"Connection con1" +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME thread/sql/one_connection +PROCESSLIST_USER root +PROCESSLIST_HOST santa.claus.ipv4.example.com +CONNECTION_TYPE TCP/IP +"Connection con2" +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME thread/sql/one_connection +PROCESSLIST_USER root +PROCESSLIST_HOST santa.claus.ipv4.example.com +CONNECTION_TYPE TCP/IP +"Connection con3" +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME thread/sql/one_connection +PROCESSLIST_USER rootssl +PROCESSLIST_HOST santa.claus.ipv4.example.com +CONNECTION_TYPE SSL/TLS +SET GLOBAL general_log= 'OFF'; +CREATE TABLE test_log (argument TEXT); +LOAD DATA LOCAL INFILE '.../log/rewrite_general_con.log' + INTO TABLE test_log FIELDS TERMINATED BY '\n' LINES TERMINATED BY '\n'; +select user_host, command_type, argument from mysql.general_log +where command_type = "Connect"; +user_host [root] @ santa.claus.ipv4.example.com [192.0.2.4] +command_type Connect +argument root@santa.claus.ipv4.example.com on test using TCP/IP +user_host [root] @ santa.claus.ipv4.example.com [192.0.2.4] +command_type Connect +argument root@santa.claus.ipv4.example.com on test using TCP/IP +user_host [rootssl] @ santa.claus.ipv4.example.com [192.0.2.4] +command_type Connect +argument rootssl@santa.claus.ipv4.example.com on test using SSL/TLS +select substring(argument, locate("Connect", argument)) from test_log +where argument like "%Connect%on test%"; +substring(argument, locate("Connect", argument)) Connect root@santa.claus.ipv4.example.com on test using TCP/IP +substring(argument, locate("Connect", argument)) Connect root@santa.claus.ipv4.example.com on test using TCP/IP +substring(argument, locate("Connect", argument)) Connect rootssl@santa.claus.ipv4.example.com on test using SSL/TLS +DROP TABLE test_log; +SET GLOBAL general_log_file= @old_general_log_file; +SET GLOBAL general_log= @old_general_log; +SET GLOBAL log_output= @old_log_output; +set global debug= default; +revoke select on *.* from 'root'@'santa.claus.ipv4.example.com'; +drop user 'root'@'santa.claus.ipv4.example.com'; +revoke select on *.* from 'rootssl'@'santa.claus.ipv4.example.com'; +drop user 'rootssl'@'santa.claus.ipv4.example.com'; diff --git a/mysql-test/suite/perfschema/r/csv_table_io.result b/mysql-test/suite/perfschema/r/csv_table_io.result index f0b5a6bb935..cc8cebd680d 100644 --- a/mysql-test/suite/perfschema/r/csv_table_io.result +++ b/mysql-test/suite/perfschema/r/csv_table_io.result @@ -70,48 +70,40 @@ where event_name like 'wait/io/table/%' and object_schema in ("test") order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 3 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -121,9 +113,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -133,6 +131,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/ddl_esms_by_program.result b/mysql-test/suite/perfschema/r/ddl_esms_by_program.result new file mode 100644 index 00000000000..66e49f8aeea --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_esms_by_program.result @@ -0,0 +1,9 @@ +alter table performance_schema.events_statements_summary_by_program +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.events_statements_summary_by_program; +ALTER TABLE performance_schema.events_statements_summary_by_program ADD INDEX test_index(OBJECT_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.events_statements_summary_by_program(OBJECT_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_ets_by_account_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ets_by_account_by_event_name.result new file mode 100644 index 00000000000..23bd048d8a6 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_ets_by_account_by_event_name.result @@ -0,0 +1,10 @@ +alter table performance_schema.events_transactions_summary_by_account_by_event_name +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.events_transactions_summary_by_account_by_event_name; +ALTER TABLE performance_schema.events_transactions_summary_by_account_by_event_name +ADD INDEX test_index(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.events_transactions_summary_by_account_by_event_name(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_ets_by_host_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ets_by_host_by_event_name.result new file mode 100644 index 00000000000..7e3b5ccd70c --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_ets_by_host_by_event_name.result @@ -0,0 +1,10 @@ +alter table performance_schema.events_transactions_summary_by_host_by_event_name +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.events_transactions_summary_by_host_by_event_name; +ALTER TABLE performance_schema.events_transactions_summary_by_host_by_event_name +ADD INDEX test_index(HOSTNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.events_transactions_summary_by_host_by_event_name(HOSTNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_ets_by_thread_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ets_by_thread_by_event_name.result new file mode 100644 index 00000000000..bd3c57f9257 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_ets_by_thread_by_event_name.result @@ -0,0 +1,9 @@ +alter table performance_schema.events_transactions_summary_by_thread_by_event_name +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.events_transactions_summary_by_thread_by_event_name; +ALTER TABLE performance_schema.events_transactions_summary_by_thread_by_event_name ADD INDEX test_index(THREAD_ID); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.events_transactions_summary_by_thread_by_event_name(THREAD_ID); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_ets_by_user_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ets_by_user_by_event_name.result new file mode 100644 index 00000000000..981de1a7b19 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_ets_by_user_by_event_name.result @@ -0,0 +1,10 @@ +alter table performance_schema.events_transactions_summary_by_user_by_event_name +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.events_transactions_summary_by_user_by_event_name; +ALTER TABLE performance_schema.events_transactions_summary_by_user_by_event_name +ADD INDEX test_index(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.events_transactions_summary_by_user_by_event_name(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_ets_global_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_ets_global_by_event_name.result new file mode 100644 index 00000000000..13606ace640 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_ets_global_by_event_name.result @@ -0,0 +1,10 @@ +alter table performance_schema.events_transactions_summary_global_by_event_name +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.events_transactions_summary_global_by_event_name; +ALTER TABLE performance_schema.events_transactions_summary_global_by_event_name +ADD INDEX test_index(EVENT_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.events_transactions_summary_global_by_event_name(EVENT_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_events_stages_current.result b/mysql-test/suite/perfschema/r/ddl_events_stages_current.result index d9094ffb366..137301234bb 100644 --- a/mysql-test/suite/perfschema/r/ddl_events_stages_current.result +++ b/mysql-test/suite/perfschema/r/ddl_events_stages_current.result @@ -5,3 +5,6 @@ ALTER TABLE performance_schema.events_stages_current ADD INDEX test_index(EVENT_ ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_current(EVENT_ID); ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT GENERATION_EXPRESSION +def performance_schema events_stages_current WORK_COMPLETED 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_current WORK_ESTIMATED 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references diff --git a/mysql-test/suite/perfschema/r/ddl_events_stages_history.result b/mysql-test/suite/perfschema/r/ddl_events_stages_history.result index 0b6d6df06d2..7d30c7e8ff4 100644 --- a/mysql-test/suite/perfschema/r/ddl_events_stages_history.result +++ b/mysql-test/suite/perfschema/r/ddl_events_stages_history.result @@ -5,3 +5,6 @@ ALTER TABLE performance_schema.events_stages_history ADD INDEX test_index(EVENT_ ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_history(EVENT_ID); ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT GENERATION_EXPRESSION +def performance_schema events_stages_history WORK_COMPLETED 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history WORK_ESTIMATED 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references diff --git a/mysql-test/suite/perfschema/r/ddl_events_stages_history_long.result b/mysql-test/suite/perfschema/r/ddl_events_stages_history_long.result index 7843f61aa0d..84651664b96 100644 --- a/mysql-test/suite/perfschema/r/ddl_events_stages_history_long.result +++ b/mysql-test/suite/perfschema/r/ddl_events_stages_history_long.result @@ -5,3 +5,6 @@ ALTER TABLE performance_schema.events_stages_history_long ADD INDEX test_index(E ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_history_long(EVENT_ID); ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT GENERATION_EXPRESSION +def performance_schema events_stages_history_long WORK_COMPLETED 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history_long WORK_ESTIMATED 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references diff --git a/mysql-test/suite/perfschema/r/ddl_events_transactions_current.result b/mysql-test/suite/perfschema/r/ddl_events_transactions_current.result new file mode 100644 index 00000000000..6d4d280118f --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_events_transactions_current.result @@ -0,0 +1,7 @@ +alter table performance_schema.events_transactions_current add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.events_transactions_current; +ALTER TABLE performance_schema.events_transactions_current ADD INDEX test_index(EVENT_ID); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index ON performance_schema.events_transactions_current(EVENT_ID); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_events_transactions_history.result b/mysql-test/suite/perfschema/r/ddl_events_transactions_history.result new file mode 100644 index 00000000000..dbbac3ea9df --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_events_transactions_history.result @@ -0,0 +1,7 @@ +alter table performance_schema.events_transactions_history add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.events_transactions_history; +ALTER TABLE performance_schema.events_transactions_history ADD INDEX test_index(EVENT_ID); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index ON performance_schema.events_transactions_history(EVENT_ID); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_events_transactions_history_long.result b/mysql-test/suite/perfschema/r/ddl_events_transactions_history_long.result new file mode 100644 index 00000000000..7a4a5f0542e --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_events_transactions_history_long.result @@ -0,0 +1,7 @@ +alter table performance_schema.events_transactions_history_long add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.events_transactions_history_long; +ALTER TABLE performance_schema.events_transactions_history_long ADD INDEX test_index(EVENT_ID); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index ON performance_schema.events_transactions_history_long(EVENT_ID); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_global_status.result b/mysql-test/suite/perfschema/r/ddl_global_status.result new file mode 100644 index 00000000000..10af700eadd --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_global_status.result @@ -0,0 +1,10 @@ +alter table performance_schema.global_status +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.global_status; +ALTER TABLE performance_schema.global_status +ADD INDEX test_index(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.global_status(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_global_variables.result b/mysql-test/suite/perfschema/r/ddl_global_variables.result new file mode 100644 index 00000000000..32422267266 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_global_variables.result @@ -0,0 +1,11 @@ +alter table performance_schema.global_variables +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.global_variables; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.global_variables +ADD INDEX test_index(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.global_variables(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_mems_by_account_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_mems_by_account_by_event_name.result new file mode 100644 index 00000000000..4d7581a7c2e --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_mems_by_account_by_event_name.result @@ -0,0 +1,10 @@ +alter table performance_schema.memory_summary_by_account_by_event_name +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.memory_summary_by_account_by_event_name; +ALTER TABLE performance_schema.memory_summary_by_account_by_event_name +ADD INDEX test_index(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.memory_summary_by_account_by_event_name(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_mems_by_host_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_mems_by_host_by_event_name.result new file mode 100644 index 00000000000..dae5dd2445c --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_mems_by_host_by_event_name.result @@ -0,0 +1,10 @@ +alter table performance_schema.memory_summary_by_host_by_event_name +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.memory_summary_by_host_by_event_name; +ALTER TABLE performance_schema.memory_summary_by_host_by_event_name +ADD INDEX test_index(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.memory_summary_by_host_by_event_name(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_mems_by_thread_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_mems_by_thread_by_event_name.result new file mode 100644 index 00000000000..eae9e7020e3 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_mems_by_thread_by_event_name.result @@ -0,0 +1,10 @@ +alter table performance_schema.memory_summary_by_thread_by_event_name +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.memory_summary_by_thread_by_event_name; +ALTER TABLE performance_schema.memory_summary_by_thread_by_event_name +ADD INDEX test_index(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.memory_summary_by_thread_by_event_name(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_mems_by_user_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_mems_by_user_by_event_name.result new file mode 100644 index 00000000000..de6d52b69e6 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_mems_by_user_by_event_name.result @@ -0,0 +1,10 @@ +alter table performance_schema.memory_summary_by_user_by_event_name +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.memory_summary_by_user_by_event_name; +ALTER TABLE performance_schema.memory_summary_by_user_by_event_name +ADD INDEX test_index(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.memory_summary_by_user_by_event_name(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_mems_global_by_event_name.result b/mysql-test/suite/perfschema/r/ddl_mems_global_by_event_name.result new file mode 100644 index 00000000000..9ed8b2b6dab --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_mems_global_by_event_name.result @@ -0,0 +1,10 @@ +alter table performance_schema.memory_summary_global_by_event_name +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.memory_summary_global_by_event_name; +ALTER TABLE performance_schema.memory_summary_global_by_event_name +ADD INDEX test_index(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.memory_summary_global_by_event_name(USERNAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_metadata_locks.result b/mysql-test/suite/perfschema/r/ddl_metadata_locks.result new file mode 100644 index 00000000000..4a7e11c63e0 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_metadata_locks.result @@ -0,0 +1,8 @@ +alter table performance_schema.metadata_locks add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.metadata_locks; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.metadata_locks ADD INDEX test_index(TIMER_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index ON performance_schema.metadata_locks(TIMER_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_prepared_statements_instances.result b/mysql-test/suite/perfschema/r/ddl_prepared_statements_instances.result new file mode 100644 index 00000000000..d71e6c1ebf4 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_prepared_statements_instances.result @@ -0,0 +1,9 @@ +alter table performance_schema.prepared_statements_instances +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.prepared_statements_instances; +ALTER TABLE performance_schema.prepared_statements_instances ADD INDEX test_index(OWNER_OBJECT_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.prepared_statements_instances(OWNER_OBJECT_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_replication_applier_configuration.result b/mysql-test/suite/perfschema/r/ddl_replication_applier_configuration.result new file mode 100644 index 00000000000..6b6b9a988bc --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_replication_applier_configuration.result @@ -0,0 +1,11 @@ +ALTER TABLE performance_schema.replication_applier_configuration +ADD COLUMN foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +TRUNCATE TABLE performance_schema.replication_applier_configuration; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.replication_applier_configuration +ADD INDEX test_index(desired_delay); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index ON +performance_schema.replication_applier_configuration(desired_delay); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_replication_applier_status.result b/mysql-test/suite/perfschema/r/ddl_replication_applier_status.result new file mode 100644 index 00000000000..99328acce5a --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_replication_applier_status.result @@ -0,0 +1,11 @@ +ALTER TABLE performance_schema.replication_applier_status +ADD COLUMN foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +TRUNCATE TABLE performance_schema.replication_applier_status; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.replication_applier_status +ADD INDEX test_index(remaining_delay); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index ON +performance_schema.replication_applier_status(remaining_delay); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_replication_applier_status_by_coordinator.result b/mysql-test/suite/perfschema/r/ddl_replication_applier_status_by_coordinator.result new file mode 100644 index 00000000000..86bedb29451 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_replication_applier_status_by_coordinator.result @@ -0,0 +1,11 @@ +ALTER TABLE performance_schema.replication_applier_status_by_coordinator +ADD COLUMN foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +TRUNCATE TABLE performance_schema.replication_applier_status_by_coordinator; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.replication_applier_status_by_coordinator +ADD INDEX test_index(thread_id); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index ON +performance_schema.replication_applier_status_by_coordinator(thread_id); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_replication_applier_status_by_worker.result b/mysql-test/suite/perfschema/r/ddl_replication_applier_status_by_worker.result new file mode 100644 index 00000000000..e13b4f978e1 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_replication_applier_status_by_worker.result @@ -0,0 +1,11 @@ +ALTER TABLE performance_schema.replication_applier_status_by_worker +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +TRUNCATE TABLE performance_schema.replication_applier_status_by_worker; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.replication_applier_status_by_worker +ADD INDEX test_index(worker_id); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index ON +performance_schema.replication_applier_status_by_worker(worker_id); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_replication_connection_configuration.result b/mysql-test/suite/perfschema/r/ddl_replication_connection_configuration.result new file mode 100644 index 00000000000..8eea531a0c3 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_replication_connection_configuration.result @@ -0,0 +1,11 @@ +ALTER TABLE performance_schema.replication_connection_configuration +ADD COLUMN foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +TRUNCATE TABLE performance_schema.replication_connection_configuration; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.replication_connection_configuration +ADD INDEX test_index(HOST); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.replication_connection_configuration(HOST); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_replication_connection_status.result b/mysql-test/suite/perfschema/r/ddl_replication_connection_status.result new file mode 100644 index 00000000000..4c650b030ed --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_replication_connection_status.result @@ -0,0 +1,11 @@ +ALTER TABLE performance_schema.replication_connection_status +ADD COLUMN foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +TRUNCATE TABLE performance_schema.replication_connection_status; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.replication_connection_status +ADD INDEX test_index(Thread_Id); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.replication_connection_status(Thread_Id); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_replication_group_member_stats.result b/mysql-test/suite/perfschema/r/ddl_replication_group_member_stats.result new file mode 100644 index 00000000000..cab3b0874fa --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_replication_group_member_stats.result @@ -0,0 +1,11 @@ +ALTER TABLE performance_schema.replication_group_member_stats +ADD COLUMN foo INTEGER; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +TRUNCATE TABLE performance_schema.replication_group_member_stats; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.replication_group_member_stats +ADD INDEX test_index(Member_Id); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.replication_group_member_stats(Member_Id); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_replication_group_members.result b/mysql-test/suite/perfschema/r/ddl_replication_group_members.result new file mode 100644 index 00000000000..25ed912a11a --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_replication_group_members.result @@ -0,0 +1,11 @@ +ALTER TABLE performance_schema.replication_group_members +ADD COLUMN foo INTEGER; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +TRUNCATE TABLE performance_schema.replication_group_members; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.replication_group_members +ADD INDEX test_index(Member_Id); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.replication_group_members(Member_Id); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_session_status.result b/mysql-test/suite/perfschema/r/ddl_session_status.result new file mode 100644 index 00000000000..39731f8a253 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_session_status.result @@ -0,0 +1,11 @@ +alter table performance_schema.session_status +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.session_status; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.session_status +ADD INDEX test_index(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.session_status(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_session_variables.result b/mysql-test/suite/perfschema/r/ddl_session_variables.result new file mode 100644 index 00000000000..26bf8e1d2d7 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_session_variables.result @@ -0,0 +1,11 @@ +alter table performance_schema.session_variables +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.session_variables; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.session_variables +ADD INDEX test_index(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.session_variables(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_setup_actors.result b/mysql-test/suite/perfschema/r/ddl_setup_actors.result index 753632eb62d..c17314e4362 100644 --- a/mysql-test/suite/perfschema/r/ddl_setup_actors.result +++ b/mysql-test/suite/perfschema/r/ddl_setup_actors.result @@ -14,3 +14,5 @@ ALTER TABLE performance_schema.setup_actors ADD INDEX test_index(HOST); ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' CREATE UNIQUE INDEX test_index ON performance_schema.setup_actors(HOST); ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +ALTER TABLE performance_schema.setup_actors ADD KEY ENA(ENABLED); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_status_by_account.result b/mysql-test/suite/perfschema/r/ddl_status_by_account.result new file mode 100644 index 00000000000..d21b7ed1e0b --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_status_by_account.result @@ -0,0 +1,10 @@ +alter table performance_schema.status_by_account +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.status_by_account; +ALTER TABLE performance_schema.status_by_account +ADD INDEX test_index(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.status_by_account(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_status_by_host.result b/mysql-test/suite/perfschema/r/ddl_status_by_host.result new file mode 100644 index 00000000000..5e4ba3573e6 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_status_by_host.result @@ -0,0 +1,10 @@ +alter table performance_schema.status_by_host +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.status_by_host; +ALTER TABLE performance_schema.status_by_host +ADD INDEX test_index(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.status_by_host(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_status_by_thread.result b/mysql-test/suite/perfschema/r/ddl_status_by_thread.result new file mode 100644 index 00000000000..2333af91c10 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_status_by_thread.result @@ -0,0 +1,10 @@ +alter table performance_schema.status_by_thread +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.status_by_thread; +ALTER TABLE performance_schema.status_by_thread +ADD INDEX test_index(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.status_by_thread(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_status_by_user.result b/mysql-test/suite/perfschema/r/ddl_status_by_user.result new file mode 100644 index 00000000000..c7d396db225 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_status_by_user.result @@ -0,0 +1,10 @@ +alter table performance_schema.status_by_user +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.status_by_user; +ALTER TABLE performance_schema.status_by_user +ADD INDEX test_index(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.status_by_user(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_table_handles.result b/mysql-test/suite/perfschema/r/ddl_table_handles.result new file mode 100644 index 00000000000..8c81ccad952 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_table_handles.result @@ -0,0 +1,8 @@ +alter table performance_schema.table_handles add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.table_handles; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.table_handles ADD INDEX test_index(TIMER_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index ON performance_schema.table_handles(TIMER_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_uvar_by_thread.result b/mysql-test/suite/perfschema/r/ddl_uvar_by_thread.result new file mode 100644 index 00000000000..bb887a38122 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_uvar_by_thread.result @@ -0,0 +1,11 @@ +alter table performance_schema.user_variables_by_thread +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.user_variables_by_thread; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.user_variables_by_thread +ADD INDEX test_index(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.user_variables_by_thread(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/ddl_variables_by_thread.result b/mysql-test/suite/perfschema/r/ddl_variables_by_thread.result new file mode 100644 index 00000000000..c910de84c62 --- /dev/null +++ b/mysql-test/suite/perfschema/r/ddl_variables_by_thread.result @@ -0,0 +1,11 @@ +alter table performance_schema.variables_by_thread +add column foo integer; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +truncate table performance_schema.variables_by_thread; +ERROR HY000: Invalid performance_schema usage. +ALTER TABLE performance_schema.variables_by_thread +ADD INDEX test_index(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +CREATE UNIQUE INDEX test_index +ON performance_schema.variables_by_thread(VARIABLE_NAME); +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/digest_table_full.result b/mysql-test/suite/perfschema/r/digest_table_full.result index fc83be75a0d..cc2bc0a79c7 100644 --- a/mysql-test/suite/perfschema/r/digest_table_full.result +++ b/mysql-test/suite/perfschema/r/digest_table_full.result @@ -79,7 +79,7 @@ CREATE TABLE dup_table (c char(4)); CREATE TABLE dup_table (c char(4)); ERROR 42S01: Table 'dup_table' already exists DROP TABLE dup_table; -INSERT INTO t11 VALUES("MySQL"); +INSERT IGNORE INTO t11 VALUES("MySQL"); Warnings: Warning 1265 Data truncated for column 'c' at row 1 PREPARE stmt FROM "SELECT * FROM t12"; @@ -113,8 +113,8 @@ SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARN SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest; SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS NULL NULL NULL 55 32 1 2 -statements_digest 01cfd3c48ebe150803a02f0b32ab4f7b TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 0 0 0 -SHOW VARIABLES LIKE "performance_schema_digests_size"; +statements_digest 21b6affb55f3e69c598b47257f4d0ec6 TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 0 0 0 +SHOW GLOBAL VARIABLES LIKE "performance_schema_digests_size"; Variable_name Value performance_schema_digests_size 2 SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest; diff --git a/mysql-test/suite/perfschema/r/dml_esms_by_program.result b/mysql-test/suite/perfschema/r/dml_esms_by_program.result new file mode 100644 index 00000000000..b8c86fe3e45 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_esms_by_program.result @@ -0,0 +1,27 @@ +select * from performance_schema.events_statements_summary_by_program +where object_name like 'XXYYZZ%' limit 1; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_STATEMENTS SUM_STATEMENTS_WAIT MIN_STATEMENTS_WAIT AVG_STATEMENTS_WAIT MAX_STATEMENTS_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED +select * from performance_schema.events_statements_summary_by_program +where object_name='XXYYZZ'; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_STATEMENTS SUM_STATEMENTS_WAIT MIN_STATEMENTS_WAIT AVG_STATEMENTS_WAIT MAX_STATEMENTS_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED +insert into performance_schema.events_statements_summary_by_program +set object_name='XXYYZZ', count_star=1, sum_timer_wait=2, min_timer_wait=3, +avg_timer_wait=4, max_timer_wait=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_statements_summary_by_program' +update performance_schema.events_statements_summary_by_program +set count_star=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_program' +update performance_schema.events_statements_summary_by_program +set count_star=12 where object_name like "XXYYZZ"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_program' +delete from performance_schema.events_statements_summary_by_program +where count_star=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_program' +delete from performance_schema.events_statements_summary_by_program; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_statements_summary_by_program' +LOCK TABLES performance_schema.events_statements_summary_by_program READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_program' +UNLOCK TABLES; +LOCK TABLES performance_schema.events_statements_summary_by_program WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_program' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_ets_by_account_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ets_by_account_by_event_name.result new file mode 100644 index 00000000000..66a0f733d19 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_ets_by_account_by_event_name.result @@ -0,0 +1,26 @@ +select * from performance_schema.events_transactions_summary_by_account_by_event_name +where event_name in ('transaction') limit 1; +select * from performance_schema.events_transactions_summary_by_account_by_event_name +where event_name='FOO'; +insert into performance_schema.events_transactions_summary_by_account_by_event_name +set event_name='FOO', user='BAR', host='BAZ', +count_star=1, sum_timer_wait=2, min_timer_wait=3, +avg_timer_wait=4, max_timer_wait=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_account_by_event_name' +update performance_schema.events_transactions_summary_by_account_by_event_name +set count_star=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_account_by_event_name' +update performance_schema.events_transactions_summary_by_account_by_event_name +set count_star=12 where event_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_account_by_event_name' +delete from performance_schema.events_transactions_summary_by_account_by_event_name +where count_star=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_account_by_event_name' +delete from performance_schema.events_transactions_summary_by_account_by_event_name; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_account_by_event_name' +LOCK TABLES performance_schema.events_transactions_summary_by_account_by_event_name READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_account_by_event_name' +UNLOCK TABLES; +LOCK TABLES performance_schema.events_transactions_summary_by_account_by_event_name WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_account_by_event_name' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_ets_by_host_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ets_by_host_by_event_name.result new file mode 100644 index 00000000000..194d8ff0b4b --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_ets_by_host_by_event_name.result @@ -0,0 +1,26 @@ +select * from performance_schema.events_transactions_summary_by_host_by_event_name +where event_name in ('transaction') limit 1; +select * from performance_schema.events_transactions_summary_by_host_by_event_name +where event_name='FOO'; +insert into performance_schema.events_transactions_summary_by_host_by_event_name +set event_name='FOO', thread_id=1, +count_star=1, sum_timer_wait=2, min_timer_wait=3, +avg_timer_wait=4, max_timer_wait=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_host_by_event_name' +update performance_schema.events_transactions_summary_by_host_by_event_name +set count_star=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_host_by_event_name' +update performance_schema.events_transactions_summary_by_host_by_event_name +set count_star=12 where event_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_host_by_event_name' +delete from performance_schema.events_transactions_summary_by_host_by_event_name +where count_star=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_host_by_event_name' +delete from performance_schema.events_transactions_summary_by_host_by_event_name; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_host_by_event_name' +LOCK TABLES performance_schema.events_transactions_summary_by_host_by_event_name READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_host_by_event_name' +UNLOCK TABLES; +LOCK TABLES performance_schema.events_transactions_summary_by_host_by_event_name WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_host_by_event_name' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_ets_by_thread_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ets_by_thread_by_event_name.result new file mode 100644 index 00000000000..f096d265457 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_ets_by_thread_by_event_name.result @@ -0,0 +1,26 @@ +select * from performance_schema.events_transactions_summary_by_thread_by_event_name +where event_name in ('transaction') limit 1; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name +where event_name='FOO'; +insert into performance_schema.events_transactions_summary_by_thread_by_event_name +set event_name='FOO', thread_id=1, +count_star=1, sum_timer_wait=2, min_timer_wait=3, +avg_timer_wait=4, max_timer_wait=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_thread_by_event_name' +update performance_schema.events_transactions_summary_by_thread_by_event_name +set count_star=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_thread_by_event_name' +update performance_schema.events_transactions_summary_by_thread_by_event_name +set count_star=12 where event_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_thread_by_event_name' +delete from performance_schema.events_transactions_summary_by_thread_by_event_name +where count_star=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_thread_by_event_name' +delete from performance_schema.events_transactions_summary_by_thread_by_event_name; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_thread_by_event_name' +LOCK TABLES performance_schema.events_transactions_summary_by_thread_by_event_name READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_thread_by_event_name' +UNLOCK TABLES; +LOCK TABLES performance_schema.events_transactions_summary_by_thread_by_event_name WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_thread_by_event_name' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_ets_by_user_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ets_by_user_by_event_name.result new file mode 100644 index 00000000000..11d455a35a7 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_ets_by_user_by_event_name.result @@ -0,0 +1,26 @@ +select * from performance_schema.events_transactions_summary_by_user_by_event_name +where event_name in ('transaction') limit 1; +select * from performance_schema.events_transactions_summary_by_user_by_event_name +where event_name='FOO'; +insert into performance_schema.events_transactions_summary_by_user_by_event_name +set event_name='FOO', user='BAR', +count_star=1, sum_timer_wait=2, min_timer_wait=3, +avg_timer_wait=4, max_timer_wait=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_user_by_event_name' +update performance_schema.events_transactions_summary_by_user_by_event_name +set count_star=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_user_by_event_name' +update performance_schema.events_transactions_summary_by_user_by_event_name +set count_star=12 where event_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_user_by_event_name' +delete from performance_schema.events_transactions_summary_by_user_by_event_name +where count_star=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_user_by_event_name' +delete from performance_schema.events_transactions_summary_by_user_by_event_name; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_user_by_event_name' +LOCK TABLES performance_schema.events_transactions_summary_by_user_by_event_name READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_user_by_event_name' +UNLOCK TABLES; +LOCK TABLES performance_schema.events_transactions_summary_by_user_by_event_name WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_summary_by_user_by_event_name' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_ets_global_by_event_name.result b/mysql-test/suite/perfschema/r/dml_ets_global_by_event_name.result new file mode 100644 index 00000000000..0f2bd599af8 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_ets_global_by_event_name.result @@ -0,0 +1,25 @@ +select * from performance_schema.events_transactions_summary_global_by_event_name +where event_name in ('transaction') limit 1; +select * from performance_schema.events_transactions_summary_global_by_event_name +where event_name='FOO'; +insert into performance_schema.events_transactions_summary_global_by_event_name +set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3, +avg_timer_wait=4, max_timer_wait=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_transactions_summary_global_by_event_name' +update performance_schema.events_transactions_summary_global_by_event_name +set count_star=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_summary_global_by_event_name' +update performance_schema.events_transactions_summary_global_by_event_name +set count_star=12 where event_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_summary_global_by_event_name' +delete from performance_schema.events_transactions_summary_global_by_event_name +where count_star=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_summary_global_by_event_name' +delete from performance_schema.events_transactions_summary_global_by_event_name; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_summary_global_by_event_name' +LOCK TABLES performance_schema.events_transactions_summary_global_by_event_name READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_summary_global_by_event_name' +UNLOCK TABLES; +LOCK TABLES performance_schema.events_transactions_summary_global_by_event_name WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_summary_global_by_event_name' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_events_transactions_current.result b/mysql-test/suite/perfschema/r/dml_events_transactions_current.result new file mode 100644 index 00000000000..9a6c4f3bd58 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_events_transactions_current.result @@ -0,0 +1,25 @@ +select * from performance_schema.events_transactions_current +where event_name in ('transaction') limit 1; +select * from performance_schema.events_transactions_current +where event_name='FOO'; +insert into performance_schema.events_transactions_current +set thread_id='1', event_id=1, +event_name='FOO', timer_start=1, timer_end=2, timer_wait=3; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_transactions_current' +update performance_schema.events_transactions_current +set timer_start=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_current' +update performance_schema.events_transactions_current +set timer_start=12 where thread_id=0; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_current' +delete from performance_schema.events_transactions_current +where thread_id=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_current' +delete from performance_schema.events_transactions_current; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_current' +LOCK TABLES performance_schema.events_transactions_current READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_current' +UNLOCK TABLES; +LOCK TABLES performance_schema.events_transactions_current WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_current' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_events_transactions_history.result b/mysql-test/suite/perfschema/r/dml_events_transactions_history.result new file mode 100644 index 00000000000..000e6a26753 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_events_transactions_history.result @@ -0,0 +1,29 @@ +select * from performance_schema.events_transactions_history +where event_name in ('transaction') limit 1; +select * from performance_schema.events_transactions_history +where event_name='FOO'; +select * from performance_schema.events_transactions_history +where event_name in ('transaction') order by timer_wait limit 1; +select * from performance_schema.events_transactions_history +where event_name in ('transaction') order by timer_wait desc limit 1; +insert into performance_schema.events_transactions_history +set thread_id='1', event_id=1, +event_name='FOO', timer_start=1, timer_end=2, timer_wait=3; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_transactions_history' +update performance_schema.events_transactions_history +set timer_start=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_history' +update performance_schema.events_transactions_history +set timer_start=12 where thread_id=0; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_history' +delete from performance_schema.events_transactions_history +where thread_id=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_history' +delete from performance_schema.events_transactions_history; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_history' +LOCK TABLES performance_schema.events_transactions_history READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_history' +UNLOCK TABLES; +LOCK TABLES performance_schema.events_transactions_history WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_history' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_events_transactions_history_long.result b/mysql-test/suite/perfschema/r/dml_events_transactions_history_long.result new file mode 100644 index 00000000000..e954bcd1be1 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_events_transactions_history_long.result @@ -0,0 +1,29 @@ +select * from performance_schema.events_transactions_history_long +where event_name in ('transaction') limit 1; +select * from performance_schema.events_transactions_history_long +where event_name='FOO'; +select * from performance_schema.events_transactions_history_long +where event_name in ('transaction') order by timer_wait limit 1; +select * from performance_schema.events_transactions_history_long +where event_name in ('transaction') order by timer_wait desc limit 1; +insert into performance_schema.events_transactions_history_long +set thread_id='1', event_id=1, +event_name='FOO', timer_start=1, timer_end=2, timer_wait=3; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'events_transactions_history_long' +update performance_schema.events_transactions_history_long +set timer_start=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_history_long' +update performance_schema.events_transactions_history_long +set timer_start=12 where thread_id=0; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'events_transactions_history_long' +delete from performance_schema.events_transactions_history_long +where thread_id=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_history_long' +delete from performance_schema.events_transactions_history_long; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'events_transactions_history_long' +LOCK TABLES performance_schema.events_transactions_history_long READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_history_long' +UNLOCK TABLES; +LOCK TABLES performance_schema.events_transactions_history_long WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_transactions_history_long' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_global_status.result b/mysql-test/suite/perfschema/r/dml_global_status.result new file mode 100644 index 00000000000..90b7ac8147f --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_global_status.result @@ -0,0 +1,21 @@ +select * from performance_schema.global_status +where variable_name like 'bytes_%' limit 1; +select * from performance_schema.global_status +where variable_name='FOO'; +insert into performance_schema.global_status +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'global_status' +update performance_schema.global_status +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'global_status' +delete from performance_schema.global_status +where variable_name <> 'FOO'; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'global_status' +delete from performance_schema.global_status; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'global_status' +LOCK TABLES performance_schema.global_status READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'global_status' +UNLOCK TABLES; +LOCK TABLES performance_schema.global_status WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'global_status' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_global_variables.result b/mysql-test/suite/perfschema/r/dml_global_variables.result new file mode 100644 index 00000000000..08d15af34d3 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_global_variables.result @@ -0,0 +1,21 @@ +select * from performance_schema.global_variables +where variable_name like 'autocommit%' limit 1; +select * from performance_schema.global_variables +where variable_name='FOO'; +insert into performance_schema.global_variables +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'global_variables' +update performance_schema.global_variables +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'global_variables' +delete from performance_schema.global_variables +where variable_name <> 'FOO'; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'global_variables' +delete from performance_schema.global_variables; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'global_variables' +LOCK TABLES performance_schema.global_variables READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'global_variables' +UNLOCK TABLES; +LOCK TABLES performance_schema.global_variables WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'global_variables' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_handler.result b/mysql-test/suite/perfschema/r/dml_handler.result index ef1292a33cc..3ee00750f59 100644 --- a/mysql-test/suite/perfschema/r/dml_handler.result +++ b/mysql-test/suite/perfschema/r/dml_handler.result @@ -9,114 +9,219 @@ SELECT COUNT(*) FROM table_list INTO @table_count; # For each table in the performance schema, attempt HANDLER...OPEN, # which should fail with an error 1031, ER_ILLEGAL_HA. -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=52; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=87; +HANDLER performance_schema.variables_by_thread OPEN; +ERROR HY000: Table storage engine for 'variables_by_thread' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=86; HANDLER performance_schema.users OPEN; ERROR HY000: Table storage engine for 'users' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=51; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=85; +HANDLER performance_schema.user_variables_by_thread OPEN; +ERROR HY000: Table storage engine for 'user_variables_by_thread' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=84; HANDLER performance_schema.threads OPEN; ERROR HY000: Table storage engine for 'threads' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=50; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=83; HANDLER performance_schema.table_lock_waits_summary_by_table OPEN; ERROR HY000: Table storage engine for 'table_lock_waits_summary_by_table' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=49; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=82; HANDLER performance_schema.table_io_waits_summary_by_table OPEN; ERROR HY000: Table storage engine for 'table_io_waits_summary_by_table' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=48; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=81; HANDLER performance_schema.table_io_waits_summary_by_index_usage OPEN; ERROR HY000: Table storage engine for 'table_io_waits_summary_by_index_usage' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=47; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=80; +HANDLER performance_schema.table_handles OPEN; +ERROR HY000: Table storage engine for 'table_handles' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=79; +HANDLER performance_schema.status_by_user OPEN; +ERROR HY000: Table storage engine for 'status_by_user' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=78; +HANDLER performance_schema.status_by_thread OPEN; +ERROR HY000: Table storage engine for 'status_by_thread' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=77; +HANDLER performance_schema.status_by_host OPEN; +ERROR HY000: Table storage engine for 'status_by_host' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=76; +HANDLER performance_schema.status_by_account OPEN; +ERROR HY000: Table storage engine for 'status_by_account' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=75; HANDLER performance_schema.socket_summary_by_instance OPEN; ERROR HY000: Table storage engine for 'socket_summary_by_instance' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=46; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=74; HANDLER performance_schema.socket_summary_by_event_name OPEN; ERROR HY000: Table storage engine for 'socket_summary_by_event_name' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=45; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=73; HANDLER performance_schema.socket_instances OPEN; ERROR HY000: Table storage engine for 'socket_instances' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=44; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=72; HANDLER performance_schema.setup_timers OPEN; ERROR HY000: Table storage engine for 'setup_timers' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=43; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=71; HANDLER performance_schema.setup_objects OPEN; ERROR HY000: Table storage engine for 'setup_objects' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=42; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=70; HANDLER performance_schema.setup_instruments OPEN; ERROR HY000: Table storage engine for 'setup_instruments' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=41; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=69; HANDLER performance_schema.setup_consumers OPEN; ERROR HY000: Table storage engine for 'setup_consumers' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=40; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=68; HANDLER performance_schema.setup_actors OPEN; ERROR HY000: Table storage engine for 'setup_actors' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=39; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=67; +HANDLER performance_schema.session_variables OPEN; +ERROR HY000: Table storage engine for 'session_variables' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=66; +HANDLER performance_schema.session_status OPEN; +ERROR HY000: Table storage engine for 'session_status' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=65; HANDLER performance_schema.session_connect_attrs OPEN; ERROR HY000: Table storage engine for 'session_connect_attrs' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=38; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=64; HANDLER performance_schema.session_account_connect_attrs OPEN; ERROR HY000: Table storage engine for 'session_account_connect_attrs' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=37; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=63; HANDLER performance_schema.rwlock_instances OPEN; ERROR HY000: Table storage engine for 'rwlock_instances' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=36; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=62; +HANDLER performance_schema.replication_group_members OPEN; +ERROR HY000: Table storage engine for 'replication_group_members' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=61; +HANDLER performance_schema.replication_group_member_stats OPEN; +ERROR HY000: Table storage engine for 'replication_group_member_stats' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=60; +HANDLER performance_schema.replication_connection_status OPEN; +ERROR HY000: Table storage engine for 'replication_connection_status' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=59; +HANDLER performance_schema.replication_connection_configuration OPEN; +ERROR HY000: Table storage engine for 'replication_connection_configuration' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=58; +HANDLER performance_schema.replication_applier_status_by_worker OPEN; +ERROR HY000: Table storage engine for 'replication_applier_status_by_worker' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=57; +HANDLER performance_schema.replication_applier_status_by_coordinator OPEN; +ERROR HY000: Table storage engine for 'replication_applier_status_by_coordinator' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=56; +HANDLER performance_schema.replication_applier_status OPEN; +ERROR HY000: Table storage engine for 'replication_applier_status' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=55; +HANDLER performance_schema.replication_applier_configuration OPEN; +ERROR HY000: Table storage engine for 'replication_applier_configuration' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=54; +HANDLER performance_schema.prepared_statements_instances OPEN; +ERROR HY000: Table storage engine for 'prepared_statements_instances' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=53; HANDLER performance_schema.performance_timers OPEN; ERROR HY000: Table storage engine for 'performance_timers' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=35; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=52; HANDLER performance_schema.objects_summary_global_by_type OPEN; ERROR HY000: Table storage engine for 'objects_summary_global_by_type' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=34; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=51; HANDLER performance_schema.mutex_instances OPEN; ERROR HY000: Table storage engine for 'mutex_instances' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=33; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=50; +HANDLER performance_schema.metadata_locks OPEN; +ERROR HY000: Table storage engine for 'metadata_locks' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=49; +HANDLER performance_schema.memory_summary_global_by_event_name OPEN; +ERROR HY000: Table storage engine for 'memory_summary_global_by_event_name' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=48; +HANDLER performance_schema.memory_summary_by_user_by_event_name OPEN; +ERROR HY000: Table storage engine for 'memory_summary_by_user_by_event_name' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=47; +HANDLER performance_schema.memory_summary_by_thread_by_event_name OPEN; +ERROR HY000: Table storage engine for 'memory_summary_by_thread_by_event_name' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=46; +HANDLER performance_schema.memory_summary_by_host_by_event_name OPEN; +ERROR HY000: Table storage engine for 'memory_summary_by_host_by_event_name' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=45; +HANDLER performance_schema.memory_summary_by_account_by_event_name OPEN; +ERROR HY000: Table storage engine for 'memory_summary_by_account_by_event_name' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=44; HANDLER performance_schema.hosts OPEN; ERROR HY000: Table storage engine for 'hosts' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=32; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=43; HANDLER performance_schema.host_cache OPEN; ERROR HY000: Table storage engine for 'host_cache' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=31; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=42; +HANDLER performance_schema.global_variables OPEN; +ERROR HY000: Table storage engine for 'global_variables' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=41; +HANDLER performance_schema.global_status OPEN; +ERROR HY000: Table storage engine for 'global_status' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=40; HANDLER performance_schema.file_summary_by_instance OPEN; ERROR HY000: Table storage engine for 'file_summary_by_instance' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=30; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=39; HANDLER performance_schema.file_summary_by_event_name OPEN; ERROR HY000: Table storage engine for 'file_summary_by_event_name' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=29; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=38; HANDLER performance_schema.file_instances OPEN; ERROR HY000: Table storage engine for 'file_instances' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=28; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=37; HANDLER performance_schema.events_waits_summary_global_by_event_name OPEN; ERROR HY000: Table storage engine for 'events_waits_summary_global_by_event_name' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=27; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=36; HANDLER performance_schema.events_waits_summary_by_user_by_event_name OPEN; ERROR HY000: Table storage engine for 'events_waits_summary_by_user_by_event_name' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=26; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=35; HANDLER performance_schema.events_waits_summary_by_thread_by_event_name OPEN; ERROR HY000: Table storage engine for 'events_waits_summary_by_thread_by_event_name' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=25; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=34; HANDLER performance_schema.events_waits_summary_by_instance OPEN; ERROR HY000: Table storage engine for 'events_waits_summary_by_instance' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=24; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=33; HANDLER performance_schema.events_waits_summary_by_host_by_event_name OPEN; ERROR HY000: Table storage engine for 'events_waits_summary_by_host_by_event_name' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=23; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=32; HANDLER performance_schema.events_waits_summary_by_account_by_event_name OPEN; ERROR HY000: Table storage engine for 'events_waits_summary_by_account_by_event_name' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=22; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=31; HANDLER performance_schema.events_waits_history_long OPEN; ERROR HY000: Table storage engine for 'events_waits_history_long' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=21; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=30; HANDLER performance_schema.events_waits_history OPEN; ERROR HY000: Table storage engine for 'events_waits_history' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=20; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=29; HANDLER performance_schema.events_waits_current OPEN; ERROR HY000: Table storage engine for 'events_waits_current' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=19; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=28; +HANDLER performance_schema.events_transactions_summary_global_by_event_name OPEN; +ERROR HY000: Table storage engine for 'events_transactions_summary_global_by_event_name' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=27; +HANDLER performance_schema.events_transactions_summary_by_user_by_event_name OPEN; +ERROR HY000: Table storage engine for 'events_transactions_summary_by_user_by_event_name' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=26; +HANDLER performance_schema.events_transactions_summary_by_thread_by_event_name OPEN; +ERROR HY000: Table storage engine for 'events_transactions_summary_by_thread_by_event_name' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=25; +HANDLER performance_schema.events_transactions_summary_by_host_by_event_name OPEN; +ERROR HY000: Table storage engine for 'events_transactions_summary_by_host_by_event_name' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=24; +HANDLER performance_schema.events_transactions_summary_by_account_by_event_name OPEN; +ERROR HY000: Table storage engine for 'events_transactions_summary_by_account_by_event_name' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=23; +HANDLER performance_schema.events_transactions_history_long OPEN; +ERROR HY000: Table storage engine for 'events_transactions_history_long' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=22; +HANDLER performance_schema.events_transactions_history OPEN; +ERROR HY000: Table storage engine for 'events_transactions_history' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=21; +HANDLER performance_schema.events_transactions_current OPEN; +ERROR HY000: Table storage engine for 'events_transactions_current' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=20; HANDLER performance_schema.events_statements_summary_global_by_event_name OPEN; ERROR HY000: Table storage engine for 'events_statements_summary_global_by_event_name' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=18; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=19; HANDLER performance_schema.events_statements_summary_by_user_by_event_name OPEN; ERROR HY000: Table storage engine for 'events_statements_summary_by_user_by_event_name' doesn't have this option -SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=17; +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=18; HANDLER performance_schema.events_statements_summary_by_thread_by_event_name OPEN; ERROR HY000: Table storage engine for 'events_statements_summary_by_thread_by_event_name' doesn't have this option +SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=17; +HANDLER performance_schema.events_statements_summary_by_program OPEN; +ERROR HY000: Table storage engine for 'events_statements_summary_by_program' doesn't have this option SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=16; HANDLER performance_schema.events_statements_summary_by_host_by_event_name OPEN; ERROR HY000: Table storage engine for 'events_statements_summary_by_host_by_event_name' doesn't have this option diff --git a/mysql-test/suite/perfschema/r/dml_mems_by_account_by_event_name.result b/mysql-test/suite/perfschema/r/dml_mems_by_account_by_event_name.result new file mode 100644 index 00000000000..6333ae9c3c3 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_mems_by_account_by_event_name.result @@ -0,0 +1,26 @@ +select * from performance_schema.memory_summary_by_account_by_event_name +where event_name like 'memory/%' limit 1; +select * from performance_schema.memory_summary_by_account_by_event_name +where event_name='FOO'; +insert into performance_schema.memory_summary_by_account_by_event_name +set event_name='FOO', user='BAR', host='BAZ', +count_alloc=1, count_free=2, sum_number_of_bytes_alloc=3, +sum_number_of_bytes_free=4, low_count_used=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'memory_summary_by_account_by_event_name' +update performance_schema.memory_summary_by_account_by_event_name +set count_alloc=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'memory_summary_by_account_by_event_name' +update performance_schema.memory_summary_by_account_by_event_name +set count_alloc=12 where event_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'memory_summary_by_account_by_event_name' +delete from performance_schema.memory_summary_by_account_by_event_name +where count_alloc=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'memory_summary_by_account_by_event_name' +delete from performance_schema.memory_summary_by_account_by_event_name; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'memory_summary_by_account_by_event_name' +LOCK TABLES performance_schema.memory_summary_by_account_by_event_name READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_by_account_by_event_name' +UNLOCK TABLES; +LOCK TABLES performance_schema.memory_summary_by_account_by_event_name WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_by_account_by_event_name' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_mems_by_host_by_event_name.result b/mysql-test/suite/perfschema/r/dml_mems_by_host_by_event_name.result new file mode 100644 index 00000000000..6e2c855c581 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_mems_by_host_by_event_name.result @@ -0,0 +1,26 @@ +select * from performance_schema.memory_summary_by_host_by_event_name +where event_name like 'memory/%' limit 1; +select * from performance_schema.memory_summary_by_host_by_event_name +where event_name='FOO'; +insert into performance_schema.memory_summary_by_host_by_event_name +set event_name='FOO', host='BAZ', +count_alloc=1, count_free=2, sum_number_of_bytes_alloc=3, +sum_number_of_bytes_free=4, low_count_used=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'memory_summary_by_host_by_event_name' +update performance_schema.memory_summary_by_host_by_event_name +set count_alloc=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'memory_summary_by_host_by_event_name' +update performance_schema.memory_summary_by_host_by_event_name +set count_alloc=12 where event_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'memory_summary_by_host_by_event_name' +delete from performance_schema.memory_summary_by_host_by_event_name +where count_alloc=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'memory_summary_by_host_by_event_name' +delete from performance_schema.memory_summary_by_host_by_event_name; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'memory_summary_by_host_by_event_name' +LOCK TABLES performance_schema.memory_summary_by_host_by_event_name READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_by_host_by_event_name' +UNLOCK TABLES; +LOCK TABLES performance_schema.memory_summary_by_host_by_event_name WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_by_host_by_event_name' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_mems_by_thread_by_event_name.result b/mysql-test/suite/perfschema/r/dml_mems_by_thread_by_event_name.result new file mode 100644 index 00000000000..f1576b22896 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_mems_by_thread_by_event_name.result @@ -0,0 +1,26 @@ +select * from performance_schema.memory_summary_by_thread_by_event_name +where event_name like 'memory/%' limit 1; +select * from performance_schema.memory_summary_by_thread_by_event_name +where event_name='FOO'; +insert into performance_schema.memory_summary_by_thread_by_event_name +set event_name='FOO', thread_id=12, +count_alloc=1, count_free=2, sum_number_of_bytes_alloc=3, +sum_number_of_bytes_free=4, low_count_used=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'memory_summary_by_thread_by_event_name' +update performance_schema.memory_summary_by_thread_by_event_name +set count_alloc=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'memory_summary_by_thread_by_event_name' +update performance_schema.memory_summary_by_thread_by_event_name +set count_alloc=12 where event_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'memory_summary_by_thread_by_event_name' +delete from performance_schema.memory_summary_by_thread_by_event_name +where count_alloc=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'memory_summary_by_thread_by_event_name' +delete from performance_schema.memory_summary_by_thread_by_event_name; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'memory_summary_by_thread_by_event_name' +LOCK TABLES performance_schema.memory_summary_by_thread_by_event_name READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_by_thread_by_event_name' +UNLOCK TABLES; +LOCK TABLES performance_schema.memory_summary_by_thread_by_event_name WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_by_thread_by_event_name' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_mems_by_user_by_event_name.result b/mysql-test/suite/perfschema/r/dml_mems_by_user_by_event_name.result new file mode 100644 index 00000000000..3beab7f9ba4 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_mems_by_user_by_event_name.result @@ -0,0 +1,26 @@ +select * from performance_schema.memory_summary_by_user_by_event_name +where event_name like 'memory/%' limit 1; +select * from performance_schema.memory_summary_by_user_by_event_name +where event_name='FOO'; +insert into performance_schema.memory_summary_by_user_by_event_name +set event_name='FOO', user='BAR', +count_alloc=1, count_free=2, sum_number_of_bytes_alloc=3, +sum_number_of_bytes_free=4, low_count_used=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'memory_summary_by_user_by_event_name' +update performance_schema.memory_summary_by_user_by_event_name +set count_alloc=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'memory_summary_by_user_by_event_name' +update performance_schema.memory_summary_by_user_by_event_name +set count_alloc=12 where event_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'memory_summary_by_user_by_event_name' +delete from performance_schema.memory_summary_by_user_by_event_name +where count_alloc=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'memory_summary_by_user_by_event_name' +delete from performance_schema.memory_summary_by_user_by_event_name; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'memory_summary_by_user_by_event_name' +LOCK TABLES performance_schema.memory_summary_by_user_by_event_name READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_by_user_by_event_name' +UNLOCK TABLES; +LOCK TABLES performance_schema.memory_summary_by_user_by_event_name WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_by_user_by_event_name' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_mems_global_by_event_name.result b/mysql-test/suite/perfschema/r/dml_mems_global_by_event_name.result new file mode 100644 index 00000000000..06ac00d1d8f --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_mems_global_by_event_name.result @@ -0,0 +1,26 @@ +select * from performance_schema.memory_summary_global_by_event_name +where event_name like 'memory/%' limit 1; +select * from performance_schema.memory_summary_global_by_event_name +where event_name='FOO'; +insert into performance_schema.memory_summary_global_by_event_name +set event_name='FOO', +count_alloc=1, count_free=2, sum_number_of_bytes_alloc=3, +sum_number_of_bytes_free=4, low_count_used=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'memory_summary_global_by_event_name' +update performance_schema.memory_summary_global_by_event_name +set count_alloc=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'memory_summary_global_by_event_name' +update performance_schema.memory_summary_global_by_event_name +set count_alloc=12 where event_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'memory_summary_global_by_event_name' +delete from performance_schema.memory_summary_global_by_event_name +where count_alloc=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'memory_summary_global_by_event_name' +delete from performance_schema.memory_summary_global_by_event_name; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'memory_summary_global_by_event_name' +LOCK TABLES performance_schema.memory_summary_global_by_event_name READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_global_by_event_name' +UNLOCK TABLES; +LOCK TABLES performance_schema.memory_summary_global_by_event_name WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_global_by_event_name' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_metadata_locks.result b/mysql-test/suite/perfschema/r/dml_metadata_locks.result new file mode 100644 index 00000000000..03f62bc95c5 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_metadata_locks.result @@ -0,0 +1,21 @@ +select * from performance_schema.metadata_locks; +select * from performance_schema.metadata_locks +where object_name='foo'; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN LOCK_TYPE LOCK_DURATION LOCK_STATUS SOURCE OWNER_THREAD_ID OWNER_EVENT_ID +insert into performance_schema.metadata_locks +set object_name='FOO', owner_thread_id=1; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'metadata_locks' +update performance_schema.metadata_locks +set owner_thread_id=12 where object_name='foo'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'metadata_locks' +delete from performance_schema.metadata_locks; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'metadata_locks' +delete from performance_schema.metadata_locks +where timer_name='CYCLE'; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'metadata_locks' +LOCK TABLES performance_schema.metadata_locks READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'metadata_locks' +UNLOCK TABLES; +LOCK TABLES performance_schema.metadata_locks WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'metadata_locks' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_prepared_statements_instances.result b/mysql-test/suite/perfschema/r/dml_prepared_statements_instances.result new file mode 100644 index 00000000000..dbccb963a61 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_prepared_statements_instances.result @@ -0,0 +1,26 @@ +select * from performance_schema.prepared_statements_instances +where owner_object_name like 'XXYYZZ%' limit 1; +OBJECT_INSTANCE_BEGIN STATEMENT_ID STATEMENT_NAME SQL_TEXT OWNER_THREAD_ID OWNER_EVENT_ID OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME TIMER_PREPARE COUNT_REPREPARE COUNT_EXECUTE SUM_TIMER_EXECUTE MIN_TIMER_EXECUTE AVG_TIMER_EXECUTE MAX_TIMER_EXECUTE SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED +select * from performance_schema.prepared_statements_instances +where owner_object_name='XXYYZZ'; +OBJECT_INSTANCE_BEGIN STATEMENT_ID STATEMENT_NAME SQL_TEXT OWNER_THREAD_ID OWNER_EVENT_ID OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME TIMER_PREPARE COUNT_REPREPARE COUNT_EXECUTE SUM_TIMER_EXECUTE MIN_TIMER_EXECUTE AVG_TIMER_EXECUTE MAX_TIMER_EXECUTE SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED +insert into performance_schema.prepared_statements_instances +set owner_object_name='XXYYZZ', count_execute=1, sum_timer_execute=2, +min_timer_execute=3, avg_timer_execute=4, max_timer_execute=5; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'prepared_statements_instances' +update performance_schema.prepared_statements_instances set count_execute=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'prepared_statements_instances' +update performance_schema.prepared_statements_instances +set count_execute=12 where owner_object_name like "XXYYZZ"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'prepared_statements_instances' +delete from performance_schema.prepared_statements_instances +where count_execute=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'prepared_statements_instances' +delete from performance_schema.prepared_statements_instances; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'prepared_statements_instances' +LOCK TABLES performance_schema.prepared_statements_instances READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'prepared_statements_instances' +UNLOCK TABLES; +LOCK TABLES performance_schema.prepared_statements_instances WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'prepared_statements_instances' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_replication_applier_configuration.result b/mysql-test/suite/perfschema/r/dml_replication_applier_configuration.result new file mode 100644 index 00000000000..0e5711b5732 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_replication_applier_configuration.result @@ -0,0 +1,21 @@ +SELECT * FROM performance_schema.replication_applier_configuration +LIMIT 1; +sELECT * FROM performance_schema.replication_applier_configuration +WHERE desired_delay=12; +INSERT INTO performance_schema.replication_applier_configuration +SET desired_delay=2; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'replication_applier_configuration' +UPDATE performance_schema.replication_applier_configuration +SET desired_delay=12 WHERE desired_delay=2; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_applier_configuration' +DELETE FROM performance_schema.replication_applier_configuration +WHERE desired_delay=12; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_applier_configuration' +DELETE FROM performance_schema.replication_applier_configuration; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_applier_configuration' +LOCK TABLES performance_schema.replication_applier_configuration READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_applier_configuration' +UNLOCK TABLES; +LOCK TABLES performance_schema.replication_applier_configuration WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_applier_configuration' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_replication_applier_status.result b/mysql-test/suite/perfschema/r/dml_replication_applier_status.result new file mode 100644 index 00000000000..e6464c58e85 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_replication_applier_status.result @@ -0,0 +1,24 @@ +SELECT * FROM performance_schema.replication_applier_status +LIMIT 1; +SELECT * FROM performance_schema.replication_applier_status +WHERE service_state='YES' OR remaining_delay=12; +INSERT INTO performance_schema.replication_applier_status +SET service_state='YES', remaining_delay=12; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'replication_applier_status' +UPDATE performance_schema.replication_applier_status +SET remaining_delay=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_applier_status' +UPDATE performance_schema.replication_applier_status +SET remaining_delay=12 WHERE service_state='YES'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_applier_status' +DELETE FROM performance_schema.replication_applier_status +WHERE service_state='YES'; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_applier_status' +DELETE FROM performance_schema.replication_applier_status; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_applier_status' +LOCK TABLES performance_schema.replication_applier_status READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_applier_status' +UNLOCK TABLES; +LOCK TABLES performance_schema.replication_applier_status WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_applier_status' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_replication_applier_status_by_coordinator.result b/mysql-test/suite/perfschema/r/dml_replication_applier_status_by_coordinator.result new file mode 100644 index 00000000000..d6818fd1280 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_replication_applier_status_by_coordinator.result @@ -0,0 +1,25 @@ +SELECT * FROM performance_schema.replication_applier_status_by_coordinator +LIMIT 1; +SELECT * FROM performance_schema.replication_applier_status_by_coordinator +WHERE service_state='YES' or last_error_message='ERROR'; +INSERT INTO performance_schema.replication_applier_status_by_coordinator +SET service_state='YES', last_error_message='ERROR', thread_id=2, +last_error_number=1234; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'replication_applier_status_by_coordinator' +UPDATE performance_schema.replication_applier_status_by_coordinator +SET last_error_number=1234; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_coordinator' +UPDATE performance_schema.replication_applier_status_by_coordinator +SET last_error_number=1234 where service_state like "YES"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_coordinator' +DELETE FROM performance_schema.replication_applier_status_by_coordinator +WHERE thread_id=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_coordinator' +DELETE FROM performance_schema.replication_applier_status_by_coordinator; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_coordinator' +LOCK TABLES performance_schema.replication_applier_status_by_coordinator READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_applier_status_by_coordinator' +UNLOCK TABLES; +LOCK TABLES performance_schema.replication_applier_status_by_coordinator WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_applier_status_by_coordinator' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_replication_applier_status_by_worker.result b/mysql-test/suite/perfschema/r/dml_replication_applier_status_by_worker.result new file mode 100644 index 00000000000..8033da46a1d --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_replication_applier_status_by_worker.result @@ -0,0 +1,25 @@ +SELECT * FROM performance_schema.replication_applier_status_by_worker +LIMIT 1; +SELECT * FROM performance_schema.replication_applier_status_by_worker +WHERE service_state='YES' OR last_error_message='ERROR'; +INSERT INTO performance_schema.replication_applier_status_by_worker +SET service_state='YES', last_error_message='ERROR', +worker_id=1, thread_id=2, last_error_number=1234; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker' +UPDATE performance_schema.replication_applier_status_by_worker +SET worker_id=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker' +UPDATE performance_schema.replication_applier_status_by_worker +SET worker_d=12 where service_state like "YES"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker' +DELETE FROM performance_schema.replication_applier_status_by_worker +WHERE worker_id=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker' +DELETE FROM performance_schema.replication_applier_status_by_worker; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker' +LOCK TABLES performance_schema.replication_applier_status_by_worker READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker' +UNLOCK TABLES; +LOCK TABLES performance_schema.replication_applier_status_by_worker WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_replication_connection_configuration.result b/mysql-test/suite/perfschema/r/dml_replication_connection_configuration.result new file mode 100644 index 00000000000..d338d4ab38a --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_replication_connection_configuration.result @@ -0,0 +1,25 @@ +SELECT * FROM performance_schema.replication_connection_configuration +LIMIT 1; +SELECT * FROM performance_schema.replication_connection_configuration +WHERE user='FOO' or host='BAR'; +INSERT INTO performance_schema.replication_connection_configuration +SET user='FOO', host='BAR', +port=1, connection_retry_count=2; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'replication_connection_configuration' +UPDATE performance_schema.replication_connection_configuration +SET connection_retry_interval=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_connection_configuration' +UPDATE performance_schema.replication_connection_configuration +SET connection_retry_interval=12 WHERE host LIKE "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_connection_configuration' +DELETE FROM performance_schema.replication_connection_configuration +WHERE connection_retry_count=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_connection_configuration' +DELETE FROM performance_schema.replication_connection_configuration; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_connection_configuration' +LOCK TABLES performance_schema.replication_connection_configuration READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_connection_configuration' +UNLOCK TABLES; +LOCK TABLES performance_schema.replication_connection_configuration WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_connection_configuration' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_replication_connection_status.result b/mysql-test/suite/perfschema/r/dml_replication_connection_status.result new file mode 100644 index 00000000000..981a064f534 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_replication_connection_status.result @@ -0,0 +1,25 @@ +SELECT * FROM performance_schema.replication_connection_status +LIMIT 1; +SELECT * FROM performance_schema.replication_connection_status +WHERE received_transaction_set='FOO' OR last_error_message='BAR'; +INSERT INTO performance_schema.replication_connection_status +SET received_transaction_set='FOO', last_error_message='BAR', +thread_id=1, last_error_number=2; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'replication_connection_status' +UPDATE performance_schema.replication_connection_status +SET last_error_number=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_connection_status' +UPDATE performance_schema.replication_connection_status +SET thread_id=12 WHERE received_transaction_set like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_connection_status' +DELETE FROM performance_schema.replication_connection_status +WHERE last_error_number=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_connection_status' +DELETE FROM performance_schema.replication_connection_status; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_connection_status' +LOCK TABLES performance_schema.replication_connection_status READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_connection_status' +UNLOCK TABLES; +LOCK TABLES performance_schema.replication_connection_status WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_connection_status' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_replication_group_member_stats.result b/mysql-test/suite/perfschema/r/dml_replication_group_member_stats.result new file mode 100644 index 00000000000..0a148201335 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_replication_group_member_stats.result @@ -0,0 +1,26 @@ +SELECT * FROM performance_schema.replication_group_member_stats +LIMIT 1; +CHANNEL_NAME VIEW_ID MEMBER_ID COUNT_TRANSACTIONS_IN_QUEUE COUNT_TRANSACTIONS_CHECKED COUNT_CONFLICTS_DETECTED COUNT_TRANSACTIONS_VALIDATING TRANSACTIONS_COMMITTED_ALL_MEMBERS LAST_CONFLICT_FREE_TRANSACTION +SELECT * FROM performance_schema.replication_group_member_stats +WHERE channel_name='FOO'; +CHANNEL_NAME VIEW_ID MEMBER_ID COUNT_TRANSACTIONS_IN_QUEUE COUNT_TRANSACTIONS_CHECKED COUNT_CONFLICTS_DETECTED COUNT_TRANSACTIONS_VALIDATING TRANSACTIONS_COMMITTED_ALL_MEMBERS LAST_CONFLICT_FREE_TRANSACTION +INSERT INTO performance_schema.replication_group_member_stats +SET channel_name='FOO', node_id=1; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'replication_group_member_stats' +UPDATE performance_schema.replication_group_member_stats +SET member_id=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_group_member_stats' +UPDATE performance_schema.replication_group_member_stats +SET member_id=12 WHERE group_name LIKE "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_group_member_stats' +DELETE FROM performance_schema.replication_group_member_stats +WHERE member_id=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_group_member_stats' +DELETE FROM performance_schema.replication_group_member_stats; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_group_member_stats' +LOCK TABLES performance_schema.replication_group_member_stats READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_group_member_stats' +UNLOCK TABLES; +LOCK TABLES performance_schema.replication_group_member_stats WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_group_member_stats' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_replication_group_members.result b/mysql-test/suite/perfschema/r/dml_replication_group_members.result new file mode 100644 index 00000000000..cdc211b9978 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_replication_group_members.result @@ -0,0 +1,24 @@ +SELECT * FROM performance_schema.replication_group_members +LIMIT 1; +SELECT * FROM performance_schema.replication_group_members +WHERE channel_name='FOO'; +INSERT INTO performance_schema.replication_group_members +SET channel_name='FOO', member_id=1; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'replication_group_members' +UPDATE performance_schema.replication_group_members +SET member_id=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_group_members' +UPDATE performance_schema.replication_group_members +SET member_id=12 WHERE channel_name LIKE "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'replication_group_members' +DELETE FROM performance_schema.replication_group_members +WHERE member_id=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_group_members' +DELETE FROM performance_schema.replication_group_members; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'replication_group_members' +LOCK TABLES performance_schema.replication_group_members READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_group_members' +UNLOCK TABLES; +LOCK TABLES performance_schema.replication_group_members WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_group_members' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_session_status.result b/mysql-test/suite/perfschema/r/dml_session_status.result new file mode 100644 index 00000000000..979d97daa83 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_session_status.result @@ -0,0 +1,21 @@ +select * from performance_schema.session_status +where variable_name like 'bytes_%' limit 1; +select * from performance_schema.session_status +where variable_name='FOO'; +insert into performance_schema.session_status +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'session_status' +update performance_schema.session_status +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'session_status' +delete from performance_schema.session_status +where variable_name <> 'FOO'; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'session_status' +delete from performance_schema.session_status; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'session_status' +LOCK TABLES performance_schema.session_status READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_status' +UNLOCK TABLES; +LOCK TABLES performance_schema.session_status WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_status' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_session_variables.result b/mysql-test/suite/perfschema/r/dml_session_variables.result new file mode 100644 index 00000000000..c8933a383ce --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_session_variables.result @@ -0,0 +1,21 @@ +select * from performance_schema.session_variables +where variable_name like 'bytes_%' limit 1; +select * from performance_schema.session_variables +where variable_name='FOO'; +insert into performance_schema.session_variables +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'session_variables' +update performance_schema.session_variables +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'session_variables' +delete from performance_schema.session_variables +where variable_name <> 'FOO'; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'session_variables' +delete from performance_schema.session_variables; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'session_variables' +LOCK TABLES performance_schema.session_variables READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_variables' +UNLOCK TABLES; +LOCK TABLES performance_schema.session_variables WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_variables' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_setup_actors.result b/mysql-test/suite/perfschema/r/dml_setup_actors.result index 9ff49d8b7e2..e42ff745bbf 100644 --- a/mysql-test/suite/perfschema/r/dml_setup_actors.result +++ b/mysql-test/suite/perfschema/r/dml_setup_actors.result @@ -1,12 +1,18 @@ drop table if exists test.setup_actors; create table test.setup_actors as select * from performance_schema.setup_actors; +insert into performance_schema.setup_actors +values ('%','%','%','YES', 'YES'); +ERROR 23000: Can't write; duplicate key in table 'setup_actors' +insert into performance_schema.setup_actors +values ('%','%','%','NO', 'NO'); +ERROR 23000: Can't write; duplicate key in table 'setup_actors' truncate table performance_schema.setup_actors; select * from performance_schema.setup_actors; -HOST USER ROLE +HOST USER ROLE ENABLED HISTORY select * from performance_schema.setup_actors where user = '%'; -HOST USER ROLE +HOST USER ROLE ENABLED HISTORY insert into performance_schema.setup_actors set user='Joe', host='localhost'; insert into performance_schema.setup_actors @@ -15,13 +21,19 @@ insert into performance_schema.setup_actors set user='%', host='server1'; insert into performance_schema.setup_actors set user='%', host='%'; +insert into performance_schema.setup_actors +values ('localhost', 'user1', '%', 'NO%', 'NO'); +ERROR 01000: Data truncated for column 'ENABLED' at row 1 +insert into performance_schema.setup_actors +values ('localhost', 'user1', '%', 'NO', 'KO'); +ERROR 01000: Data truncated for column 'HISTORY' at row 1 select * from performance_schema.setup_actors order by USER, HOST; -HOST USER ROLE -% % % -server1 % % -% Joe % -localhost Joe % +HOST USER ROLE ENABLED HISTORY +% % % YES YES +server1 % % YES YES +% Joe % YES YES +localhost Joe % YES YES update performance_schema.setup_actors set user='ILLEGAL'; ERROR HY000: Invalid performance_schema usage. @@ -31,29 +43,61 @@ ERROR HY000: Invalid performance_schema usage. update performance_schema.setup_actors set role='ILLEGAL'; ERROR HY000: Invalid performance_schema usage. +update performance_schema.setup_actors +set ENABLED='YES'; +update performance_schema.setup_actors +set HISTORY='YES'; +update performance_schema.setup_actors +set ENABLED=''; +ERROR 01000: Data truncated for column 'ENABLED' at row 1 +update performance_schema.setup_actors +set ENABLED='YESS'; +ERROR 01000: Data truncated for column 'ENABLED' at row 1 +update performance_schema.setup_actors +set ENABLED='NO%'; +ERROR 01000: Data truncated for column 'ENABLED' at row 1 +update performance_schema.setup_actors +set ENABLED=NULL; +ERROR 23000: Column 'ENABLED' cannot be null +update performance_schema.setup_actors +set HISTORY='YESS'; +ERROR 01000: Data truncated for column 'HISTORY' at row 1 +update performance_schema.setup_actors +set HISTORY='NO%'; +ERROR 01000: Data truncated for column 'HISTORY' at row 1 +update performance_schema.setup_actors +set HISTORY=NULL; +ERROR 23000: Column 'HISTORY' cannot be null select * from performance_schema.setup_actors order by USER, HOST; -HOST USER ROLE -% % % -server1 % % -% Joe % -localhost Joe % +HOST USER ROLE ENABLED HISTORY +% % % YES YES +server1 % % YES YES +% Joe % YES YES +localhost Joe % YES YES delete from performance_schema.setup_actors where user = 'Joe' and host = 'localhost'; select * from performance_schema.setup_actors order by USER, HOST; -HOST USER ROLE -% % % -server1 % % -% Joe % +HOST USER ROLE ENABLED HISTORY +% % % YES YES +server1 % % YES YES +% Joe % YES YES delete from performance_schema.setup_actors; select * from performance_schema.setup_actors order by USER, HOST; -HOST USER ROLE +HOST USER ROLE ENABLED HISTORY LOCK TABLES performance_schema.setup_actors READ; UNLOCK TABLES; LOCK TABLES performance_schema.setup_actors WRITE; UNLOCK TABLES; +# +# WL#2284: Increase the length of a user name +# +insert into performance_schema.setup_actors +set user='user_name_len_22_01234', host='localhost'; +delete from performance_schema.setup_actors +where user = 'user_name_len_22_01234' and host = 'localhost'; truncate table performance_schema.setup_actors; insert into performance_schema.setup_actors select * from test.setup_actors; diff --git a/mysql-test/suite/perfschema/r/dml_setup_consumers.result b/mysql-test/suite/perfschema/r/dml_setup_consumers.result index 81fa27a3fdf..19a01b23fde 100644 --- a/mysql-test/suite/perfschema/r/dml_setup_consumers.result +++ b/mysql-test/suite/perfschema/r/dml_setup_consumers.result @@ -6,6 +6,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -25,6 +28,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES diff --git a/mysql-test/suite/perfschema/r/dml_setup_instruments.result b/mysql-test/suite/perfschema/r/dml_setup_instruments.result index 310ff60aa5b..b1088a13628 100644 --- a/mysql-test/suite/perfschema/r/dml_setup_instruments.result +++ b/mysql-test/suite/perfschema/r/dml_setup_instruments.result @@ -4,16 +4,16 @@ where name like 'Wait/Synch/Mutex/sql/%' and name not in ('wait/synch/mutex/sql/DEBUG_SYNC::mutex') order by name limit 10; NAME ENABLED TIMED -wait/synch/mutex/sql/Cversion_lock YES YES -wait/synch/mutex/sql/Delayed_insert::mutex YES YES +wait/synch/mutex/sql/Commit_order_manager::m_mutex YES YES +wait/synch/mutex/sql/Cost_constant_cache::LOCK_cost_const YES YES wait/synch/mutex/sql/Event_scheduler::LOCK_scheduler_state YES YES +wait/synch/mutex/sql/Gtid_set::gtid_executed::free_intervals_mutex YES YES wait/synch/mutex/sql/Gtid_state YES YES wait/synch/mutex/sql/hash_filo::lock YES YES -wait/synch/mutex/sql/LOCK_active_mi YES YES +wait/synch/mutex/sql/key_mts_gaq_LOCK YES YES +wait/synch/mutex/sql/key_mts_temp_table_LOCK YES YES wait/synch/mutex/sql/LOCK_audit_mask YES YES -wait/synch/mutex/sql/LOCK_connection_count YES YES -wait/synch/mutex/sql/LOCK_crypt YES YES -wait/synch/mutex/sql/LOCK_delayed_create YES YES +wait/synch/mutex/sql/LOCK_compress_gtid_table YES YES select * from performance_schema.setup_instruments where name like 'Wait/Synch/Rwlock/sql/%' and name not in ('wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock') @@ -22,30 +22,33 @@ NAME ENABLED TIMED wait/synch/rwlock/sql/Binlog_relay_IO_delegate::lock YES YES wait/synch/rwlock/sql/Binlog_storage_delegate::lock YES YES wait/synch/rwlock/sql/Binlog_transmit_delegate::lock YES YES +wait/synch/rwlock/sql/channel_lock YES YES +wait/synch/rwlock/sql/channel_map_lock YES YES wait/synch/rwlock/sql/gtid_commit_rollback YES YES +wait/synch/rwlock/sql/gtid_mode_lock YES YES wait/synch/rwlock/sql/LOCK_dboptions YES YES wait/synch/rwlock/sql/LOCK_grant YES YES wait/synch/rwlock/sql/LOCK_system_variables_hash YES YES -wait/synch/rwlock/sql/LOCK_sys_init_connect YES YES -wait/synch/rwlock/sql/LOCK_sys_init_slave YES YES -wait/synch/rwlock/sql/LOGGER::LOCK_logger YES YES select * from performance_schema.setup_instruments where name like 'Wait/Synch/Cond/sql/%' and name not in ( +'wait/synch/cond/sql/COND_open', 'wait/synch/cond/sql/COND_handler_count', -'wait/synch/cond/sql/DEBUG_SYNC::cond') +'wait/synch/cond/sql/DEBUG_SYNC::cond', +'wait/synch/cond/sql/COND_socket_listener_active', +'wait/synch/cond/sql/COND_start_signal_handler') order by name limit 10; NAME ENABLED TIMED +wait/synch/cond/sql/Commit_order_manager::m_workers.cond YES YES +wait/synch/cond/sql/COND_compress_gtid_table YES YES wait/synch/cond/sql/COND_connection_count YES YES wait/synch/cond/sql/COND_flush_thread_cache YES YES wait/synch/cond/sql/COND_manager YES YES wait/synch/cond/sql/COND_queue_state YES YES wait/synch/cond/sql/COND_server_started YES YES +wait/synch/cond/sql/COND_thd_list YES YES wait/synch/cond/sql/COND_thread_cache YES YES -wait/synch/cond/sql/COND_thread_count YES YES -wait/synch/cond/sql/Delayed_insert::cond YES YES -wait/synch/cond/sql/Delayed_insert::cond_client YES YES -wait/synch/cond/sql/Event_scheduler::COND_state YES YES +wait/synch/cond/sql/COND_thr_lock YES YES select * from performance_schema.setup_instruments where name='Wait'; select * from performance_schema.setup_instruments @@ -78,3 +81,5 @@ UNLOCK TABLES; UPDATE performance_schema.setup_instruments SET timed='NO' ORDER BY RAND(); +update performance_schema.setup_instruments +set enabled='YES', TIMED='YES'; diff --git a/mysql-test/suite/perfschema/r/dml_setup_objects.result b/mysql-test/suite/perfschema/r/dml_setup_objects.result index 075114a9b5a..7cdc6525f60 100644 --- a/mysql-test/suite/perfschema/r/dml_setup_objects.result +++ b/mysql-test/suite/perfschema/r/dml_setup_objects.result @@ -1,4 +1,7 @@ drop table if exists test.setup_objects; +SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. create table test.setup_objects as select * from performance_schema.setup_objects; truncate table performance_schema.setup_objects; @@ -65,3 +68,4 @@ truncate table performance_schema.setup_objects; insert into performance_schema.setup_objects select * from test.setup_objects; drop table test.setup_objects; +SET sql_mode = default; diff --git a/mysql-test/suite/perfschema/r/dml_setup_timers.result b/mysql-test/suite/perfschema/r/dml_setup_timers.result index 1667e58f7ed..df6a78d7d54 100644 --- a/mysql-test/suite/perfschema/r/dml_setup_timers.result +++ b/mysql-test/suite/perfschema/r/dml_setup_timers.result @@ -5,6 +5,8 @@ set timer_name='NANOSECOND' where name="stage"; update performance_schema.setup_timers set timer_name='NANOSECOND' where name="statement"; update performance_schema.setup_timers +set timer_name='MICROSECOND' where name="transaction"; +update performance_schema.setup_timers set timer_name='MICROSECOND' where name="idle"; select * from performance_schema.setup_timers; NAME TIMER_NAME @@ -12,6 +14,7 @@ idle MICROSECOND wait CYCLE stage NANOSECOND statement NANOSECOND +transaction MICROSECOND select * from performance_schema.setup_timers where name='Wait'; NAME TIMER_NAME @@ -34,6 +37,7 @@ idle MILLISECOND wait MILLISECOND stage MILLISECOND statement MILLISECOND +transaction MILLISECOND update performance_schema.setup_timers set timer_name='CYCLE'; delete from performance_schema.setup_timers; @@ -52,6 +56,8 @@ set timer_name='NANOSECOND' where name="stage"; update performance_schema.setup_timers set timer_name='NANOSECOND' where name="statement"; update performance_schema.setup_timers +set timer_name='MICROSECOND' where name="transaction"; +update performance_schema.setup_timers set timer_name='MICROSECOND' where name="idle"; select * from performance_schema.setup_timers; NAME TIMER_NAME @@ -59,3 +65,4 @@ idle MICROSECOND wait CYCLE stage NANOSECOND statement NANOSECOND +transaction MICROSECOND diff --git a/mysql-test/suite/perfschema/r/dml_status_by_account.result b/mysql-test/suite/perfschema/r/dml_status_by_account.result new file mode 100644 index 00000000000..1b45920c70b --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_status_by_account.result @@ -0,0 +1,24 @@ +select * from performance_schema.status_by_account +where variable_name like 'bytes_%' limit 1; +select * from performance_schema.status_by_account +where variable_name='FOO'; +insert into performance_schema.status_by_account +set user='USER', host='HOST', variable_name='FOO', variable_value='BAR'; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'status_by_account' +update performance_schema.status_by_account +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'status_by_account' +update performance_schema.status_by_account +set variable_name='FOO' where user <> 'USER'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'status_by_account' +delete from performance_schema.status_by_account +where user <> 'USER'; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'status_by_account' +delete from performance_schema.status_by_account; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'status_by_account' +LOCK TABLES performance_schema.status_by_account READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'status_by_account' +UNLOCK TABLES; +LOCK TABLES performance_schema.status_by_account WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'status_by_account' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_status_by_host.result b/mysql-test/suite/perfschema/r/dml_status_by_host.result new file mode 100644 index 00000000000..cfe74eaabbf --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_status_by_host.result @@ -0,0 +1,24 @@ +select * from performance_schema.status_by_host +where variable_name like 'bytes_%' limit 1; +select * from performance_schema.status_by_host +where variable_name='FOO'; +insert into performance_schema.status_by_host +set host='HOST', variable_name='FOO', variable_value='BAR'; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'status_by_host' +update performance_schema.status_by_host +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'status_by_host' +update performance_schema.status_by_host +set variable_name='FOO' where host <> 'HOST'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'status_by_host' +delete from performance_schema.status_by_host +where host <> 'HOST'; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'status_by_host' +delete from performance_schema.status_by_host; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'status_by_host' +LOCK TABLES performance_schema.status_by_host READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'status_by_host' +UNLOCK TABLES; +LOCK TABLES performance_schema.status_by_host WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'status_by_host' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_status_by_thread.result b/mysql-test/suite/perfschema/r/dml_status_by_thread.result new file mode 100644 index 00000000000..afe2cf407ed --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_status_by_thread.result @@ -0,0 +1,24 @@ +select * from performance_schema.status_by_thread +where variable_name like 'bytes_%' limit 1; +select * from performance_schema.status_by_thread +where variable_name='FOO'; +insert into performance_schema.status_by_thread +set thread_id=1, variable_name='FOO', variable_value='BAR'; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'status_by_thread' +update performance_schema.status_by_thread +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'status_by_thread' +update performance_schema.status_by_thread +set variable_name='FOO' where thread_id=0; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'status_by_thread' +delete from performance_schema.status_by_thread +where thread_id=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'status_by_thread' +delete from performance_schema.status_by_thread; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'status_by_thread' +LOCK TABLES performance_schema.status_by_thread READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'status_by_thread' +UNLOCK TABLES; +LOCK TABLES performance_schema.status_by_thread WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'status_by_thread' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_status_by_user.result b/mysql-test/suite/perfschema/r/dml_status_by_user.result new file mode 100644 index 00000000000..430bb622d3b --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_status_by_user.result @@ -0,0 +1,24 @@ +select * from performance_schema.status_by_user +where variable_name like 'bytes_%' limit 1; +select * from performance_schema.status_by_user +where variable_name='FOO'; +insert into performance_schema.status_by_user +set user='USER', variable_name='FOO', variable_value='BAR'; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'status_by_user' +update performance_schema.status_by_user +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'status_by_user' +update performance_schema.status_by_user +set variable_name='FOO' where user <> 'USER'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'status_by_user' +delete from performance_schema.status_by_user +where user <> 'USER'; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'status_by_user' +delete from performance_schema.status_by_user; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'status_by_user' +LOCK TABLES performance_schema.status_by_user READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'status_by_user' +UNLOCK TABLES; +LOCK TABLES performance_schema.status_by_user WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'status_by_user' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_table_handles.result b/mysql-test/suite/perfschema/r/dml_table_handles.result new file mode 100644 index 00000000000..5f6f0a43ad8 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_table_handles.result @@ -0,0 +1,21 @@ +select * from performance_schema.table_handles; +select * from performance_schema.table_handles +where object_name='foo'; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN OWNER_THREAD_ID OWNER_EVENT_ID INTERNAL_LOCK EXTERNAL_LOCK +insert into performance_schema.table_handles +set object_name='FOO', owner_event_id=1; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'table_handles' +update performance_schema.table_handles +set owner_event_id=12 where object_name='foo'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'table_handles' +delete from performance_schema.table_handles; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'table_handles' +delete from performance_schema.table_handles +where timer_name='CYCLE'; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'table_handles' +LOCK TABLES performance_schema.table_handles READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_handles' +UNLOCK TABLES; +LOCK TABLES performance_schema.table_handles WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_handles' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/dml_uvar_by_thread.result b/mysql-test/suite/perfschema/r/dml_uvar_by_thread.result new file mode 100644 index 00000000000..ae6dc4ec3d9 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_uvar_by_thread.result @@ -0,0 +1,30 @@ +select * from performance_schema.user_variables_by_thread +where variable_name like 'foo%' limit 1; +select * from performance_schema.user_variables_by_thread +where variable_name='FOO'; +insert into performance_schema.user_variables_by_thread +set thread_id=12, variable_name='foo', variable_value='bar'; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'user_variables_by_thread' +update performance_schema.user_variables_by_thread +set thread_id=12; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'user_variables_by_thread' +update performance_schema.user_variables_by_thread +set thread_id=12 where variable_name like "FOO"; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'user_variables_by_thread' +delete from performance_schema.user_variables_by_thread +where thread_id=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'user_variables_by_thread' +delete from performance_schema.user_variables_by_thread; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'user_variables_by_thread' +LOCK TABLES performance_schema.user_variables_by_thread READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'user_variables_by_thread' +UNLOCK TABLES; +LOCK TABLES performance_schema.user_variables_by_thread WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'user_variables_by_thread' +UNLOCK TABLES; +CREATE TRIGGER test_uvar_trigger +AFTER INSERT ON performance_schema.user_variables_by_thread +FOR EACH ROW BEGIN +set @a='OK'; +END| +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' diff --git a/mysql-test/suite/perfschema/r/dml_variables_by_thread.result b/mysql-test/suite/perfschema/r/dml_variables_by_thread.result new file mode 100644 index 00000000000..b98907b3ba8 --- /dev/null +++ b/mysql-test/suite/perfschema/r/dml_variables_by_thread.result @@ -0,0 +1,24 @@ +select * from performance_schema.variables_by_thread +where variable_name like 'autocommit%' limit 1; +select * from performance_schema.variables_by_thread +where variable_name='FOO'; +insert into performance_schema.variables_by_thread +set thread_id=1, variable_name='FOO', variable_value='BAR'; +ERROR 42000: INSERT command denied to user 'root'@'localhost' for table 'variables_by_thread' +update performance_schema.variables_by_thread +set variable_name='FOO', variable_value='BAR'; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'variables_by_thread' +update performance_schema.variables_by_thread +set variable_name='FOO' where thread_id=0; +ERROR 42000: UPDATE command denied to user 'root'@'localhost' for table 'variables_by_thread' +delete from performance_schema.variables_by_thread +where thread_id=1; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'variables_by_thread' +delete from performance_schema.variables_by_thread; +ERROR 42000: DELETE command denied to user 'root'@'localhost' for table 'variables_by_thread' +LOCK TABLES performance_schema.variables_by_thread READ; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'variables_by_thread' +UNLOCK TABLES; +LOCK TABLES performance_schema.variables_by_thread WRITE; +ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'variables_by_thread' +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/r/event_aggregate.result b/mysql-test/suite/perfschema/r/event_aggregate.result index 6863ac6e2ce..d8d9488bef9 100644 --- a/mysql-test/suite/perfschema/r/event_aggregate.result +++ b/mysql-test/suite/perfschema/r/event_aggregate.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. "================== Step 1 ==================" call dump_thread(); username status @@ -16,13 +28,13 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -36,12 +48,14 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -52,16 +66,30 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -77,7 +105,7 @@ call dump_thread(); username event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 username status user2 not found @@ -89,25 +117,25 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 1 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 1 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -118,52 +146,74 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -175,20 +225,25 @@ user1 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 2 2 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con1 marker ==================" "================== Step 3 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username status user2 not found @@ -198,91 +253,116 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 4 +localhost wait/io/file/sql/query_log 7 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 2 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 4 +wait/io/file/sql/query_log 7 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 4 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 7 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 3 -localhost stage/sql/closing tables 3 -localhost stage/sql/init 6 -localhost stage/sql/Opening tables 3 +localhost stage/sql/checking permissions 4 +localhost stage/sql/closing tables 6 +localhost stage/sql/init 4 +localhost stage/sql/Opening tables 6 +localhost stage/sql/starting 6 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 1 localhost statement/sql/insert 1 -localhost statement/sql/select 2 +localhost statement/sql/select 3 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 1 +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -298,14 +378,14 @@ localhost 2 2 "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 username status user3 not found @@ -313,115 +393,146 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 user2 localhost wait/io/file/sql/query_log 1 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 5 +localhost wait/io/file/sql/query_log 8 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 2 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 5 +wait/io/file/sql/query_log 8 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 5 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 8 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 3 -localhost stage/sql/closing tables 3 -localhost stage/sql/init 6 -localhost stage/sql/Opening tables 3 +localhost stage/sql/checking permissions 4 +localhost stage/sql/closing tables 6 +localhost stage/sql/init 4 +localhost stage/sql/Opening tables 6 +localhost stage/sql/starting 6 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 1 localhost statement/sql/insert 1 -localhost statement/sql/select 2 +localhost statement/sql/select 3 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 1 +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -435,25 +546,30 @@ user2 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 3 3 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con2 marker ==================" "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username status user3 not found @@ -461,115 +577,146 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 8 +localhost wait/io/file/sql/query_log 14 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 4 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 4 localhost wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 8 +wait/io/file/sql/query_log 14 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 8 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 14 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 6 -localhost stage/sql/closing tables 6 -localhost stage/sql/init 12 -localhost stage/sql/Opening tables 6 +localhost stage/sql/checking permissions 8 +localhost stage/sql/closing tables 12 +localhost stage/sql/init 8 +localhost stage/sql/Opening tables 12 +localhost stage/sql/starting 12 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 2 localhost statement/sql/insert 2 -localhost statement/sql/select 4 +localhost statement/sql/select 6 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 2 +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -587,157 +734,194 @@ localhost 3 3 "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 user3 localhost wait/io/file/sql/query_log 1 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 9 +localhost wait/io/file/sql/query_log 15 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 4 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 4 localhost wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 9 +wait/io/file/sql/query_log 15 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 9 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 15 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 6 -localhost stage/sql/closing tables 6 -localhost stage/sql/init 12 -localhost stage/sql/Opening tables 6 +localhost stage/sql/checking permissions 8 +localhost stage/sql/closing tables 12 +localhost stage/sql/init 8 +localhost stage/sql/Opening tables 12 +localhost stage/sql/starting 12 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 2 localhost statement/sql/insert 2 -localhost statement/sql/select 4 +localhost statement/sql/select 6 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 2 +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -753,168 +937,210 @@ user3 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 4 4 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con3 marker ==================" "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 12 +localhost wait/io/file/sql/query_log 21 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 6 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 6 localhost wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 12 +wait/io/file/sql/query_log 21 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 12 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 21 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 9 -localhost stage/sql/closing tables 9 -localhost stage/sql/init 18 -localhost stage/sql/Opening tables 9 +localhost stage/sql/checking permissions 12 +localhost stage/sql/closing tables 18 +localhost stage/sql/init 12 +localhost stage/sql/Opening tables 18 +localhost stage/sql/starting 18 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 3 localhost statement/sql/insert 3 -localhost statement/sql/select 6 +localhost statement/sql/select 9 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 3 +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -934,184 +1160,227 @@ localhost 4 4 "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 user4 localhost wait/io/file/sql/query_log 1 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 13 +localhost wait/io/file/sql/query_log 22 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 6 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 6 localhost wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 13 +wait/io/file/sql/query_log 22 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 13 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 22 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 9 -localhost stage/sql/closing tables 9 -localhost stage/sql/init 18 -localhost stage/sql/Opening tables 9 +localhost stage/sql/checking permissions 12 +localhost stage/sql/closing tables 18 +localhost stage/sql/init 12 +localhost stage/sql/Opening tables 18 +localhost stage/sql/starting 18 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 3 localhost statement/sql/insert 3 -localhost statement/sql/select 6 +localhost statement/sql/select 9 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 3 +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1129,195 +1398,243 @@ user4 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 5 5 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con4 marker ==================" "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 16 +localhost wait/io/file/sql/query_log 28 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 16 +wait/io/file/sql/query_log 28 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 16 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/io/file/sql/query_log 28 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 24 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 24 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1341,181 +1658,224 @@ call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 17 +localhost wait/io/file/sql/query_log 29 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 25 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 25 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 1 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1541,176 +1901,219 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 18 +localhost wait/io/file/sql/query_log 30 localhost wait/synch/mutex/sql/LOCK_connection_count 2 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 26 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 26 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 2 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1738,171 +2141,214 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 19 +localhost wait/io/file/sql/query_log 31 localhost wait/synch/mutex/sql/LOCK_connection_count 3 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 27 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 27 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 3 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1933,165 +2379,208 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 5 +user4 localhost wait/io/file/sql/query_log 8 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2123,165 +2612,208 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 5 +user4 localhost wait/io/file/sql/query_log 8 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2315,163 +2847,206 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2505,163 +3080,206 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2695,163 +3313,206 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2885,163 +3546,206 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3075,163 +3779,206 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3265,55 +4012,55 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3321,107 +4068,150 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3455,55 +4245,55 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3511,107 +4301,150 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3645,55 +4478,55 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3701,107 +4534,150 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3835,55 +4711,55 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3891,107 +4767,150 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4025,55 +4944,55 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -4081,107 +5000,150 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4215,55 +5177,55 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -4271,107 +5233,150 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4405,55 +5410,55 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -4461,107 +5466,150 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4595,55 +5643,55 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -4651,107 +5699,150 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4785,55 +5876,55 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -4841,107 +5932,1315 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_thread_by_event_name; +"================== TRANSACTIONS_BY_THREAD truncated ==================" +"================== Step 29 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_account_by_event_name; +"================== TRANSACTIONS_BY_ACCOUNT truncated ==================" +"================== Step 30 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_user_by_event_name; +"================== TRANSACTIONS_BY_USER truncated ==================" +"================== Step 31 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_host_by_event_name; +"================== TRANSACTIONS_BY_HOST truncated ==================" +"================== Step 32 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_global_by_event_name; +"================== TRANSACTIONS_GLOBAL truncated ==================" +"================== Step 33 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4961,7 +7260,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.accounts; "================== ACCOUNTS truncated ==================" -"================== Step 29 ==================" +"================== Step 34 ==================" call dump_thread(); username status user1 not found @@ -4977,37 +7276,37 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -5017,73 +7316,104 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -5099,7 +7429,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.users; "================== USERS truncated ==================" -"================== Step 30 ==================" +"================== Step 35 ==================" call dump_thread(); username status user1 not found @@ -5117,19 +7447,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -5141,18 +7471,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -5161,19 +7494,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -5185,7 +7534,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.hosts; "================== HOSTS truncated ==================" -"================== Step 31 ==================" +"================== Step 36 ==================" call dump_thread(); username status user1 not found @@ -5203,19 +7552,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -5227,18 +7576,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -5247,19 +7599,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_a.result b/mysql-test/suite/perfschema/r/event_aggregate_no_a.result index ad2440bd2d1..6754211e5a4 100644 --- a/mysql-test/suite/perfschema/r/event_aggregate_no_a.result +++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. "================== Step 1 ==================" call dump_thread(); username status @@ -16,13 +28,13 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -36,12 +48,14 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -52,16 +66,30 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -76,7 +104,7 @@ call dump_thread(); username event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 username status user2 not found @@ -90,19 +118,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 1 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -115,18 +143,21 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -135,22 +166,38 @@ execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -160,20 +207,25 @@ user1 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 2 2 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con1 marker ==================" "================== Step 3 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username status user2 not found @@ -185,77 +237,99 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 4 +localhost wait/io/file/sql/query_log 7 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 2 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 4 +wait/io/file/sql/query_log 7 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 4 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 7 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 3 -localhost stage/sql/closing tables 3 -localhost stage/sql/init 6 -localhost stage/sql/Opening tables 3 +localhost stage/sql/checking permissions 4 +localhost stage/sql/closing tables 6 +localhost stage/sql/init 4 +localhost stage/sql/Opening tables 6 +localhost stage/sql/starting 6 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 1 localhost statement/sql/insert 1 -localhost statement/sql/select 2 +localhost statement/sql/select 3 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 1 +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -269,14 +343,14 @@ localhost 2 2 "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 username status user3 not found @@ -286,89 +360,114 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 5 +localhost wait/io/file/sql/query_log 8 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 2 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 5 +wait/io/file/sql/query_log 8 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 5 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 8 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 3 -localhost stage/sql/closing tables 3 -localhost stage/sql/init 6 -localhost stage/sql/Opening tables 3 +localhost stage/sql/checking permissions 4 +localhost stage/sql/closing tables 6 +localhost stage/sql/init 4 +localhost stage/sql/Opening tables 6 +localhost stage/sql/starting 6 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 1 localhost statement/sql/insert 1 -localhost statement/sql/select 2 +localhost statement/sql/select 3 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 1 +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -379,25 +478,30 @@ user2 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 3 3 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con2 marker ==================" "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username status user3 not found @@ -407,89 +511,114 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 8 +localhost wait/io/file/sql/query_log 14 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 4 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 4 localhost wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 8 +wait/io/file/sql/query_log 14 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 8 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 14 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 6 -localhost stage/sql/closing tables 6 -localhost stage/sql/init 12 -localhost stage/sql/Opening tables 6 +localhost stage/sql/checking permissions 8 +localhost stage/sql/closing tables 12 +localhost stage/sql/init 8 +localhost stage/sql/Opening tables 12 +localhost stage/sql/starting 12 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 2 localhost statement/sql/insert 2 -localhost statement/sql/select 4 +localhost statement/sql/select 6 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 2 +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -504,19 +633,19 @@ localhost 3 3 "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 username status user4 not found @@ -524,101 +653,129 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 9 +localhost wait/io/file/sql/query_log 15 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 4 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 4 localhost wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 9 +wait/io/file/sql/query_log 15 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 9 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 15 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 6 -localhost stage/sql/closing tables 6 -localhost stage/sql/init 12 -localhost stage/sql/Opening tables 6 +localhost stage/sql/checking permissions 8 +localhost stage/sql/closing tables 12 +localhost stage/sql/init 8 +localhost stage/sql/Opening tables 12 +localhost stage/sql/starting 12 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 2 localhost statement/sql/insert 2 -localhost statement/sql/select 4 +localhost statement/sql/select 6 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 2 +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -630,30 +787,35 @@ user3 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 4 4 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con3 marker ==================" "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username status user4 not found @@ -661,101 +823,129 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 12 +localhost wait/io/file/sql/query_log 21 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 6 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 6 localhost wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 12 +wait/io/file/sql/query_log 21 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 12 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 21 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 9 -localhost stage/sql/closing tables 9 -localhost stage/sql/init 18 -localhost stage/sql/Opening tables 9 +localhost stage/sql/checking permissions 12 +localhost stage/sql/closing tables 18 +localhost stage/sql/init 12 +localhost stage/sql/Opening tables 18 +localhost stage/sql/starting 18 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 3 localhost statement/sql/insert 3 -localhost statement/sql/select 6 +localhost statement/sql/select 9 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 3 +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -771,136 +961,167 @@ localhost 4 4 "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 13 +localhost wait/io/file/sql/query_log 22 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 6 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 6 localhost wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 13 +wait/io/file/sql/query_log 22 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 13 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 22 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 9 -localhost stage/sql/closing tables 9 -localhost stage/sql/init 18 -localhost stage/sql/Opening tables 9 +localhost stage/sql/checking permissions 12 +localhost stage/sql/closing tables 18 +localhost stage/sql/init 12 +localhost stage/sql/Opening tables 18 +localhost stage/sql/starting 18 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 3 localhost statement/sql/insert 3 -localhost statement/sql/select 6 +localhost statement/sql/select 9 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 3 +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -913,147 +1134,183 @@ user4 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 5 5 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con4 marker ==================" "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 16 +localhost wait/io/file/sql/query_log 28 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 16 +wait/io/file/sql/query_log 28 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 16 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/io/file/sql/query_log 28 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 24 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 24 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1072,133 +1329,164 @@ call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 17 +localhost wait/io/file/sql/query_log 29 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 25 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 25 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 1 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1219,128 +1507,159 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 18 +localhost wait/io/file/sql/query_log 30 localhost wait/synch/mutex/sql/LOCK_connection_count 2 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 26 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 26 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 2 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1363,123 +1682,154 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 19 +localhost wait/io/file/sql/query_log 31 localhost wait/synch/mutex/sql/LOCK_connection_count 3 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 27 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 27 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 3 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1507,115 +1857,146 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1644,115 +2025,146 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1781,115 +2193,146 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1920,113 +2363,144 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2057,113 +2531,144 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2194,113 +2699,144 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2331,113 +2867,144 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2468,113 +3035,144 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2605,37 +3203,37 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2645,73 +3243,104 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2742,37 +3371,37 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2782,73 +3411,104 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2879,37 +3539,37 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2919,73 +3579,104 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3016,37 +3707,37 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3056,73 +3747,104 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3153,37 +3875,37 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3193,73 +3915,104 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3290,37 +4043,37 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3330,73 +4083,104 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3427,37 +4211,37 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3467,73 +4251,104 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3564,37 +4379,37 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3604,73 +4419,944 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_thread_by_event_name; +"================== TRANSACTIONS_BY_THREAD truncated ==================" +"================== Step 29 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_account_by_event_name; +"================== TRANSACTIONS_BY_ACCOUNT truncated ==================" +"================== Step 30 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_user_by_event_name; +"================== TRANSACTIONS_BY_USER truncated ==================" +"================== Step 31 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_host_by_event_name; +"================== TRANSACTIONS_BY_HOST truncated ==================" +"================== Step 32 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_global_by_event_name; +"================== TRANSACTIONS_GLOBAL truncated ==================" +"================== Step 33 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3685,7 +5371,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.accounts; "================== ACCOUNTS truncated ==================" -"================== Step 29 ==================" +"================== Step 34 ==================" call dump_thread(); username status user1 not found @@ -3701,37 +5387,37 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3741,73 +5427,104 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3822,7 +5539,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.users; "================== USERS truncated ==================" -"================== Step 30 ==================" +"================== Step 35 ==================" call dump_thread(); username status user1 not found @@ -3840,19 +5557,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3864,18 +5581,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -3884,19 +5604,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3907,7 +5643,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.hosts; "================== HOSTS truncated ==================" -"================== Step 31 ==================" +"================== Step 36 ==================" call dump_thread(); username status user1 not found @@ -3925,19 +5661,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3949,18 +5685,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -3969,19 +5708,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result index 6faff1992c7..235bd52531b 100644 --- a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result +++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. "================== Step 1 ==================" call dump_thread(); username status @@ -18,7 +30,7 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -34,6 +46,7 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -46,10 +59,22 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -63,7 +88,7 @@ call dump_thread(); username event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 username status user2 not found @@ -77,7 +102,7 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -85,7 +110,7 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 1 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -98,6 +123,7 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -106,6 +132,7 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -114,6 +141,7 @@ execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 execute dump_statements_host; @@ -122,10 +150,23 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -134,20 +175,25 @@ root 1 1 user1 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con1 marker ==================" "================== Step 3 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username status user2 not found @@ -159,65 +205,84 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 4 +wait/io/file/sql/query_log 7 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 4 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 7 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -230,14 +295,14 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 username status user3 not found @@ -247,63 +312,69 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 5 +wait/io/file/sql/query_log 8 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 5 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 8 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 execute dump_statements_host; @@ -312,12 +383,28 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -327,25 +414,30 @@ user1 1 1 user2 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con2 marker ==================" "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username status user3 not found @@ -355,77 +447,99 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 8 +wait/io/file/sql/query_log 14 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 8 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 14 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -439,19 +553,19 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 username status user4 not found @@ -459,75 +573,83 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 9 +wait/io/file/sql/query_log 15 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 9 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 15 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 execute dump_statements_host; @@ -536,12 +658,29 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -552,30 +691,35 @@ user2 1 1 user3 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con3 marker ==================" "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username status user4 not found @@ -583,89 +727,114 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 12 +wait/io/file/sql/query_log 21 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 12 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 21 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -680,110 +849,120 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 13 +wait/io/file/sql/query_log 22 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 13 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 22 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; @@ -792,12 +971,30 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -809,135 +1006,168 @@ user3 1 1 user4 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con4 marker ==================" "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 16 +wait/io/file/sql/query_log 28 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 16 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/io/file/sql/query_log 28 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -955,121 +1185,149 @@ call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1089,116 +1347,144 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1220,111 +1506,139 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1351,103 +1665,131 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1475,103 +1817,131 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1599,103 +1969,131 @@ execute dump_waits_account; user host event_name count_star execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1725,101 +2123,129 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1849,101 +2275,129 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1973,19 +2427,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -1993,81 +2447,109 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2097,19 +2579,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -2117,81 +2599,109 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2221,19 +2731,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -2241,81 +2751,109 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2345,19 +2883,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -2365,13 +2903,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2381,65 +2919,93 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2469,19 +3035,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -2489,13 +3055,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2505,65 +3071,93 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2593,19 +3187,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -2613,13 +3207,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2629,18 +3223,22 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -2649,45 +3247,69 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2717,19 +3339,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -2737,13 +3359,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2753,18 +3375,22 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -2773,45 +3399,69 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2841,19 +3491,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -2861,13 +3511,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2877,18 +3527,22 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -2897,45 +3551,69 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2965,19 +3643,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -2985,13 +3663,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3001,18 +3679,22 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -3021,30 +3703,36 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; @@ -3053,13 +3741,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3089,19 +3795,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -3109,13 +3815,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3125,18 +3831,22 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -3145,30 +3855,36 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; @@ -3177,13 +3893,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3213,19 +3947,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -3233,13 +3967,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3249,18 +3983,22 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -3269,30 +4007,340 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_thread_by_event_name; +"================== TRANSACTIONS_BY_THREAD truncated ==================" +"================== Step 29 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_account_by_event_name; +"================== TRANSACTIONS_BY_ACCOUNT truncated ==================" +"================== Step 30 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; @@ -3301,13 +4349,487 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_user_by_event_name; +"================== TRANSACTIONS_BY_USER truncated ==================" +"================== Step 31 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_host_by_event_name; +"================== TRANSACTIONS_BY_HOST truncated ==================" +"================== Step 32 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_global_by_event_name; +"================== TRANSACTIONS_GLOBAL truncated ==================" +"================== Step 33 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3321,7 +4843,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.accounts; "================== ACCOUNTS truncated ==================" -"================== Step 29 ==================" +"================== Step 34 ==================" call dump_thread(); username status user1 not found @@ -3337,19 +4859,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -3357,13 +4879,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3373,18 +4895,22 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -3393,30 +4919,36 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; @@ -3425,13 +4957,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3445,7 +4995,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.users; "================== USERS truncated ==================" -"================== Step 30 ==================" +"================== Step 35 ==================" call dump_thread(); username status user1 not found @@ -3465,13 +5015,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3485,12 +5035,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -3501,13 +5053,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -3517,7 +5083,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.hosts; "================== HOSTS truncated ==================" -"================== Step 31 ==================" +"================== Step 36 ==================" call dump_thread(); username status user1 not found @@ -3537,13 +5103,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3557,12 +5123,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -3573,13 +5141,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result index 87b81a54b6b..2264e4557db 100644 --- a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result +++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. "================== Step 1 ==================" call dump_thread(); username status @@ -16,13 +28,13 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -36,12 +48,14 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -52,16 +66,30 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -75,7 +103,7 @@ call dump_thread(); username event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 username status user2 not found @@ -91,13 +119,13 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 1 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -112,12 +140,14 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -128,16 +158,30 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -145,20 +189,25 @@ USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 2 2 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con1 marker ==================" "================== Step 3 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username status user2 not found @@ -172,20 +221,20 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 4 +localhost wait/io/file/sql/query_log 7 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 2 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 4 +wait/io/file/sql/query_log 7 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 4 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 7 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star @@ -193,22 +242,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 3 -localhost stage/sql/closing tables 3 -localhost stage/sql/init 6 -localhost stage/sql/Opening tables 3 +localhost stage/sql/checking permissions 4 +localhost stage/sql/closing tables 6 +localhost stage/sql/init 4 +localhost stage/sql/Opening tables 6 +localhost stage/sql/starting 6 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -217,18 +269,34 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 1 localhost statement/sql/insert 1 -localhost statement/sql/select 2 +localhost statement/sql/select 3 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 1 +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -240,14 +308,14 @@ localhost 2 2 "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 username status user3 not found @@ -259,20 +327,20 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 5 +localhost wait/io/file/sql/query_log 8 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 2 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 5 +wait/io/file/sql/query_log 8 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 5 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 8 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star @@ -280,22 +348,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 3 -localhost stage/sql/closing tables 3 -localhost stage/sql/init 6 -localhost stage/sql/Opening tables 3 +localhost stage/sql/checking permissions 4 +localhost stage/sql/closing tables 6 +localhost stage/sql/init 4 +localhost stage/sql/Opening tables 6 +localhost stage/sql/starting 6 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -304,18 +375,34 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 1 localhost statement/sql/insert 1 -localhost statement/sql/select 2 +localhost statement/sql/select 3 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 1 +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -323,25 +410,30 @@ USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 3 3 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con2 marker ==================" "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username status user3 not found @@ -353,20 +445,20 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 8 +localhost wait/io/file/sql/query_log 14 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 4 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 4 localhost wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 8 +wait/io/file/sql/query_log 14 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 8 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 14 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star @@ -374,22 +466,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 6 -localhost stage/sql/closing tables 6 -localhost stage/sql/init 12 -localhost stage/sql/Opening tables 6 +localhost stage/sql/checking permissions 8 +localhost stage/sql/closing tables 12 +localhost stage/sql/init 8 +localhost stage/sql/Opening tables 12 +localhost stage/sql/starting 12 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -398,18 +493,34 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 2 localhost statement/sql/insert 2 -localhost statement/sql/select 4 +localhost statement/sql/select 6 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 2 +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -421,19 +532,19 @@ localhost 3 3 "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 username status user4 not found @@ -443,20 +554,20 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 9 +localhost wait/io/file/sql/query_log 15 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 4 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 4 localhost wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 9 +wait/io/file/sql/query_log 15 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 9 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 15 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star @@ -464,22 +575,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 6 -localhost stage/sql/closing tables 6 -localhost stage/sql/init 12 -localhost stage/sql/Opening tables 6 +localhost stage/sql/checking permissions 8 +localhost stage/sql/closing tables 12 +localhost stage/sql/init 8 +localhost stage/sql/Opening tables 12 +localhost stage/sql/starting 12 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -488,18 +602,34 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 2 localhost statement/sql/insert 2 -localhost statement/sql/select 4 +localhost statement/sql/select 6 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 2 +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -507,30 +637,35 @@ USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 4 4 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con3 marker ==================" "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username status user4 not found @@ -540,20 +675,20 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 12 +localhost wait/io/file/sql/query_log 21 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 6 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 6 localhost wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 12 +wait/io/file/sql/query_log 21 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 12 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 21 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star @@ -561,22 +696,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 9 -localhost stage/sql/closing tables 9 -localhost stage/sql/init 18 -localhost stage/sql/Opening tables 9 +localhost stage/sql/checking permissions 12 +localhost stage/sql/closing tables 18 +localhost stage/sql/init 12 +localhost stage/sql/Opening tables 18 +localhost stage/sql/starting 18 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -585,18 +723,34 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 3 localhost statement/sql/insert 3 -localhost statement/sql/select 6 +localhost statement/sql/select 9 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 3 +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -608,24 +762,24 @@ localhost 4 4 "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_account; user host event_name count_star @@ -633,20 +787,20 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 13 +localhost wait/io/file/sql/query_log 22 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 6 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 6 localhost wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 13 +wait/io/file/sql/query_log 22 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 13 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 22 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star @@ -654,22 +808,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 9 -localhost stage/sql/closing tables 9 -localhost stage/sql/init 18 -localhost stage/sql/Opening tables 9 +localhost stage/sql/checking permissions 12 +localhost stage/sql/closing tables 18 +localhost stage/sql/init 12 +localhost stage/sql/Opening tables 18 +localhost stage/sql/starting 18 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -678,18 +835,34 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 3 localhost statement/sql/insert 3 -localhost statement/sql/select 6 +localhost statement/sql/select 9 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 3 +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -697,35 +870,40 @@ USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 5 5 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con4 marker ==================" "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star @@ -733,20 +911,20 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 16 +localhost wait/io/file/sql/query_log 28 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 16 +wait/io/file/sql/query_log 28 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 16 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/io/file/sql/query_log 28 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -754,22 +932,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 24 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 24 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -778,18 +959,34 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -803,19 +1000,19 @@ call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star @@ -823,21 +1020,21 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 17 +localhost wait/io/file/sql/query_log 29 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -845,22 +1042,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 25 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 25 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -869,19 +1069,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 1 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -897,14 +1113,14 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star @@ -912,21 +1128,21 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 18 +localhost wait/io/file/sql/query_log 30 localhost wait/synch/mutex/sql/LOCK_connection_count 2 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -934,22 +1150,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 26 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 26 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -958,19 +1177,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 2 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -988,9 +1223,9 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star @@ -998,21 +1233,21 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 19 +localhost wait/io/file/sql/query_log 31 localhost wait/synch/mutex/sql/LOCK_connection_count 3 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1020,22 +1255,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 27 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 27 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1044,19 +1282,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 3 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1081,21 +1335,21 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1103,22 +1357,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1127,19 +1384,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1165,21 +1438,21 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1187,22 +1460,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1211,19 +1487,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1249,21 +1541,21 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1271,22 +1563,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1295,19 +1590,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1333,21 +1644,21 @@ execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1355,22 +1666,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1379,19 +1693,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1419,19 +1749,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1439,22 +1769,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1463,19 +1796,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1503,19 +1852,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1523,22 +1872,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1547,19 +1899,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1587,19 +1955,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1607,22 +1975,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1631,19 +2002,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1671,19 +2058,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1691,22 +2078,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1715,19 +2105,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1755,19 +2161,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1775,22 +2181,25 @@ execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1799,19 +2208,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1839,19 +2264,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1863,18 +2288,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1883,19 +2311,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1923,19 +2367,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1947,18 +2391,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1967,19 +2414,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2007,19 +2470,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2031,18 +2494,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2051,19 +2517,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2091,19 +2573,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2115,18 +2597,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2135,19 +2620,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2175,19 +2676,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2199,18 +2700,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2219,19 +2723,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2259,19 +2779,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2283,18 +2803,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2303,19 +2826,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2343,19 +2882,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2367,18 +2906,536 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_thread_by_event_name; +"================== TRANSACTIONS_BY_THREAD truncated ==================" +"================== Step 29 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_account_by_event_name; +"================== TRANSACTIONS_BY_ACCOUNT truncated ==================" +"================== Step 30 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_user_by_event_name; +"================== TRANSACTIONS_BY_USER truncated ==================" +"================== Step 31 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_host_by_event_name; +"================== TRANSACTIONS_BY_HOST truncated ==================" +"================== Step 32 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_global_by_event_name; +"================== TRANSACTIONS_GLOBAL truncated ==================" +"================== Step 33 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2387,19 +3444,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2409,7 +3482,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.accounts; "================== ACCOUNTS truncated ==================" -"================== Step 29 ==================" +"================== Step 34 ==================" call dump_thread(); username status user1 not found @@ -2427,19 +3500,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2451,18 +3524,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2471,19 +3547,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2493,7 +3585,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.users; "================== USERS truncated ==================" -"================== Step 30 ==================" +"================== Step 35 ==================" call dump_thread(); username status user1 not found @@ -2511,19 +3603,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2535,18 +3627,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2555,19 +3650,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2577,7 +3688,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.hosts; "================== HOSTS truncated ==================" -"================== Step 31 ==================" +"================== Step 36 ==================" call dump_thread(); username status user1 not found @@ -2595,19 +3706,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2619,18 +3730,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2639,19 +3753,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result index 09144e3641b..070409dbc94 100644 --- a/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result +++ b/mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. "================== Step 1 ==================" call dump_thread(); username status @@ -18,7 +30,7 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -34,6 +46,7 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -46,10 +59,22 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -62,7 +87,7 @@ call dump_thread(); username event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 username status user2 not found @@ -80,7 +105,7 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 1 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -97,6 +122,7 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -109,30 +135,47 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con1 marker ==================" "================== Step 3 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username status user2 not found @@ -148,14 +191,14 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 4 +wait/io/file/sql/query_log 7 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 4 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 7 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star @@ -165,16 +208,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -185,12 +230,26 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -201,14 +260,14 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 username status user3 not found @@ -222,14 +281,14 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 5 +wait/io/file/sql/query_log 8 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 5 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 8 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star @@ -239,16 +298,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -259,37 +320,56 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con2 marker ==================" "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username status user3 not found @@ -303,14 +383,14 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 8 +wait/io/file/sql/query_log 14 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 8 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 14 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star @@ -320,16 +400,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -340,12 +422,26 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -356,19 +452,19 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 username status user4 not found @@ -380,14 +476,14 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 9 +wait/io/file/sql/query_log 15 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 9 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 15 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star @@ -397,16 +493,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -417,42 +515,61 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con3 marker ==================" "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username status user4 not found @@ -464,14 +581,14 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 12 +wait/io/file/sql/query_log 21 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 12 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 21 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star @@ -481,16 +598,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -501,12 +620,26 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -517,24 +650,24 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_account; user host event_name count_star @@ -544,14 +677,14 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 13 +wait/io/file/sql/query_log 22 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 13 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 22 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star @@ -561,16 +694,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -581,47 +716,66 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con4 marker ==================" "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star @@ -631,14 +785,14 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 16 +wait/io/file/sql/query_log 28 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 16 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/io/file/sql/query_log 28 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -648,16 +802,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -668,12 +824,26 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -686,19 +856,19 @@ call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star @@ -708,15 +878,15 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -726,16 +896,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -746,13 +918,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -767,14 +953,14 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star @@ -784,15 +970,15 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -802,16 +988,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -822,13 +1010,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -845,9 +1047,9 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star @@ -857,15 +1059,15 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -875,16 +1077,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -895,13 +1099,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -927,15 +1145,15 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -945,16 +1163,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -965,13 +1185,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -998,15 +1232,15 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1016,16 +1250,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1036,13 +1272,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1069,15 +1319,15 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1087,16 +1337,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1107,13 +1359,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1140,15 +1406,15 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1158,16 +1424,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1178,13 +1446,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1211,15 +1493,15 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1229,16 +1511,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1249,13 +1533,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1284,13 +1582,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1300,16 +1598,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1320,13 +1620,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1355,13 +1669,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1371,16 +1685,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1391,13 +1707,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1426,13 +1756,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1442,16 +1772,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1462,13 +1794,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1497,13 +1843,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1513,16 +1859,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1533,13 +1881,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1568,13 +1930,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1584,16 +1946,18 @@ execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1604,13 +1968,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1639,13 +2017,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1659,12 +2037,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1675,13 +2055,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1710,13 +2104,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1730,12 +2124,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1746,13 +2142,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1781,13 +2191,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1801,12 +2211,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1817,13 +2229,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1852,13 +2278,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1872,12 +2298,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1888,13 +2316,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1923,13 +2365,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -1943,12 +2385,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -1959,13 +2403,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -1994,13 +2452,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2014,12 +2472,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2030,13 +2490,462 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_thread_by_event_name; +"================== TRANSACTIONS_BY_THREAD truncated ==================" +"================== Step 29 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_account_by_event_name; +"================== TRANSACTIONS_BY_ACCOUNT truncated ==================" +"================== Step 30 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_user_by_event_name; +"================== TRANSACTIONS_BY_USER truncated ==================" +"================== Step 31 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_host_by_event_name; +"================== TRANSACTIONS_BY_HOST truncated ==================" +"================== Step 32 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_global_by_event_name; +"================== TRANSACTIONS_GLOBAL truncated ==================" +"================== Step 33 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2045,7 +2954,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.accounts; "================== ACCOUNTS truncated ==================" -"================== Step 29 ==================" +"================== Step 34 ==================" call dump_thread(); username status user1 not found @@ -2065,13 +2974,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2085,12 +2994,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2101,13 +3012,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2116,7 +3041,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.users; "================== USERS truncated ==================" -"================== Step 30 ==================" +"================== Step 35 ==================" call dump_thread(); username status user1 not found @@ -2136,13 +3061,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2156,12 +3081,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2172,13 +3099,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; @@ -2187,7 +3128,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.hosts; "================== HOSTS truncated ==================" -"================== Step 31 ==================" +"================== Step 36 ==================" call dump_thread(); username status user1 not found @@ -2207,13 +3148,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2227,12 +3168,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -2243,13 +3186,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_users; diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_h.result b/mysql-test/suite/perfschema/r/event_aggregate_no_h.result index e50d2b1f837..f26995b6e9e 100644 --- a/mysql-test/suite/perfschema/r/event_aggregate_no_h.result +++ b/mysql-test/suite/perfschema/r/event_aggregate_no_h.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. "================== Step 1 ==================" call dump_thread(); username status @@ -18,7 +30,7 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -34,6 +46,7 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -46,10 +59,22 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -64,7 +89,7 @@ call dump_thread(); username event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 username status user2 not found @@ -76,13 +101,13 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 1 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -90,7 +115,7 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 1 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -101,12 +126,14 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -115,18 +142,21 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 execute dump_statements_host; @@ -135,10 +165,24 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -149,20 +193,25 @@ root 1 1 user1 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con1 marker ==================" "================== Step 3 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username status user2 not found @@ -172,79 +221,101 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 4 +wait/io/file/sql/query_log 7 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 4 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 7 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -259,14 +330,14 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 username status user3 not found @@ -274,89 +345,99 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 user2 localhost wait/io/file/sql/query_log 1 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 5 +wait/io/file/sql/query_log 8 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 5 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 8 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 execute dump_statements_host; @@ -365,12 +446,30 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -383,25 +482,30 @@ user1 1 1 user2 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con2 marker ==================" "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username status user3 not found @@ -409,103 +513,131 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 8 +wait/io/file/sql/query_log 14 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 8 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 14 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -522,131 +654,145 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 user3 localhost wait/io/file/sql/query_log 1 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 9 +wait/io/file/sql/query_log 15 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 9 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 15 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 execute dump_statements_host; @@ -655,12 +801,32 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -675,156 +841,195 @@ user2 1 1 user3 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con3 marker ==================" "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 12 +wait/io/file/sql/query_log 21 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 12 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 21 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -843,158 +1048,176 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 user4 localhost wait/io/file/sql/query_log 1 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 13 +wait/io/file/sql/query_log 22 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 13 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 22 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; @@ -1003,12 +1226,34 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1025,183 +1270,228 @@ user3 1 1 user4 1 1 execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con4 marker ==================" "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 16 +wait/io/file/sql/query_log 28 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 16 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/io/file/sql/query_log 28 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 6 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 6 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1224,169 +1514,209 @@ call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 6 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 6 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1411,164 +1741,204 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 6 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 6 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1595,159 +1965,199 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 6 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 6 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1777,153 +2187,193 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 5 +user4 localhost wait/io/file/sql/query_log 8 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1954,153 +2404,193 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 5 +user4 localhost wait/io/file/sql/query_log 8 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2133,151 +2623,191 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star -user1 wait/io/file/sql/query_log 5 +user1 wait/io/file/sql/query_log 8 user1 wait/synch/mutex/sql/LOCK_connection_count 1 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 -user2 wait/io/file/sql/query_log 5 +user2 wait/io/file/sql/query_log 8 user2 wait/synch/mutex/sql/LOCK_connection_count 1 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 -user3 wait/io/file/sql/query_log 5 +user3 wait/io/file/sql/query_log 8 user3 wait/synch/mutex/sql/LOCK_connection_count 1 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 -user4 wait/io/file/sql/query_log 5 +user4 wait/io/file/sql/query_log 8 user4 wait/synch/mutex/sql/LOCK_connection_count 1 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2310,151 +2840,191 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2487,151 +3057,191 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2664,37 +3274,37 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -2702,113 +3312,153 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2841,37 +3491,37 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -2879,113 +3529,153 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3018,37 +3708,37 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -3056,13 +3746,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3070,99 +3760,139 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star -user1 stage/sql/checking permissions 3 -user1 stage/sql/closing tables 3 -user1 stage/sql/init 7 -user1 stage/sql/Opening tables 3 -user2 stage/sql/checking permissions 3 -user2 stage/sql/closing tables 3 -user2 stage/sql/init 7 -user2 stage/sql/Opening tables 3 -user3 stage/sql/checking permissions 3 -user3 stage/sql/closing tables 3 -user3 stage/sql/init 7 -user3 stage/sql/Opening tables 3 -user4 stage/sql/checking permissions 3 -user4 stage/sql/closing tables 3 -user4 stage/sql/init 7 -user4 stage/sql/Opening tables 3 +user1 stage/sql/checking permissions 4 +user1 stage/sql/closing tables 6 +user1 stage/sql/init 4 +user1 stage/sql/Opening tables 6 +user1 stage/sql/starting 7 +user2 stage/sql/checking permissions 4 +user2 stage/sql/closing tables 6 +user2 stage/sql/init 4 +user2 stage/sql/Opening tables 6 +user2 stage/sql/starting 7 +user3 stage/sql/checking permissions 4 +user3 stage/sql/closing tables 6 +user3 stage/sql/init 4 +user3 stage/sql/Opening tables 6 +user3 stage/sql/starting 7 +user4 stage/sql/checking permissions 4 +user4 stage/sql/closing tables 6 +user4 stage/sql/init 4 +user4 stage/sql/Opening tables 6 +user4 stage/sql/starting 7 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3195,37 +3925,37 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -3233,13 +3963,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3247,99 +3977,139 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3372,37 +4142,37 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -3410,13 +4180,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3424,99 +4194,139 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3549,37 +4359,37 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -3587,13 +4397,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3601,36 +4411,44 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -3639,61 +4457,93 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3726,37 +4576,37 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -3764,13 +4614,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3778,36 +4628,44 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -3816,61 +4674,93 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3903,37 +4793,37 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -3941,13 +4831,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3955,36 +4845,44 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -3993,61 +4891,93 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 1 +user1 statement/sp/freturn 1 user1 statement/sql/insert 1 -user1 statement/sql/select 2 +user1 statement/sql/select 3 user2 statement/com/Error 0 user2 statement/com/Quit 1 +user2 statement/sp/freturn 1 user2 statement/sql/insert 1 -user2 statement/sql/select 2 +user2 statement/sql/select 3 user3 statement/com/Error 0 user3 statement/com/Quit 1 +user3 statement/sp/freturn 1 user3 statement/sql/insert 1 -user3 statement/sql/select 2 +user3 statement/sql/select 3 user4 statement/com/Error 0 user4 statement/com/Quit 1 +user4 statement/sp/freturn 1 user4 statement/sql/insert 1 -user4 statement/sql/select 2 +user4 statement/sql/select 3 execute dump_statements_host; host event_name count_star execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4080,37 +5010,37 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -4118,13 +5048,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -4132,36 +5062,44 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -4170,46 +5108,56 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; @@ -4218,13 +5166,35 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4257,37 +5227,37 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -4295,13 +5265,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -4309,36 +5279,44 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -4347,46 +5325,56 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; @@ -4395,13 +5383,35 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4434,37 +5444,37 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -4472,13 +5482,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -4486,36 +5496,44 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -4524,46 +5542,273 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_thread_by_event_name; +"================== TRANSACTIONS_BY_THREAD truncated ==================" +"================== Step 29 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; @@ -4572,13 +5817,903 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_account_by_event_name; +"================== TRANSACTIONS_BY_ACCOUNT truncated ==================" +"================== Step 30 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 1 +user2 transaction 1 +user3 transaction 1 +user4 transaction 1 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_user_by_event_name; +"================== TRANSACTIONS_BY_USER truncated ==================" +"================== Step 31 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_host_by_event_name; +"================== TRANSACTIONS_BY_HOST truncated ==================" +"================== Step 32 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_global_by_event_name; +"================== TRANSACTIONS_GLOBAL truncated ==================" +"================== Step 33 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/file/sql/query_log 0 +user1 wait/synch/mutex/sql/LOCK_connection_count 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 wait/synch/rwlock/sql/LOCK_grant 0 +user2 wait/io/file/sql/query_log 0 +user2 wait/synch/mutex/sql/LOCK_connection_count 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 wait/synch/rwlock/sql/LOCK_grant 0 +user3 wait/io/file/sql/query_log 0 +user3 wait/synch/mutex/sql/LOCK_connection_count 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 wait/synch/rwlock/sql/LOCK_grant 0 +user4 wait/io/file/sql/query_log 0 +user4 wait/synch/mutex/sql/LOCK_connection_count 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +user1 stage/sql/checking permissions 0 +user1 stage/sql/closing tables 0 +user1 stage/sql/init 0 +user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 +user2 stage/sql/checking permissions 0 +user2 stage/sql/closing tables 0 +user2 stage/sql/init 0 +user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 +user3 stage/sql/checking permissions 0 +user3 stage/sql/closing tables 0 +user3 stage/sql/init 0 +user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 +user4 stage/sql/checking permissions 0 +user4 stage/sql/closing tables 0 +user4 stage/sql/init 0 +user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +user1 statement/com/Error 0 +user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 +user1 statement/sql/insert 0 +user1 statement/sql/select 0 +user2 statement/com/Error 0 +user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 +user2 statement/sql/insert 0 +user2 statement/sql/select 0 +user3 statement/com/Error 0 +user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 +user3 statement/sql/insert 0 +user3 statement/sql/select 0 +user4 statement/com/Error 0 +user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 +user4 statement/sql/insert 0 +user4 statement/sql/select 0 +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4597,7 +6732,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.accounts; "================== ACCOUNTS truncated ==================" -"================== Step 29 ==================" +"================== Step 34 ==================" call dump_thread(); username status user1 not found @@ -4613,19 +6748,19 @@ execute dump_waits_user; user event_name count_star user1 wait/io/file/sql/query_log 0 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 user2 wait/io/file/sql/query_log 0 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 user3 wait/io/file/sql/query_log 0 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 user4 wait/io/file/sql/query_log 0 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_host; host event_name count_star @@ -4633,13 +6768,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -4649,18 +6784,22 @@ user1 stage/sql/checking permissions 0 user1 stage/sql/closing tables 0 user1 stage/sql/init 0 user1 stage/sql/Opening tables 0 +user1 stage/sql/starting 0 user2 stage/sql/checking permissions 0 user2 stage/sql/closing tables 0 user2 stage/sql/init 0 user2 stage/sql/Opening tables 0 +user2 stage/sql/starting 0 user3 stage/sql/checking permissions 0 user3 stage/sql/closing tables 0 user3 stage/sql/init 0 user3 stage/sql/Opening tables 0 +user3 stage/sql/starting 0 user4 stage/sql/checking permissions 0 user4 stage/sql/closing tables 0 user4 stage/sql/init 0 user4 stage/sql/Opening tables 0 +user4 stage/sql/starting 0 execute dump_stages_host; host event_name count_star execute dump_stages_global; @@ -4669,30 +6808,36 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; user event_name count_star user1 statement/com/Error 0 user1 statement/com/Quit 0 +user1 statement/sp/freturn 0 user1 statement/sql/insert 0 user1 statement/sql/select 0 user2 statement/com/Error 0 user2 statement/com/Quit 0 +user2 statement/sp/freturn 0 user2 statement/sql/insert 0 user2 statement/sql/select 0 user3 statement/com/Error 0 user3 statement/com/Quit 0 +user3 statement/sp/freturn 0 user3 statement/sql/insert 0 user3 statement/sql/select 0 user4 statement/com/Error 0 user4 statement/com/Quit 0 +user4 statement/sp/freturn 0 user4 statement/sql/insert 0 user4 statement/sql/select 0 execute dump_statements_host; @@ -4701,13 +6846,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +user1 transaction 0 +user2 transaction 0 +user3 transaction 0 +user4 transaction 0 +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4722,7 +6885,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.users; "================== USERS truncated ==================" -"================== Step 30 ==================" +"================== Step 35 ==================" call dump_thread(); username status user1 not found @@ -4742,13 +6905,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -4762,12 +6925,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -4778,13 +6943,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -4795,7 +6974,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.hosts; "================== HOSTS truncated ==================" -"================== Step 31 ==================" +"================== Step 36 ==================" call dump_thread(); username status user1 not found @@ -4815,13 +6994,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -4835,12 +7014,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -4851,13 +7032,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_u.result b/mysql-test/suite/perfschema/r/event_aggregate_no_u.result index 4f1dddb3f16..6082cc2264f 100644 --- a/mysql-test/suite/perfschema/r/event_aggregate_no_u.result +++ b/mysql-test/suite/perfschema/r/event_aggregate_no_u.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. "================== Step 1 ==================" call dump_thread(); username status @@ -16,13 +28,13 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -36,12 +48,14 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -52,16 +66,30 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -76,7 +104,7 @@ call dump_thread(); username event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 username status user2 not found @@ -88,7 +116,7 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 1 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -96,13 +124,13 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 1 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -113,6 +141,7 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -121,18 +150,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 execute dump_statements_user; @@ -141,16 +173,31 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -160,20 +207,25 @@ USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 2 2 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con1 marker ==================" "================== Step 3 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username status user2 not found @@ -183,79 +235,101 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 4 +localhost wait/io/file/sql/query_log 7 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 2 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 4 +wait/io/file/sql/query_log 7 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 4 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 7 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 3 -localhost stage/sql/closing tables 3 -localhost stage/sql/init 6 -localhost stage/sql/Opening tables 3 +localhost stage/sql/checking permissions 4 +localhost stage/sql/closing tables 6 +localhost stage/sql/init 4 +localhost stage/sql/Opening tables 6 +localhost stage/sql/starting 6 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 1 localhost statement/sql/insert 1 -localhost statement/sql/select 2 +localhost statement/sql/select 3 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 1 +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -269,14 +343,14 @@ localhost 2 2 "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 username status user3 not found @@ -284,71 +358,78 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 user2 localhost wait/io/file/sql/query_log 1 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 5 +localhost wait/io/file/sql/query_log 8 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 2 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 5 +wait/io/file/sql/query_log 8 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 5 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 8 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 3 -localhost stage/sql/closing tables 3 -localhost stage/sql/init 6 -localhost stage/sql/Opening tables 3 +localhost stage/sql/checking permissions 4 +localhost stage/sql/closing tables 6 +localhost stage/sql/init 4 +localhost stage/sql/Opening tables 6 +localhost stage/sql/starting 6 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 execute dump_statements_user; @@ -357,18 +438,36 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 1 localhost statement/sql/insert 1 -localhost statement/sql/select 2 +localhost statement/sql/select 3 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 1 +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -379,25 +478,30 @@ USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 3 3 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con2 marker ==================" "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username status user3 not found @@ -405,91 +509,116 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 8 +localhost wait/io/file/sql/query_log 14 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 4 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 4 localhost wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 8 +wait/io/file/sql/query_log 14 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 8 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 14 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 6 -localhost stage/sql/closing tables 6 -localhost stage/sql/init 12 -localhost stage/sql/Opening tables 6 +localhost stage/sql/checking permissions 8 +localhost stage/sql/closing tables 12 +localhost stage/sql/init 8 +localhost stage/sql/Opening tables 12 +localhost stage/sql/starting 12 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 2 localhost statement/sql/insert 2 -localhost statement/sql/select 4 +localhost statement/sql/select 6 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 2 +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -504,101 +633,110 @@ localhost 3 3 "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 user3 localhost wait/io/file/sql/query_log 1 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 9 +localhost wait/io/file/sql/query_log 15 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 4 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 4 localhost wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 9 +wait/io/file/sql/query_log 15 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 9 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 15 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 6 -localhost stage/sql/closing tables 6 -localhost stage/sql/init 12 -localhost stage/sql/Opening tables 6 +localhost stage/sql/checking permissions 8 +localhost stage/sql/closing tables 12 +localhost stage/sql/init 8 +localhost stage/sql/Opening tables 12 +localhost stage/sql/starting 12 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 execute dump_statements_user; @@ -607,18 +745,37 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 2 localhost statement/sql/insert 2 -localhost statement/sql/select 4 +localhost statement/sql/select 6 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 2 +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -630,132 +787,165 @@ USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 4 4 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con3 marker ==================" "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 12 +localhost wait/io/file/sql/query_log 21 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 6 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 6 localhost wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 12 +wait/io/file/sql/query_log 21 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 12 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 21 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 9 -localhost stage/sql/closing tables 9 -localhost stage/sql/init 18 -localhost stage/sql/Opening tables 9 +localhost stage/sql/checking permissions 12 +localhost stage/sql/closing tables 18 +localhost stage/sql/init 12 +localhost stage/sql/Opening tables 18 +localhost stage/sql/starting 18 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 3 localhost statement/sql/insert 3 -localhost statement/sql/select 6 +localhost statement/sql/select 9 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 3 +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -771,116 +961,127 @@ localhost 4 4 "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 user4 localhost wait/io/file/sql/query_log 1 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 13 +localhost wait/io/file/sql/query_log 22 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 6 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 6 localhost wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 13 +wait/io/file/sql/query_log 22 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 13 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 22 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 9 -localhost stage/sql/closing tables 9 -localhost stage/sql/init 18 -localhost stage/sql/Opening tables 9 +localhost stage/sql/checking permissions 12 +localhost stage/sql/closing tables 18 +localhost stage/sql/init 12 +localhost stage/sql/Opening tables 18 +localhost stage/sql/starting 18 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; @@ -889,18 +1090,38 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 3 localhost statement/sql/insert 3 -localhost statement/sql/select 6 +localhost statement/sql/select 9 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 3 +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -913,147 +1134,183 @@ USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 5 5 -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con4 marker ==================" "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 16 +localhost wait/io/file/sql/query_log 28 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 16 +wait/io/file/sql/query_log 28 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 16 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/io/file/sql/query_log 28 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 24 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 24 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1072,133 +1329,164 @@ call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 17 +localhost wait/io/file/sql/query_log 29 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 25 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 25 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 1 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1219,128 +1507,159 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 18 +localhost wait/io/file/sql/query_log 30 localhost wait/synch/mutex/sql/LOCK_connection_count 2 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 26 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 26 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 2 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1363,123 +1682,154 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 19 +localhost wait/io/file/sql/query_log 31 localhost wait/synch/mutex/sql/LOCK_connection_count 3 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 27 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 27 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 3 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1505,117 +1855,148 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 5 +user4 localhost wait/io/file/sql/query_log 8 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1642,117 +2023,148 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 5 +user4 localhost wait/io/file/sql/query_log 8 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1781,115 +2193,146 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1918,115 +2361,146 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star execute dump_waits_host; host event_name count_star -localhost wait/io/file/sql/query_log 20 +localhost wait/io/file/sql/query_log 32 localhost wait/synch/mutex/sql/LOCK_connection_count 4 -localhost wait/synch/mutex/sql/LOCK_user_locks 8 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 8 localhost wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2055,19 +2529,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2075,95 +2549,126 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2192,19 +2697,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2212,95 +2717,126 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2329,19 +2865,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2349,95 +2885,126 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2466,19 +3033,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2486,19 +3053,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2506,75 +3073,106 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2603,19 +3201,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2623,19 +3221,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2643,75 +3241,106 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star -localhost stage/sql/checking permissions 12 -localhost stage/sql/closing tables 12 -localhost stage/sql/init 28 -localhost stage/sql/Opening tables 12 +localhost stage/sql/checking permissions 16 +localhost stage/sql/closing tables 24 +localhost stage/sql/init 16 +localhost stage/sql/Opening tables 24 +localhost stage/sql/starting 28 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2740,19 +3369,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2760,19 +3389,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2780,18 +3409,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -2800,55 +3433,82 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2877,19 +3537,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2897,19 +3557,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2917,18 +3577,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -2937,55 +3601,82 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3014,19 +3705,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -3034,19 +3725,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3054,18 +3745,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -3074,55 +3769,82 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3151,19 +3873,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -3171,19 +3893,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3191,18 +3913,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -3211,34 +3937,41 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; @@ -3247,19 +3980,39 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3288,19 +4041,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -3308,19 +4061,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3328,18 +4081,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -3348,34 +4105,41 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; @@ -3384,19 +4148,39 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 4 +localhost statement/sp/freturn 4 localhost statement/sql/insert 4 -localhost statement/sql/select 8 +localhost statement/sql/select 12 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3425,19 +4209,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -3445,19 +4229,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3465,18 +4249,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -3485,34 +4273,41 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; @@ -3521,19 +4316,39 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3562,19 +4377,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -3582,19 +4397,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3602,18 +4417,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -3622,34 +4441,41 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; @@ -3658,19 +4484,879 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_thread_by_event_name; +"================== TRANSACTIONS_BY_THREAD truncated ==================" +"================== Step 29 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_account_by_event_name; +"================== TRANSACTIONS_BY_ACCOUNT truncated ==================" +"================== Step 30 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_user_by_event_name; +"================== TRANSACTIONS_BY_USER truncated ==================" +"================== Step 31 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 4 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_by_host_by_event_name; +"================== TRANSACTIONS_BY_HOST truncated ==================" +"================== Step 32 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 5 +truncate performance_schema.events_transactions_summary_global_by_event_name; +"================== TRANSACTIONS_GLOBAL truncated ==================" +"================== Step 33 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +localhost wait/io/file/sql/query_log 0 +localhost wait/synch/mutex/sql/LOCK_connection_count 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +localhost stage/sql/checking permissions 0 +localhost stage/sql/closing tables 0 +localhost stage/sql/init 0 +localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +localhost statement/com/Error 0 +localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 +localhost statement/sql/insert 0 +localhost statement/sql/select 0 +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3685,7 +5371,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.accounts; "================== ACCOUNTS truncated ==================" -"================== Step 29 ==================" +"================== Step 34 ==================" call dump_thread(); username status user1 not found @@ -3703,19 +5389,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3727,18 +5413,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -3747,19 +5436,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3770,7 +5475,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.users; "================== USERS truncated ==================" -"================== Step 30 ==================" +"================== Step 35 ==================" call dump_thread(); username status user1 not found @@ -3788,19 +5493,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3812,18 +5517,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -3832,19 +5540,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3855,7 +5579,7 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS localhost 1 5 truncate performance_schema.hosts; "================== HOSTS truncated ==================" -"================== Step 31 ==================" +"================== Step 36 ==================" call dump_thread(); username status user1 not found @@ -3873,19 +5597,19 @@ execute dump_waits_host; host event_name count_star localhost wait/io/file/sql/query_log 0 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -localhost wait/synch/mutex/sql/LOCK_user_locks 0 +localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3897,18 +5621,21 @@ localhost stage/sql/checking permissions 0 localhost stage/sql/closing tables 0 localhost stage/sql/init 0 localhost stage/sql/Opening tables 0 +localhost stage/sql/starting 0 execute dump_stages_global; event_name count_star stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -3917,19 +5644,35 @@ execute dump_statements_host; host event_name count_star localhost statement/com/Error 0 localhost statement/com/Quit 0 +localhost statement/sp/freturn 0 localhost statement/sql/insert 0 localhost statement/sql/select 0 execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +localhost transaction 0 +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 diff --git a/mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result b/mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result index 6de38e218ab..cf51a3a459c 100644 --- a/mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result +++ b/mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. "================== Step 1 ==================" call dump_thread(); username status @@ -18,7 +30,7 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -34,6 +46,7 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; @@ -46,10 +59,22 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -63,7 +88,7 @@ call dump_thread(); username event_name count_star user1 wait/io/file/sql/query_log 1 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 0 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 wait/synch/rwlock/sql/LOCK_grant 0 username status user2 not found @@ -75,7 +100,7 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 1 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -85,7 +110,7 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 1 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) @@ -96,6 +121,7 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -106,12 +132,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 execute dump_statements_user; @@ -122,10 +150,23 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -134,20 +175,25 @@ execute dump_users; USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con1 marker ==================" "================== Step 3 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username status user2 not found @@ -157,9 +203,9 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star @@ -167,43 +213,47 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 4 +wait/io/file/sql/query_log 7 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 4 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 7 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -212,12 +262,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -230,14 +295,14 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user2 wait/io/file/sql/query_log 1 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 0 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 wait/synch/rwlock/sql/LOCK_grant 0 username status user3 not found @@ -245,13 +310,13 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 user2 localhost wait/io/file/sql/query_log 1 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -259,49 +324,55 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 5 +wait/io/file/sql/query_log 8 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 5 -wait/synch/mutex/sql/LOCK_user_locks 2 +wait/io/file/sql/query_log 8 +wait/synch/mutex/sql/LOCK_uuid_generator 2 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 3 -stage/sql/closing tables 3 -stage/sql/init 6 -stage/sql/Opening tables 3 +stage/sql/checking permissions 4 +stage/sql/closing tables 6 +stage/sql/init 4 +stage/sql/Opening tables 6 +stage/sql/starting 6 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 execute dump_statements_user; @@ -312,12 +383,28 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 1 statement/sql/insert 1 -statement/sql/select 2 +statement/sql/select 3 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 1 +execute dump_transactions_history; +event_name count(event_name) +transaction 1 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -327,25 +414,30 @@ execute dump_users; USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con2 marker ==================" "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username status user3 not found @@ -353,13 +445,13 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star @@ -367,51 +459,57 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 8 +wait/io/file/sql/query_log 14 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 8 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 14 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -420,12 +518,28 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -439,35 +553,35 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user3 wait/io/file/sql/query_log 1 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 0 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 wait/synch/rwlock/sql/LOCK_grant 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 user3 localhost wait/io/file/sql/query_log 1 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -475,57 +589,65 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 9 +wait/io/file/sql/query_log 15 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 9 -wait/synch/mutex/sql/LOCK_user_locks 4 +wait/io/file/sql/query_log 15 +wait/synch/mutex/sql/LOCK_uuid_generator 4 wait/synch/rwlock/sql/LOCK_grant 4 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 6 -stage/sql/closing tables 6 -stage/sql/init 12 -stage/sql/Opening tables 6 +stage/sql/checking permissions 8 +stage/sql/closing tables 12 +stage/sql/init 8 +stage/sql/Opening tables 12 +stage/sql/starting 12 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 execute dump_statements_user; @@ -536,12 +658,29 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 2 statement/sql/insert 2 -statement/sql/select 4 +statement/sql/select 6 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 2 +execute dump_transactions_history; +event_name count(event_name) +transaction 2 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -552,46 +691,51 @@ execute dump_users; USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con3 marker ==================" "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star @@ -599,59 +743,67 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 12 +wait/io/file/sql/query_log 21 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 12 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 21 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -660,12 +812,29 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -680,42 +849,42 @@ HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star user4 wait/io/file/sql/query_log 1 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 0 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 user4 localhost wait/io/file/sql/query_log 1 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -723,65 +892,75 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 13 +wait/io/file/sql/query_log 22 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 13 -wait/synch/mutex/sql/LOCK_user_locks 6 +wait/io/file/sql/query_log 22 +wait/synch/mutex/sql/LOCK_uuid_generator 6 wait/synch/rwlock/sql/LOCK_grant 6 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 9 -stage/sql/closing tables 9 -stage/sql/init 18 -stage/sql/Opening tables 9 +stage/sql/checking permissions 12 +stage/sql/closing tables 18 +stage/sql/init 12 +stage/sql/Opening tables 18 +stage/sql/starting 18 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; @@ -792,12 +971,30 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 3 statement/sql/insert 3 -statement/sql/select 6 +statement/sql/select 9 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 3 +execute dump_transactions_history; +event_name count(event_name) +transaction 3 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -809,53 +1006,58 @@ execute dump_users; USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS -select get_lock("marker", 10); -get_lock("marker", 10) +select uuid_short() <> 1; +uuid_short() <> 1 1 -select release_lock("marker"); -release_lock("marker") +select uuid_short() <> 1; +uuid_short() <> 1 1 +start transaction; insert into test.t1 values ("marker"); +commit; +select test.f(10,20); +test.f(10,20) +30 "================== con4 marker ==================" "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/file/sql/query_log 4 +user1 wait/io/file/sql/query_log 7 user1 wait/synch/mutex/sql/LOCK_connection_count 0 -user1 wait/synch/mutex/sql/LOCK_user_locks 2 +user1 wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 4 +user1 localhost wait/io/file/sql/query_log 7 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star @@ -863,67 +1065,77 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 16 +wait/io/file/sql/query_log 28 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 16 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/io/file/sql/query_log 28 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 6 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 6 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 24 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 24 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -932,12 +1144,30 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -955,37 +1185,37 @@ call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/file/sql/query_log 4 +user2 wait/io/file/sql/query_log 7 user2 wait/synch/mutex/sql/LOCK_connection_count 0 -user2 wait/synch/mutex/sql/LOCK_user_locks 2 +user2 wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 4 +user2 localhost wait/io/file/sql/query_log 7 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star @@ -993,68 +1223,78 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 17 +wait/io/file/sql/query_log 29 wait/synch/mutex/sql/LOCK_connection_count 1 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 6 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 6 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 25 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 25 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -1063,13 +1303,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 1 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1089,32 +1347,32 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/file/sql/query_log 4 +user3 wait/io/file/sql/query_log 7 user3 wait/synch/mutex/sql/LOCK_connection_count 0 -user3 wait/synch/mutex/sql/LOCK_user_locks 2 +user3 wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 wait/synch/rwlock/sql/LOCK_grant 2 username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 4 +user3 localhost wait/io/file/sql/query_log 7 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star @@ -1122,68 +1380,78 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 18 +wait/io/file/sql/query_log 30 wait/synch/mutex/sql/LOCK_connection_count 2 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 6 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 6 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 26 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 26 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -1192,13 +1460,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 2 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1220,27 +1506,27 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/file/sql/query_log 4 +user4 wait/io/file/sql/query_log 7 user4 wait/synch/mutex/sql/LOCK_connection_count 0 -user4 wait/synch/mutex/sql/LOCK_user_locks 2 +user4 wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 4 +user4 localhost wait/io/file/sql/query_log 7 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star @@ -1248,68 +1534,78 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 19 +wait/io/file/sql/query_log 31 wait/synch/mutex/sql/LOCK_connection_count 3 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 6 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 6 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 27 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 27 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -1318,13 +1614,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 3 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1349,21 +1663,21 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 5 +user4 localhost wait/io/file/sql/query_log 8 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star @@ -1371,68 +1685,78 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -1441,13 +1765,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1473,21 +1815,21 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/file/sql/query_log 5 +user1 localhost wait/io/file/sql/query_log 8 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user1 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user2 localhost wait/io/file/sql/query_log 5 +user2 localhost wait/io/file/sql/query_log 8 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user2 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user3 localhost wait/io/file/sql/query_log 5 +user3 localhost wait/io/file/sql/query_log 8 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user3 localhost wait/synch/rwlock/sql/LOCK_grant 2 -user4 localhost wait/io/file/sql/query_log 5 +user4 localhost wait/io/file/sql/query_log 8 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 1 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 2 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 2 user4 localhost wait/synch/rwlock/sql/LOCK_grant 2 execute dump_waits_user; user event_name count_star @@ -1495,68 +1837,78 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -1565,13 +1917,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1599,19 +1969,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -1619,68 +1989,78 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -1689,13 +2069,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1723,19 +2121,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -1743,68 +2141,78 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -1813,13 +2221,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1847,19 +2273,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -1867,68 +2293,78 @@ execute dump_waits_host; host event_name count_star execute dump_waits_global; event_name count_star -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -1937,13 +2373,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -1971,19 +2425,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -1993,66 +2447,76 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -2061,13 +2525,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2095,19 +2577,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2117,66 +2599,76 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star -user1 localhost stage/sql/checking permissions 3 -user1 localhost stage/sql/closing tables 3 -user1 localhost stage/sql/init 7 -user1 localhost stage/sql/Opening tables 3 -user2 localhost stage/sql/checking permissions 3 -user2 localhost stage/sql/closing tables 3 -user2 localhost stage/sql/init 7 -user2 localhost stage/sql/Opening tables 3 -user3 localhost stage/sql/checking permissions 3 -user3 localhost stage/sql/closing tables 3 -user3 localhost stage/sql/init 7 -user3 localhost stage/sql/Opening tables 3 -user4 localhost stage/sql/checking permissions 3 -user4 localhost stage/sql/closing tables 3 -user4 localhost stage/sql/init 7 -user4 localhost stage/sql/Opening tables 3 +user1 localhost stage/sql/checking permissions 4 +user1 localhost stage/sql/closing tables 6 +user1 localhost stage/sql/init 4 +user1 localhost stage/sql/Opening tables 6 +user1 localhost stage/sql/starting 7 +user2 localhost stage/sql/checking permissions 4 +user2 localhost stage/sql/closing tables 6 +user2 localhost stage/sql/init 4 +user2 localhost stage/sql/Opening tables 6 +user2 localhost stage/sql/starting 7 +user3 localhost stage/sql/checking permissions 4 +user3 localhost stage/sql/closing tables 6 +user3 localhost stage/sql/init 4 +user3 localhost stage/sql/Opening tables 6 +user3 localhost stage/sql/starting 7 +user4 localhost stage/sql/checking permissions 4 +user4 localhost stage/sql/closing tables 6 +user4 localhost stage/sql/init 4 +user4 localhost stage/sql/Opening tables 6 +user4 localhost stage/sql/starting 7 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -2185,13 +2677,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2219,19 +2729,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2241,13 +2751,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2255,52 +2765,62 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -2309,13 +2829,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2343,19 +2881,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2365,13 +2903,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2379,52 +2917,62 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -2433,13 +2981,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2467,19 +3033,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2489,13 +3055,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2503,52 +3069,62 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; host event_name count_star execute dump_stages_global; event_name count_star -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -2557,13 +3133,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2591,19 +3185,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2613,13 +3207,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2627,18 +3221,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -2649,30 +3247,36 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -2681,13 +3285,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2715,19 +3337,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2737,13 +3359,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2751,18 +3373,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -2773,30 +3399,36 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 1 +user1 localhost statement/sp/freturn 1 user1 localhost statement/sql/insert 1 -user1 localhost statement/sql/select 2 +user1 localhost statement/sql/select 3 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 1 +user2 localhost statement/sp/freturn 1 user2 localhost statement/sql/insert 1 -user2 localhost statement/sql/select 2 +user2 localhost statement/sql/select 3 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 1 +user3 localhost statement/sp/freturn 1 user3 localhost statement/sql/insert 1 -user3 localhost statement/sql/select 2 +user3 localhost statement/sql/select 3 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 1 +user4 localhost statement/sp/freturn 1 user4 localhost statement/sql/insert 1 -user4 localhost statement/sql/select 2 +user4 localhost statement/sql/select 3 execute dump_statements_user; user event_name count_star execute dump_statements_host; @@ -2805,13 +3437,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2839,19 +3489,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2861,13 +3511,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2875,18 +3525,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -2897,28 +3551,34 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; @@ -2929,13 +3589,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -2963,19 +3641,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -2985,13 +3663,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -2999,18 +3677,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -3021,28 +3703,34 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; @@ -3053,13 +3741,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3087,19 +3793,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -3109,13 +3815,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3123,18 +3829,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -3145,28 +3855,34 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; @@ -3177,13 +3893,31 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3211,19 +3945,19 @@ execute dump_waits_account; user host event_name count_star user1 localhost wait/io/file/sql/query_log 0 user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user1 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 user2 localhost wait/io/file/sql/query_log 0 user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user2 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 user3 localhost wait/io/file/sql/query_log 0 user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user3 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 user4 localhost wait/io/file/sql/query_log 0 user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 -user4 localhost wait/synch/mutex/sql/LOCK_user_locks 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_user; user event_name count_star @@ -3233,13 +3967,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3247,18 +3981,22 @@ user1 localhost stage/sql/checking permissions 0 user1 localhost stage/sql/closing tables 0 user1 localhost stage/sql/init 0 user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 user2 localhost stage/sql/checking permissions 0 user2 localhost stage/sql/closing tables 0 user2 localhost stage/sql/init 0 user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 user3 localhost stage/sql/checking permissions 0 user3 localhost stage/sql/closing tables 0 user3 localhost stage/sql/init 0 user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 user4 localhost stage/sql/checking permissions 0 user4 localhost stage/sql/closing tables 0 user4 localhost stage/sql/init 0 user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 execute dump_stages_user; user event_name count_star execute dump_stages_host; @@ -3269,28 +4007,338 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_thread_by_event_name; +"================== TRANSACTIONS_BY_THREAD truncated ==================" +"================== Step 29 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 1 +user2 localhost transaction 1 +user3 localhost transaction 1 +user4 localhost transaction 1 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_account_by_event_name; +"================== TRANSACTIONS_BY_ACCOUNT truncated ==================" +"================== Step 30 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star user1 localhost statement/com/Error 0 user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 user1 localhost statement/sql/insert 0 user1 localhost statement/sql/select 0 user2 localhost statement/com/Error 0 user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 user2 localhost statement/sql/insert 0 user2 localhost statement/sql/select 0 user3 localhost statement/com/Error 0 user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 user3 localhost statement/sql/insert 0 user3 localhost statement/sql/select 0 user4 localhost statement/com/Error 0 user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 user4 localhost statement/sql/insert 0 user4 localhost statement/sql/select 0 execute dump_statements_user; @@ -3301,13 +4349,487 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_user_by_event_name; +"================== TRANSACTIONS_BY_USER truncated ==================" +"================== Step 31 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_by_host_by_event_name; +"================== TRANSACTIONS_BY_HOST truncated ==================" +"================== Step 32 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 4 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.events_transactions_summary_global_by_event_name; +"================== TRANSACTIONS_GLOBAL truncated ==================" +"================== Step 33 ==================" +call dump_thread(); +username status +user1 not found +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/file/sql/query_log 0 +user1 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user1 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user1 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user2 localhost wait/io/file/sql/query_log 0 +user2 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user2 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user2 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user3 localhost wait/io/file/sql/query_log 0 +user3 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user3 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user3 localhost wait/synch/rwlock/sql/LOCK_grant 0 +user4 localhost wait/io/file/sql/query_log 0 +user4 localhost wait/synch/mutex/sql/LOCK_connection_count 0 +user4 localhost wait/synch/mutex/sql/LOCK_uuid_generator 0 +user4 localhost wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_user; +user event_name count_star +execute dump_waits_host; +host event_name count_star +execute dump_waits_global; +event_name count_star +wait/io/file/sql/query_log 0 +wait/synch/mutex/sql/LOCK_connection_count 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 +wait/synch/rwlock/sql/LOCK_grant 0 +execute dump_waits_history; +event_name count(event_name) +wait/io/file/sql/query_log 32 +wait/synch/mutex/sql/LOCK_connection_count 4 +wait/synch/mutex/sql/LOCK_uuid_generator 8 +wait/synch/rwlock/sql/LOCK_grant 8 +execute dump_stages_account; +user host event_name count_star +user1 localhost stage/sql/checking permissions 0 +user1 localhost stage/sql/closing tables 0 +user1 localhost stage/sql/init 0 +user1 localhost stage/sql/Opening tables 0 +user1 localhost stage/sql/starting 0 +user2 localhost stage/sql/checking permissions 0 +user2 localhost stage/sql/closing tables 0 +user2 localhost stage/sql/init 0 +user2 localhost stage/sql/Opening tables 0 +user2 localhost stage/sql/starting 0 +user3 localhost stage/sql/checking permissions 0 +user3 localhost stage/sql/closing tables 0 +user3 localhost stage/sql/init 0 +user3 localhost stage/sql/Opening tables 0 +user3 localhost stage/sql/starting 0 +user4 localhost stage/sql/checking permissions 0 +user4 localhost stage/sql/closing tables 0 +user4 localhost stage/sql/init 0 +user4 localhost stage/sql/Opening tables 0 +user4 localhost stage/sql/starting 0 +execute dump_stages_user; +user event_name count_star +execute dump_stages_host; +host event_name count_star +execute dump_stages_global; +event_name count_star +stage/sql/checking permissions 0 +stage/sql/closing tables 0 +stage/sql/init 0 +stage/sql/Opening tables 0 +stage/sql/starting 0 +execute dump_stages_history; +event_name count(event_name) +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 +execute dump_statements_account; +user host event_name count_star +user1 localhost statement/com/Error 0 +user1 localhost statement/com/Quit 0 +user1 localhost statement/sp/freturn 0 +user1 localhost statement/sql/insert 0 +user1 localhost statement/sql/select 0 +user2 localhost statement/com/Error 0 +user2 localhost statement/com/Quit 0 +user2 localhost statement/sp/freturn 0 +user2 localhost statement/sql/insert 0 +user2 localhost statement/sql/select 0 +user3 localhost statement/com/Error 0 +user3 localhost statement/com/Quit 0 +user3 localhost statement/sp/freturn 0 +user3 localhost statement/sql/insert 0 +user3 localhost statement/sql/select 0 +user4 localhost statement/com/Error 0 +user4 localhost statement/com/Quit 0 +user4 localhost statement/sp/freturn 0 +user4 localhost statement/sql/insert 0 +user4 localhost statement/sql/select 0 +execute dump_statements_user; +user event_name count_star +execute dump_statements_host; +host event_name count_star +execute dump_statements_global; +event_name count_star +statement/com/Error 0 +statement/com/Quit 0 +statement/sp/freturn 0 +statement/sql/insert 0 +statement/sql/select 0 +execute dump_statements_history; +event_name count(event_name) +statement/com/Quit 4 +statement/sp/freturn 4 +statement/sql/insert 4 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +user1 localhost transaction 0 +user2 localhost transaction 0 +user3 localhost transaction 0 +user4 localhost transaction 0 +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3321,7 +4843,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.accounts; "================== ACCOUNTS truncated ==================" -"================== Step 29 ==================" +"================== Step 34 ==================" call dump_thread(); username status user1 not found @@ -3341,13 +4863,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3361,12 +4883,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -3377,13 +4901,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3393,7 +4931,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.users; "================== USERS truncated ==================" -"================== Step 30 ==================" +"================== Step 35 ==================" call dump_thread(); username status user1 not found @@ -3413,13 +4951,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3433,12 +4971,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -3449,13 +4989,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 @@ -3465,7 +5019,7 @@ execute dump_hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS truncate performance_schema.hosts; "================== HOSTS truncated ==================" -"================== Step 31 ==================" +"================== Step 36 ==================" call dump_thread(); username status user1 not found @@ -3485,13 +5039,13 @@ execute dump_waits_global; event_name count_star wait/io/file/sql/query_log 0 wait/synch/mutex/sql/LOCK_connection_count 0 -wait/synch/mutex/sql/LOCK_user_locks 0 +wait/synch/mutex/sql/LOCK_uuid_generator 0 wait/synch/rwlock/sql/LOCK_grant 0 execute dump_waits_history; event_name count(event_name) -wait/io/file/sql/query_log 20 +wait/io/file/sql/query_log 32 wait/synch/mutex/sql/LOCK_connection_count 4 -wait/synch/mutex/sql/LOCK_user_locks 8 +wait/synch/mutex/sql/LOCK_uuid_generator 8 wait/synch/rwlock/sql/LOCK_grant 8 execute dump_stages_account; user host event_name count_star @@ -3505,12 +5059,14 @@ stage/sql/checking permissions 0 stage/sql/closing tables 0 stage/sql/init 0 stage/sql/Opening tables 0 +stage/sql/starting 0 execute dump_stages_history; event_name count(event_name) -stage/sql/checking permissions 12 -stage/sql/closing tables 12 -stage/sql/init 28 -stage/sql/Opening tables 12 +stage/sql/checking permissions 16 +stage/sql/closing tables 24 +stage/sql/init 16 +stage/sql/Opening tables 24 +stage/sql/starting 28 execute dump_statements_account; user host event_name count_star execute dump_statements_user; @@ -3521,13 +5077,27 @@ execute dump_statements_global; event_name count_star statement/com/Error 0 statement/com/Quit 0 +statement/sp/freturn 0 statement/sql/insert 0 statement/sql/select 0 execute dump_statements_history; event_name count(event_name) statement/com/Quit 4 +statement/sp/freturn 4 statement/sql/insert 4 -statement/sql/select 8 +statement/sql/select 12 +execute dump_transactions_account; +user host event_name count_star +execute dump_transactions_user; +user event_name count_star +execute dump_transactions_host; +host event_name count_star +execute dump_transactions_global; +event_name count_star +transaction 0 +execute dump_transactions_history; +event_name count(event_name) +transaction 4 execute dump_accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS root localhost 1 1 diff --git a/mysql-test/suite/perfschema/r/file_misc.result b/mysql-test/suite/perfschema/r/file_misc.result new file mode 100644 index 00000000000..31094e64b59 --- /dev/null +++ b/mysql-test/suite/perfschema/r/file_misc.result @@ -0,0 +1 @@ +select * from information_schema.columns ORDER BY table_name; diff --git a/mysql-test/suite/perfschema/r/func_file_io.result b/mysql-test/suite/perfschema/r/func_file_io.result index d710774a1f4..880e00367d0 100644 --- a/mysql-test/suite/perfschema/r/func_file_io.result +++ b/mysql-test/suite/perfschema/r/func_file_io.result @@ -130,7 +130,7 @@ GROUP BY p.processlist_user, h.operation HAVING BYTES > 0 ORDER BY p.processlist_user, h.operation; UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -140,9 +140,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -152,6 +158,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/func_mutex.result b/mysql-test/suite/perfschema/r/func_mutex.result index 60f531f42f7..14512d1762c 100644 --- a/mysql-test/suite/perfschema/r/func_mutex.result +++ b/mysql-test/suite/perfschema/r/func_mutex.result @@ -9,7 +9,7 @@ where NAME = 'wait/synch/mutex/sql/LOCK_open'; NAME wait/synch/mutex/sql/LOCK_open select NAME from performance_schema.rwlock_instances -where NAME = 'wait/synch/rwlock/sql/LOCK_grant'; +where NAME = 'wait/synch/rwlock/sql/LOCK_grant' limit 1; NAME wait/synch/rwlock/sql/LOCK_grant DROP TABLE IF EXISTS t1; @@ -123,7 +123,7 @@ Success UPDATE performance_schema.setup_instruments SET enabled = 'YES'; DROP TABLE t1; UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -133,9 +133,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -145,6 +151,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/global_objects.result b/mysql-test/suite/perfschema/r/global_objects.result new file mode 100644 index 00000000000..dd53a11ddac --- /dev/null +++ b/mysql-test/suite/perfschema/r/global_objects.result @@ -0,0 +1,33 @@ +select count(*) from performance_schema.setup_instruments +where enabled='YES' + and name like "wait/%"; +count(*) +0 +select count(*) > 0 from performance_schema.mutex_instances; +count(*) > 0 +1 +select count(*) > 0 from performance_schema.rwlock_instances; +count(*) > 0 +1 +select count(*) > 0 from performance_schema.cond_instances; +count(*) > 0 +1 +select count(*) > 0 from performance_schema.socket_instances; +count(*) > 0 +1 +select NAME from performance_schema.mutex_instances +where NAME = "wait/synch/mutex/sql/LOCK_gdl"; +NAME +wait/synch/mutex/sql/LOCK_gdl +select NAME from performance_schema.rwlock_instances +where NAME = "wait/synch/rwlock/sql/LOCK_system_variables_hash"; +NAME +wait/synch/rwlock/sql/LOCK_system_variables_hash +select NAME from performance_schema.cond_instances +where NAME = "wait/synch/cond/sql/COND_server_started"; +NAME +wait/synch/cond/sql/COND_server_started +select EVENT_NAME from performance_schema.socket_instances +where EVENT_NAME = "wait/io/socket/sql/client_connection"; +EVENT_NAME +wait/io/socket/sql/client_connection diff --git a/mysql-test/suite/perfschema/r/global_read_lock.result b/mysql-test/suite/perfschema/r/global_read_lock.result index f7ff4382261..b1836f0d961 100644 --- a/mysql-test/suite/perfschema/r/global_read_lock.result +++ b/mysql-test/suite/perfschema/r/global_read_lock.result @@ -1,6 +1,15 @@ use performance_schema; update performance_schema.setup_instruments set enabled='YES'; +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant SELECT, UPDATE, LOCK TABLES on performance_schema.* to pfsuser@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. flush privileges; connect (con1, localhost, pfsuser, , test); lock tables performance_schema.setup_instruments read; diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_allow.result index 4035e299c23..e92b48f08aa 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_again_allow.result @@ -23,7 +23,16 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'192.0.2.4'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_allow.result index ce2437a495b..db192482d13 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_bad_allow.result @@ -23,7 +23,16 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'192.0.2.4'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_allow.result index 00d2755c5b9..c7e96819ca2 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_good_allow.result @@ -23,7 +23,16 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'santa.claus.ipv4.example.com'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_allow.result index 271a9ed49a6..0cb6a23cf9a 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_addrinfo_noname_allow.result @@ -23,8 +23,19 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'santa.claus.ipv4.example.com'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant select on test.* to 'root'@'192.0.2.4'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_blocked.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_blocked.result index e0342e7acdd..844ffce4534 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv4_blocked.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_blocked.result @@ -24,7 +24,16 @@ select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host select @@global.max_connect_errors into @saved_max_connect_errors; set global max_connect_errors = 3; +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'santa.claus.ipv4.example.com'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. create user 'quota'@'santa.claus.ipv4.example.com'; grant select on test.* to 'quota'@'santa.claus.ipv4.example.com'; select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_max_con.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_max_con.result index 17e918e4926..abbf0dffd85 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv4_max_con.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_max_con.result @@ -27,6 +27,8 @@ create user 'quota'@'santa.claus.ipv4.example.com'; grant select on test.* to 'quota'@'santa.claus.ipv4.example.com'; grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com' with max_connections_per_hour 3; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. select "Con1 is alive"; Con1 is alive Con1 is alive @@ -196,8 +198,12 @@ FIRST_ERROR_SEEN set LAST_ERROR_SEEN set grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com' with max_connections_per_hour 0; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com' with max_user_connections 3; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. flush user_resources; select "Con7 is alive"; Con7 is alive @@ -361,6 +367,8 @@ FIRST_ERROR_SEEN set LAST_ERROR_SEEN set grant usage on *.* to 'quota'@'santa.claus.ipv4.example.com' with max_user_connections 0; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. flush user_resources; set global max_user_connections = 3; select "Con4a is alive"; diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_allow.result index 1de2f228aac..6aa82ee29e9 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_again_allow.result @@ -23,8 +23,19 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'192.0.2.4'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant select on test.* to 'root'@'santa.claus.ipv4.example.com'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_allow.result index c094c4d7901..91a63e04235 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_nameinfo_noname_allow.result @@ -23,7 +23,16 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'192.0.2.4'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv4_ssl.result b/mysql-test/suite/perfschema/r/hostcache_ipv4_ssl.result index acbb6f091f0..7112ba9c911 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv4_ssl.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv4_ssl.result @@ -27,10 +27,14 @@ create user 'user_ssl_x509'@'santa.claus.ipv4.example.com' identified by 'good_password'; grant select on test.* to 'user_ssl'@'santa.claus.ipv4.example.com' REQUIRE SSL; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. grant select on test.* to 'user_ssl_x509'@'santa.claus.ipv4.example.com' REQUIRE SUBJECT '/C=??/ST=??/L=??/ O=No such thing/ CN=Santa Claus/emailAddress=santa.claus@example.com'; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_allow.result index a8e22f1652a..be57fb5fbf9 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_again_allow.result @@ -23,7 +23,16 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'2001:db8::6:6'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_allow.result index c2b8bae92b9..0e5b0ff1ffd 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_bad_allow.result @@ -23,7 +23,16 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'2001:db8::6:6'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_allow.result index 66c7eb18faa..4c374fa1035 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_good_allow.result @@ -23,7 +23,16 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'santa.claus.ipv6.example.com'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_allow.result index 4a60a2a7da7..4db9adaf32c 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_addrinfo_noname_allow.result @@ -23,8 +23,19 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'santa.claus.ipv6.example.com'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant select on test.* to 'root'@'2001:db8::6:6'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_blocked.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_blocked.result index 6fbf4108422..3c8f0f6f111 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv6_blocked.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_blocked.result @@ -24,7 +24,16 @@ select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host select @@global.max_connect_errors into @saved_max_connect_errors; set global max_connect_errors = 3; +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'santa.claus.ipv6.example.com'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. create user 'quota'@'santa.claus.ipv6.example.com'; grant select on test.* to 'quota'@'santa.claus.ipv6.example.com'; select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_max_con.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_max_con.result index b3b2e34c433..5c2d6b4de4d 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv6_max_con.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_max_con.result @@ -27,6 +27,8 @@ create user 'quota'@'santa.claus.ipv6.example.com'; grant select on test.* to 'quota'@'santa.claus.ipv6.example.com'; grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com' with max_connections_per_hour 3; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. select "Con1 is alive"; Con1 is alive Con1 is alive @@ -196,8 +198,12 @@ FIRST_ERROR_SEEN set LAST_ERROR_SEEN set grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com' with max_connections_per_hour 0; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com' with max_user_connections 3; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. flush user_resources; select "Con7 is alive"; Con7 is alive @@ -361,6 +367,8 @@ FIRST_ERROR_SEEN set LAST_ERROR_SEEN set grant usage on *.* to 'quota'@'santa.claus.ipv6.example.com' with max_user_connections 0; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. flush user_resources; set global max_user_connections = 3; select "Con4a is alive"; diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_allow.result index ef4bb102be6..d35c3891881 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_again_allow.result @@ -23,8 +23,19 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'2001:db8::6:6'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant select on test.* to 'root'@'santa.claus.ipv6.example.com'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_allow.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_allow.result index d1e91e9b431..b0382a23df2 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_allow.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_nameinfo_noname_allow.result @@ -23,7 +23,16 @@ select `User`, `Host` from mysql.`user` where `user` like '2001:%'; User Host select `User`, `Host` from mysql.`user` where `user` like 'santa.claus.%'; User Host +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant select on test.* to 'root'@'2001:db8::6:6'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/hostcache_ipv6_ssl.result b/mysql-test/suite/perfschema/r/hostcache_ipv6_ssl.result index 7d8fd72159f..7ecc90a43e8 100644 --- a/mysql-test/suite/perfschema/r/hostcache_ipv6_ssl.result +++ b/mysql-test/suite/perfschema/r/hostcache_ipv6_ssl.result @@ -27,10 +27,14 @@ create user 'user_ssl_x509'@'santa.claus.ipv6.example.com' identified by 'good_password'; grant select on test.* to 'user_ssl'@'santa.claus.ipv6.example.com' REQUIRE SSL; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. grant select on test.* to 'user_ssl_x509'@'santa.claus.ipv6.example.com' REQUIRE SUBJECT '/C=??/ST=??/L=??/ O=No such thing/ CN=Santa Claus/emailAddress=santa.claus@example.com'; +Warnings: +Warning 1287 Using GRANT statement to modify existing user's properties other than privileges is deprecated and will be removed in future release. Use ALTER USER statement for this operation. select "Con1 is alive"; Con1 is alive Con1 is alive diff --git a/mysql-test/suite/perfschema/r/indexed_table_io.result b/mysql-test/suite/perfschema/r/indexed_table_io.result index 57518673491..75bc57dcbcf 100644 --- a/mysql-test/suite/perfschema/r/indexed_table_io.result +++ b/mysql-test/suite/perfschema/r/indexed_table_io.result @@ -30,19 +30,19 @@ truncate table performance_schema.events_waits_history_long; update performance_schema.setup_consumers set enabled='YES'; # Printing of 100 inserts per table is suppressed update performance_schema.setup_consumers set enabled='NO'; -select COUNT(*) +select SUM(NUMBER_OF_BYTES) from performance_schema.events_waits_history_long where event_name like 'wait/io/table/%' and object_schema = 'test' and object_name = 'no_index_tab'; -COUNT(*) +SUM(NUMBER_OF_BYTES) 100 -select COUNT(*) +select SUM(NUMBER_OF_BYTES) from performance_schema.events_waits_history_long where event_name like 'wait/io/table/%' and object_schema = 'test' and object_name = 'index_tab'; -COUNT(*) +SUM(NUMBER_OF_BYTES) 100 select count(*) from test.no_index_tab; count(*) @@ -56,75 +56,75 @@ select avg(a) from test.no_index_tab; avg(a) 50.5000 update performance_schema.setup_consumers set enabled='NO'; -select COUNT(*) +select SUM(NUMBER_OF_BYTES) from performance_schema.events_waits_history_long where event_name like 'wait/io/table/%' and object_schema = 'test' and object_name = 'no_index_tab'; -COUNT(*) -101 +SUM(NUMBER_OF_BYTES) +100 truncate table performance_schema.events_waits_history_long; update performance_schema.setup_consumers set enabled='YES'; select avg(a) from test.index_tab; avg(a) 50.5000 update performance_schema.setup_consumers set enabled='NO'; -select COUNT(*) +select SUM(NUMBER_OF_BYTES) from performance_schema.events_waits_history_long where event_name like 'wait/io/table/%' and object_schema = 'test' and object_name = 'index_tab'; -COUNT(*) -101 +SUM(NUMBER_OF_BYTES) +100 truncate table performance_schema.events_waits_history_long; update performance_schema.setup_consumers set enabled='YES'; select 1 as my_column from test.no_index_tab where a = 50; my_column 1 update performance_schema.setup_consumers set enabled='NO'; -select COUNT(*) +select SUM(NUMBER_OF_BYTES) from performance_schema.events_waits_history_long where event_name like 'wait/io/table/%' and object_schema = 'test' and object_name = 'no_index_tab'; -COUNT(*) -101 +SUM(NUMBER_OF_BYTES) +100 truncate table performance_schema.events_waits_history_long; update performance_schema.setup_consumers set enabled='YES'; select 1 as my_column from test.index_tab where a = 50; my_column 1 update performance_schema.setup_consumers set enabled='NO'; -select COUNT(*) +select SUM(NUMBER_OF_BYTES) from performance_schema.events_waits_history_long where event_name like 'wait/io/table/%' and object_schema = 'test' and object_name = 'index_tab'; -COUNT(*) +SUM(NUMBER_OF_BYTES) 1 truncate table performance_schema.events_waits_history_long; update performance_schema.setup_consumers set enabled='YES'; delete from test.no_index_tab where a = 51; update performance_schema.setup_consumers set enabled='NO'; -select COUNT(*) +select SUM(NUMBER_OF_BYTES) from performance_schema.events_waits_history_long where event_name like 'wait/io/table/%' and object_schema = 'test' and object_name = 'no_index_tab'; -COUNT(*) +SUM(NUMBER_OF_BYTES) 102 truncate table performance_schema.events_waits_history_long; update performance_schema.setup_consumers set enabled='YES'; delete from test.index_tab where a = 51; update performance_schema.setup_consumers set enabled='NO'; -select COUNT(*) +select SUM(NUMBER_OF_BYTES) from performance_schema.events_waits_history_long where event_name like 'wait/io/table/%' and object_schema = 'test' and object_name = 'index_tab'; -COUNT(*) +SUM(NUMBER_OF_BYTES) 2 -show status like 'performance_schema_%'; +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -134,9 +134,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -146,6 +152,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/information_schema.result b/mysql-test/suite/perfschema/r/information_schema.result index 5e5ce57fb2e..040b3371cdf 100644 --- a/mysql-test/suite/perfschema/r/information_schema.result +++ b/mysql-test/suite/perfschema/r/information_schema.result @@ -18,9 +18,18 @@ performance_schema events_statements_history_long def performance_schema events_statements_summary_by_account_by_event_name def performance_schema events_statements_summary_by_digest def performance_schema events_statements_summary_by_host_by_event_name def +performance_schema events_statements_summary_by_program def performance_schema events_statements_summary_by_thread_by_event_name def performance_schema events_statements_summary_by_user_by_event_name def performance_schema events_statements_summary_global_by_event_name def +performance_schema events_transactions_current def +performance_schema events_transactions_history def +performance_schema events_transactions_history_long def +performance_schema events_transactions_summary_by_account_by_event_name def +performance_schema events_transactions_summary_by_host_by_event_name def +performance_schema events_transactions_summary_by_thread_by_event_name def +performance_schema events_transactions_summary_by_user_by_event_name def +performance_schema events_transactions_summary_global_by_event_name def performance_schema events_waits_current def performance_schema events_waits_history def performance_schema events_waits_history_long def @@ -33,14 +42,33 @@ performance_schema events_waits_summary_global_by_event_name def performance_schema file_instances def performance_schema file_summary_by_event_name def performance_schema file_summary_by_instance def +performance_schema global_status def +performance_schema global_variables def performance_schema host_cache def performance_schema hosts def +performance_schema memory_summary_by_account_by_event_name def +performance_schema memory_summary_by_host_by_event_name def +performance_schema memory_summary_by_thread_by_event_name def +performance_schema memory_summary_by_user_by_event_name def +performance_schema memory_summary_global_by_event_name def +performance_schema metadata_locks def performance_schema mutex_instances def performance_schema objects_summary_global_by_type def performance_schema performance_timers def +performance_schema prepared_statements_instances def +performance_schema replication_applier_configuration def +performance_schema replication_applier_status def +performance_schema replication_applier_status_by_coordinator def +performance_schema replication_applier_status_by_worker def +performance_schema replication_connection_configuration def +performance_schema replication_connection_status def +performance_schema replication_group_member_stats def +performance_schema replication_group_members def performance_schema rwlock_instances def performance_schema session_account_connect_attrs def performance_schema session_connect_attrs def +performance_schema session_status def +performance_schema session_variables def performance_schema setup_actors def performance_schema setup_consumers def performance_schema setup_instruments def @@ -49,11 +77,18 @@ performance_schema setup_timers def performance_schema socket_instances def performance_schema socket_summary_by_event_name def performance_schema socket_summary_by_instance def +performance_schema status_by_account def +performance_schema status_by_host def +performance_schema status_by_thread def +performance_schema status_by_user def +performance_schema table_handles def performance_schema table_io_waits_summary_by_index_usage def performance_schema table_io_waits_summary_by_table def performance_schema table_lock_waits_summary_by_table def performance_schema threads def +performance_schema user_variables_by_thread def performance_schema users def +performance_schema variables_by_thread def select lower(TABLE_NAME), TABLE_TYPE, ENGINE from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -74,9 +109,18 @@ events_statements_history_long BASE TABLE PERFORMANCE_SCHEMA events_statements_summary_by_account_by_event_name BASE TABLE PERFORMANCE_SCHEMA events_statements_summary_by_digest BASE TABLE PERFORMANCE_SCHEMA events_statements_summary_by_host_by_event_name BASE TABLE PERFORMANCE_SCHEMA +events_statements_summary_by_program BASE TABLE PERFORMANCE_SCHEMA events_statements_summary_by_thread_by_event_name BASE TABLE PERFORMANCE_SCHEMA events_statements_summary_by_user_by_event_name BASE TABLE PERFORMANCE_SCHEMA events_statements_summary_global_by_event_name BASE TABLE PERFORMANCE_SCHEMA +events_transactions_current BASE TABLE PERFORMANCE_SCHEMA +events_transactions_history BASE TABLE PERFORMANCE_SCHEMA +events_transactions_history_long BASE TABLE PERFORMANCE_SCHEMA +events_transactions_summary_by_account_by_event_name BASE TABLE PERFORMANCE_SCHEMA +events_transactions_summary_by_host_by_event_name BASE TABLE PERFORMANCE_SCHEMA +events_transactions_summary_by_thread_by_event_name BASE TABLE PERFORMANCE_SCHEMA +events_transactions_summary_by_user_by_event_name BASE TABLE PERFORMANCE_SCHEMA +events_transactions_summary_global_by_event_name BASE TABLE PERFORMANCE_SCHEMA events_waits_current BASE TABLE PERFORMANCE_SCHEMA events_waits_history BASE TABLE PERFORMANCE_SCHEMA events_waits_history_long BASE TABLE PERFORMANCE_SCHEMA @@ -89,14 +133,33 @@ events_waits_summary_global_by_event_name BASE TABLE PERFORMANCE_SCHEMA file_instances BASE TABLE PERFORMANCE_SCHEMA file_summary_by_event_name BASE TABLE PERFORMANCE_SCHEMA file_summary_by_instance BASE TABLE PERFORMANCE_SCHEMA +global_status BASE TABLE PERFORMANCE_SCHEMA +global_variables BASE TABLE PERFORMANCE_SCHEMA host_cache BASE TABLE PERFORMANCE_SCHEMA hosts BASE TABLE PERFORMANCE_SCHEMA +memory_summary_by_account_by_event_name BASE TABLE PERFORMANCE_SCHEMA +memory_summary_by_host_by_event_name BASE TABLE PERFORMANCE_SCHEMA +memory_summary_by_thread_by_event_name BASE TABLE PERFORMANCE_SCHEMA +memory_summary_by_user_by_event_name BASE TABLE PERFORMANCE_SCHEMA +memory_summary_global_by_event_name BASE TABLE PERFORMANCE_SCHEMA +metadata_locks BASE TABLE PERFORMANCE_SCHEMA mutex_instances BASE TABLE PERFORMANCE_SCHEMA objects_summary_global_by_type BASE TABLE PERFORMANCE_SCHEMA performance_timers BASE TABLE PERFORMANCE_SCHEMA +prepared_statements_instances BASE TABLE PERFORMANCE_SCHEMA +replication_applier_configuration BASE TABLE PERFORMANCE_SCHEMA +replication_applier_status BASE TABLE PERFORMANCE_SCHEMA +replication_applier_status_by_coordinator BASE TABLE PERFORMANCE_SCHEMA +replication_applier_status_by_worker BASE TABLE PERFORMANCE_SCHEMA +replication_connection_configuration BASE TABLE PERFORMANCE_SCHEMA +replication_connection_status BASE TABLE PERFORMANCE_SCHEMA +replication_group_member_stats BASE TABLE PERFORMANCE_SCHEMA +replication_group_members BASE TABLE PERFORMANCE_SCHEMA rwlock_instances BASE TABLE PERFORMANCE_SCHEMA session_account_connect_attrs BASE TABLE PERFORMANCE_SCHEMA session_connect_attrs BASE TABLE PERFORMANCE_SCHEMA +session_status BASE TABLE PERFORMANCE_SCHEMA +session_variables BASE TABLE PERFORMANCE_SCHEMA setup_actors BASE TABLE PERFORMANCE_SCHEMA setup_consumers BASE TABLE PERFORMANCE_SCHEMA setup_instruments BASE TABLE PERFORMANCE_SCHEMA @@ -105,11 +168,18 @@ setup_timers BASE TABLE PERFORMANCE_SCHEMA socket_instances BASE TABLE PERFORMANCE_SCHEMA socket_summary_by_event_name BASE TABLE PERFORMANCE_SCHEMA socket_summary_by_instance BASE TABLE PERFORMANCE_SCHEMA +status_by_account BASE TABLE PERFORMANCE_SCHEMA +status_by_host BASE TABLE PERFORMANCE_SCHEMA +status_by_thread BASE TABLE PERFORMANCE_SCHEMA +status_by_user BASE TABLE PERFORMANCE_SCHEMA +table_handles BASE TABLE PERFORMANCE_SCHEMA table_io_waits_summary_by_index_usage BASE TABLE PERFORMANCE_SCHEMA table_io_waits_summary_by_table BASE TABLE PERFORMANCE_SCHEMA table_lock_waits_summary_by_table BASE TABLE PERFORMANCE_SCHEMA threads BASE TABLE PERFORMANCE_SCHEMA +user_variables_by_thread BASE TABLE PERFORMANCE_SCHEMA users BASE TABLE PERFORMANCE_SCHEMA +variables_by_thread BASE TABLE PERFORMANCE_SCHEMA select lower(TABLE_NAME), VERSION, ROW_FORMAT from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -130,9 +200,18 @@ events_statements_history_long 10 Dynamic events_statements_summary_by_account_by_event_name 10 Dynamic events_statements_summary_by_digest 10 Dynamic events_statements_summary_by_host_by_event_name 10 Dynamic +events_statements_summary_by_program 10 Dynamic events_statements_summary_by_thread_by_event_name 10 Dynamic events_statements_summary_by_user_by_event_name 10 Dynamic events_statements_summary_global_by_event_name 10 Dynamic +events_transactions_current 10 Dynamic +events_transactions_history 10 Dynamic +events_transactions_history_long 10 Dynamic +events_transactions_summary_by_account_by_event_name 10 Dynamic +events_transactions_summary_by_host_by_event_name 10 Dynamic +events_transactions_summary_by_thread_by_event_name 10 Dynamic +events_transactions_summary_by_user_by_event_name 10 Dynamic +events_transactions_summary_global_by_event_name 10 Dynamic events_waits_current 10 Dynamic events_waits_history 10 Dynamic events_waits_history_long 10 Dynamic @@ -145,14 +224,33 @@ events_waits_summary_global_by_event_name 10 Dynamic file_instances 10 Dynamic file_summary_by_event_name 10 Dynamic file_summary_by_instance 10 Dynamic +global_status 10 Dynamic +global_variables 10 Dynamic host_cache 10 Dynamic hosts 10 Fixed +memory_summary_by_account_by_event_name 10 Dynamic +memory_summary_by_host_by_event_name 10 Dynamic +memory_summary_by_thread_by_event_name 10 Dynamic +memory_summary_by_user_by_event_name 10 Dynamic +memory_summary_global_by_event_name 10 Dynamic +metadata_locks 10 Dynamic mutex_instances 10 Dynamic objects_summary_global_by_type 10 Dynamic performance_timers 10 Fixed +prepared_statements_instances 10 Dynamic +replication_applier_configuration 10 Fixed +replication_applier_status 10 Fixed +replication_applier_status_by_coordinator 10 Dynamic +replication_applier_status_by_worker 10 Dynamic +replication_connection_configuration 10 Dynamic +replication_connection_status 10 Dynamic +replication_group_member_stats 10 Dynamic +replication_group_members 10 Fixed rwlock_instances 10 Dynamic session_account_connect_attrs 10 Dynamic session_connect_attrs 10 Dynamic +session_status 10 Dynamic +session_variables 10 Dynamic setup_actors 10 Fixed setup_consumers 10 Dynamic setup_instruments 10 Dynamic @@ -161,67 +259,115 @@ setup_timers 10 Dynamic socket_instances 10 Dynamic socket_summary_by_event_name 10 Dynamic socket_summary_by_instance 10 Dynamic +status_by_account 10 Dynamic +status_by_host 10 Dynamic +status_by_thread 10 Dynamic +status_by_user 10 Dynamic +table_handles 10 Dynamic table_io_waits_summary_by_index_usage 10 Dynamic table_io_waits_summary_by_table 10 Dynamic table_lock_waits_summary_by_table 10 Dynamic threads 10 Dynamic +user_variables_by_thread 10 Dynamic users 10 Fixed +variables_by_thread 10 Dynamic +select lower(TABLE_NAME), AVG_ROW_LENGTH +from information_schema.tables +where TABLE_SCHEMA='performance_schema' and +lower(TABLE_NAME) not regexp '^variables|variables$|^status|session_status|global_status'; +lower(TABLE_NAME) AVG_ROW_LENGTH +accounts 0 +cond_instances 0 +events_stages_current 0 +events_stages_history 0 +events_stages_history_long 0 +events_stages_summary_by_account_by_event_name 0 +events_stages_summary_by_host_by_event_name 0 +events_stages_summary_by_thread_by_event_name 0 +events_stages_summary_by_user_by_event_name 0 +events_stages_summary_global_by_event_name 0 +events_statements_current 0 +events_statements_history 0 +events_statements_history_long 0 +events_statements_summary_by_account_by_event_name 0 +events_statements_summary_by_digest 0 +events_statements_summary_by_host_by_event_name 0 +events_statements_summary_by_program 0 +events_statements_summary_by_thread_by_event_name 0 +events_statements_summary_by_user_by_event_name 0 +events_statements_summary_global_by_event_name 0 +events_transactions_current 0 +events_transactions_history 0 +events_transactions_history_long 0 +events_transactions_summary_by_account_by_event_name 0 +events_transactions_summary_by_host_by_event_name 0 +events_transactions_summary_by_thread_by_event_name 0 +events_transactions_summary_by_user_by_event_name 0 +events_transactions_summary_global_by_event_name 0 +events_waits_current 0 +events_waits_history 0 +events_waits_history_long 0 +events_waits_summary_by_account_by_event_name 0 +events_waits_summary_by_host_by_event_name 0 +events_waits_summary_by_instance 0 +events_waits_summary_by_thread_by_event_name 0 +events_waits_summary_by_user_by_event_name 0 +events_waits_summary_global_by_event_name 0 +file_instances 0 +file_summary_by_event_name 0 +file_summary_by_instance 0 +host_cache 0 +hosts 0 +memory_summary_by_account_by_event_name 0 +memory_summary_by_host_by_event_name 0 +memory_summary_by_thread_by_event_name 0 +memory_summary_by_user_by_event_name 0 +memory_summary_global_by_event_name 0 +metadata_locks 0 +mutex_instances 0 +objects_summary_global_by_type 0 +performance_timers 0 +prepared_statements_instances 0 +replication_applier_configuration 0 +replication_applier_status 0 +replication_applier_status_by_coordinator 0 +replication_applier_status_by_worker 0 +replication_connection_configuration 0 +replication_connection_status 0 +replication_group_member_stats 0 +replication_group_members 0 +rwlock_instances 0 +session_account_connect_attrs 0 +session_connect_attrs 0 +setup_actors 0 +setup_consumers 0 +setup_instruments 0 +setup_objects 0 +setup_timers 0 +socket_instances 0 +socket_summary_by_event_name 0 +socket_summary_by_instance 0 +table_handles 0 +table_io_waits_summary_by_index_usage 0 +table_io_waits_summary_by_table 0 +table_lock_waits_summary_by_table 0 +threads 0 +user_variables_by_thread 0 +users 0 select lower(TABLE_NAME), TABLE_ROWS, AVG_ROW_LENGTH from information_schema.tables -where TABLE_SCHEMA='performance_schema'; +where TABLE_SCHEMA='performance_schema' and +lower(TABLE_NAME) regexp '^variables|variables$|^status|session_status|global_status'; lower(TABLE_NAME) TABLE_ROWS AVG_ROW_LENGTH -accounts 1000 0 -cond_instances 1000 0 -events_stages_current 1000 0 -events_stages_history 1000 0 -events_stages_history_long 10000 0 -events_stages_summary_by_account_by_event_name 1000 0 -events_stages_summary_by_host_by_event_name 1000 0 -events_stages_summary_by_thread_by_event_name 1000 0 -events_stages_summary_by_user_by_event_name 1000 0 -events_stages_summary_global_by_event_name 1000 0 -events_statements_current 1000 0 -events_statements_history 1000 0 -events_statements_history_long 10000 0 -events_statements_summary_by_account_by_event_name 1000 0 -events_statements_summary_by_digest 1000 0 -events_statements_summary_by_host_by_event_name 1000 0 -events_statements_summary_by_thread_by_event_name 1000 0 -events_statements_summary_by_user_by_event_name 1000 0 -events_statements_summary_global_by_event_name 1000 0 -events_waits_current 1000 0 -events_waits_history 1000 0 -events_waits_history_long 10000 0 -events_waits_summary_by_account_by_event_name 1000 0 -events_waits_summary_by_host_by_event_name 1000 0 -events_waits_summary_by_instance 1000 0 -events_waits_summary_by_thread_by_event_name 1000 0 -events_waits_summary_by_user_by_event_name 1000 0 -events_waits_summary_global_by_event_name 1000 0 -file_instances 1000 0 -file_summary_by_event_name 1000 0 -file_summary_by_instance 1000 0 -host_cache 1000 0 -hosts 1000 0 -mutex_instances 1000 0 -objects_summary_global_by_type 1000 0 -performance_timers 5 0 -rwlock_instances 1000 0 -session_account_connect_attrs 1000 0 -session_connect_attrs 1000 0 -setup_actors 1 0 -setup_consumers 12 0 -setup_instruments 1000 0 -setup_objects 4 0 -setup_timers 4 0 -socket_instances 1000 0 -socket_summary_by_event_name 1000 0 -socket_summary_by_instance 1000 0 -table_io_waits_summary_by_index_usage 1000 0 -table_io_waits_summary_by_table 1000 0 -table_lock_waits_summary_by_table 1000 0 -threads 1000 0 -users 1000 0 +global_status table_rows avg_row_len +global_variables table_rows avg_row_len +session_status table_rows avg_row_len +session_variables table_rows avg_row_len +status_by_account table_rows avg_row_len +status_by_host table_rows avg_row_len +status_by_thread table_rows avg_row_len +status_by_user table_rows avg_row_len +variables_by_thread table_rows avg_row_len select lower(TABLE_NAME), DATA_LENGTH, MAX_DATA_LENGTH from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -242,9 +388,18 @@ events_statements_history_long 0 0 events_statements_summary_by_account_by_event_name 0 0 events_statements_summary_by_digest 0 0 events_statements_summary_by_host_by_event_name 0 0 +events_statements_summary_by_program 0 0 events_statements_summary_by_thread_by_event_name 0 0 events_statements_summary_by_user_by_event_name 0 0 events_statements_summary_global_by_event_name 0 0 +events_transactions_current 0 0 +events_transactions_history 0 0 +events_transactions_history_long 0 0 +events_transactions_summary_by_account_by_event_name 0 0 +events_transactions_summary_by_host_by_event_name 0 0 +events_transactions_summary_by_thread_by_event_name 0 0 +events_transactions_summary_by_user_by_event_name 0 0 +events_transactions_summary_global_by_event_name 0 0 events_waits_current 0 0 events_waits_history 0 0 events_waits_history_long 0 0 @@ -257,14 +412,33 @@ events_waits_summary_global_by_event_name 0 0 file_instances 0 0 file_summary_by_event_name 0 0 file_summary_by_instance 0 0 +global_status 0 0 +global_variables 0 0 host_cache 0 0 hosts 0 0 +memory_summary_by_account_by_event_name 0 0 +memory_summary_by_host_by_event_name 0 0 +memory_summary_by_thread_by_event_name 0 0 +memory_summary_by_user_by_event_name 0 0 +memory_summary_global_by_event_name 0 0 +metadata_locks 0 0 mutex_instances 0 0 objects_summary_global_by_type 0 0 performance_timers 0 0 +prepared_statements_instances 0 0 +replication_applier_configuration 0 0 +replication_applier_status 0 0 +replication_applier_status_by_coordinator 0 0 +replication_applier_status_by_worker 0 0 +replication_connection_configuration 0 0 +replication_connection_status 0 0 +replication_group_member_stats 0 0 +replication_group_members 0 0 rwlock_instances 0 0 session_account_connect_attrs 0 0 session_connect_attrs 0 0 +session_status 0 0 +session_variables 0 0 setup_actors 0 0 setup_consumers 0 0 setup_instruments 0 0 @@ -273,11 +447,18 @@ setup_timers 0 0 socket_instances 0 0 socket_summary_by_event_name 0 0 socket_summary_by_instance 0 0 +status_by_account 0 0 +status_by_host 0 0 +status_by_thread 0 0 +status_by_user 0 0 +table_handles 0 0 table_io_waits_summary_by_index_usage 0 0 table_io_waits_summary_by_table 0 0 table_lock_waits_summary_by_table 0 0 threads 0 0 +user_variables_by_thread 0 0 users 0 0 +variables_by_thread 0 0 select lower(TABLE_NAME), INDEX_LENGTH, DATA_FREE, AUTO_INCREMENT from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -298,9 +479,18 @@ events_statements_history_long 0 0 NULL events_statements_summary_by_account_by_event_name 0 0 NULL events_statements_summary_by_digest 0 0 NULL events_statements_summary_by_host_by_event_name 0 0 NULL +events_statements_summary_by_program 0 0 NULL events_statements_summary_by_thread_by_event_name 0 0 NULL events_statements_summary_by_user_by_event_name 0 0 NULL events_statements_summary_global_by_event_name 0 0 NULL +events_transactions_current 0 0 NULL +events_transactions_history 0 0 NULL +events_transactions_history_long 0 0 NULL +events_transactions_summary_by_account_by_event_name 0 0 NULL +events_transactions_summary_by_host_by_event_name 0 0 NULL +events_transactions_summary_by_thread_by_event_name 0 0 NULL +events_transactions_summary_by_user_by_event_name 0 0 NULL +events_transactions_summary_global_by_event_name 0 0 NULL events_waits_current 0 0 NULL events_waits_history 0 0 NULL events_waits_history_long 0 0 NULL @@ -313,14 +503,33 @@ events_waits_summary_global_by_event_name 0 0 NULL file_instances 0 0 NULL file_summary_by_event_name 0 0 NULL file_summary_by_instance 0 0 NULL +global_status 0 0 NULL +global_variables 0 0 NULL host_cache 0 0 NULL hosts 0 0 NULL +memory_summary_by_account_by_event_name 0 0 NULL +memory_summary_by_host_by_event_name 0 0 NULL +memory_summary_by_thread_by_event_name 0 0 NULL +memory_summary_by_user_by_event_name 0 0 NULL +memory_summary_global_by_event_name 0 0 NULL +metadata_locks 0 0 NULL mutex_instances 0 0 NULL objects_summary_global_by_type 0 0 NULL performance_timers 0 0 NULL +prepared_statements_instances 0 0 NULL +replication_applier_configuration 0 0 NULL +replication_applier_status 0 0 NULL +replication_applier_status_by_coordinator 0 0 NULL +replication_applier_status_by_worker 0 0 NULL +replication_connection_configuration 0 0 NULL +replication_connection_status 0 0 NULL +replication_group_member_stats 0 0 NULL +replication_group_members 0 0 NULL rwlock_instances 0 0 NULL session_account_connect_attrs 0 0 NULL session_connect_attrs 0 0 NULL +session_status 0 0 NULL +session_variables 0 0 NULL setup_actors 0 0 NULL setup_consumers 0 0 NULL setup_instruments 0 0 NULL @@ -329,11 +538,18 @@ setup_timers 0 0 NULL socket_instances 0 0 NULL socket_summary_by_event_name 0 0 NULL socket_summary_by_instance 0 0 NULL +status_by_account 0 0 NULL +status_by_host 0 0 NULL +status_by_thread 0 0 NULL +status_by_user 0 0 NULL +table_handles 0 0 NULL table_io_waits_summary_by_index_usage 0 0 NULL table_io_waits_summary_by_table 0 0 NULL table_lock_waits_summary_by_table 0 0 NULL threads 0 0 NULL +user_variables_by_thread 0 0 NULL users 0 0 NULL +variables_by_thread 0 0 NULL select lower(TABLE_NAME), CREATE_TIME, UPDATE_TIME, CHECK_TIME from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -354,9 +570,18 @@ events_statements_history_long NULL NULL NULL events_statements_summary_by_account_by_event_name NULL NULL NULL events_statements_summary_by_digest NULL NULL NULL events_statements_summary_by_host_by_event_name NULL NULL NULL +events_statements_summary_by_program NULL NULL NULL events_statements_summary_by_thread_by_event_name NULL NULL NULL events_statements_summary_by_user_by_event_name NULL NULL NULL events_statements_summary_global_by_event_name NULL NULL NULL +events_transactions_current NULL NULL NULL +events_transactions_history NULL NULL NULL +events_transactions_history_long NULL NULL NULL +events_transactions_summary_by_account_by_event_name NULL NULL NULL +events_transactions_summary_by_host_by_event_name NULL NULL NULL +events_transactions_summary_by_thread_by_event_name NULL NULL NULL +events_transactions_summary_by_user_by_event_name NULL NULL NULL +events_transactions_summary_global_by_event_name NULL NULL NULL events_waits_current NULL NULL NULL events_waits_history NULL NULL NULL events_waits_history_long NULL NULL NULL @@ -369,14 +594,33 @@ events_waits_summary_global_by_event_name NULL NULL NULL file_instances NULL NULL NULL file_summary_by_event_name NULL NULL NULL file_summary_by_instance NULL NULL NULL +global_status NULL NULL NULL +global_variables NULL NULL NULL host_cache NULL NULL NULL hosts NULL NULL NULL +memory_summary_by_account_by_event_name NULL NULL NULL +memory_summary_by_host_by_event_name NULL NULL NULL +memory_summary_by_thread_by_event_name NULL NULL NULL +memory_summary_by_user_by_event_name NULL NULL NULL +memory_summary_global_by_event_name NULL NULL NULL +metadata_locks NULL NULL NULL mutex_instances NULL NULL NULL objects_summary_global_by_type NULL NULL NULL performance_timers NULL NULL NULL +prepared_statements_instances NULL NULL NULL +replication_applier_configuration NULL NULL NULL +replication_applier_status NULL NULL NULL +replication_applier_status_by_coordinator NULL NULL NULL +replication_applier_status_by_worker NULL NULL NULL +replication_connection_configuration NULL NULL NULL +replication_connection_status NULL NULL NULL +replication_group_member_stats NULL NULL NULL +replication_group_members NULL NULL NULL rwlock_instances NULL NULL NULL session_account_connect_attrs NULL NULL NULL session_connect_attrs NULL NULL NULL +session_status NULL NULL NULL +session_variables NULL NULL NULL setup_actors NULL NULL NULL setup_consumers NULL NULL NULL setup_instruments NULL NULL NULL @@ -385,11 +629,18 @@ setup_timers NULL NULL NULL socket_instances NULL NULL NULL socket_summary_by_event_name NULL NULL NULL socket_summary_by_instance NULL NULL NULL +status_by_account NULL NULL NULL +status_by_host NULL NULL NULL +status_by_thread NULL NULL NULL +status_by_user NULL NULL NULL +table_handles NULL NULL NULL table_io_waits_summary_by_index_usage NULL NULL NULL table_io_waits_summary_by_table NULL NULL NULL table_lock_waits_summary_by_table NULL NULL NULL threads NULL NULL NULL +user_variables_by_thread NULL NULL NULL users NULL NULL NULL +variables_by_thread NULL NULL NULL select lower(TABLE_NAME), TABLE_COLLATION, CHECKSUM from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -410,9 +661,18 @@ events_statements_history_long utf8_general_ci NULL events_statements_summary_by_account_by_event_name utf8_general_ci NULL events_statements_summary_by_digest utf8_general_ci NULL events_statements_summary_by_host_by_event_name utf8_general_ci NULL +events_statements_summary_by_program utf8_general_ci NULL events_statements_summary_by_thread_by_event_name utf8_general_ci NULL events_statements_summary_by_user_by_event_name utf8_general_ci NULL events_statements_summary_global_by_event_name utf8_general_ci NULL +events_transactions_current utf8_general_ci NULL +events_transactions_history utf8_general_ci NULL +events_transactions_history_long utf8_general_ci NULL +events_transactions_summary_by_account_by_event_name utf8_general_ci NULL +events_transactions_summary_by_host_by_event_name utf8_general_ci NULL +events_transactions_summary_by_thread_by_event_name utf8_general_ci NULL +events_transactions_summary_by_user_by_event_name utf8_general_ci NULL +events_transactions_summary_global_by_event_name utf8_general_ci NULL events_waits_current utf8_general_ci NULL events_waits_history utf8_general_ci NULL events_waits_history_long utf8_general_ci NULL @@ -425,14 +685,33 @@ events_waits_summary_global_by_event_name utf8_general_ci NULL file_instances utf8_general_ci NULL file_summary_by_event_name utf8_general_ci NULL file_summary_by_instance utf8_general_ci NULL +global_status utf8_general_ci NULL +global_variables utf8_general_ci NULL host_cache utf8_general_ci NULL hosts utf8_general_ci NULL +memory_summary_by_account_by_event_name utf8_general_ci NULL +memory_summary_by_host_by_event_name utf8_general_ci NULL +memory_summary_by_thread_by_event_name utf8_general_ci NULL +memory_summary_by_user_by_event_name utf8_general_ci NULL +memory_summary_global_by_event_name utf8_general_ci NULL +metadata_locks utf8_general_ci NULL mutex_instances utf8_general_ci NULL objects_summary_global_by_type utf8_general_ci NULL performance_timers utf8_general_ci NULL +prepared_statements_instances utf8_general_ci NULL +replication_applier_configuration utf8_general_ci NULL +replication_applier_status utf8_general_ci NULL +replication_applier_status_by_coordinator utf8_general_ci NULL +replication_applier_status_by_worker utf8_general_ci NULL +replication_connection_configuration utf8_general_ci NULL +replication_connection_status utf8_general_ci NULL +replication_group_member_stats utf8_general_ci NULL +replication_group_members utf8_general_ci NULL rwlock_instances utf8_general_ci NULL session_account_connect_attrs utf8_bin NULL session_connect_attrs utf8_bin NULL +session_status utf8_general_ci NULL +session_variables utf8_general_ci NULL setup_actors utf8_general_ci NULL setup_consumers utf8_general_ci NULL setup_instruments utf8_general_ci NULL @@ -441,11 +720,109 @@ setup_timers utf8_general_ci NULL socket_instances utf8_general_ci NULL socket_summary_by_event_name utf8_general_ci NULL socket_summary_by_instance utf8_general_ci NULL +status_by_account utf8_general_ci NULL +status_by_host utf8_general_ci NULL +status_by_thread utf8_general_ci NULL +status_by_user utf8_general_ci NULL +table_handles utf8_general_ci NULL table_io_waits_summary_by_index_usage utf8_general_ci NULL table_io_waits_summary_by_table utf8_general_ci NULL table_lock_waits_summary_by_table utf8_general_ci NULL threads utf8_general_ci NULL +user_variables_by_thread utf8_general_ci NULL users utf8_general_ci NULL +variables_by_thread utf8_general_ci NULL +select lower(TABLE_NAME), CREATE_OPTIONS +from information_schema.tables +where TABLE_SCHEMA='performance_schema'; +lower(TABLE_NAME) CREATE_OPTIONS +accounts +cond_instances +events_stages_current +events_stages_history +events_stages_history_long +events_stages_summary_by_account_by_event_name +events_stages_summary_by_host_by_event_name +events_stages_summary_by_thread_by_event_name +events_stages_summary_by_user_by_event_name +events_stages_summary_global_by_event_name +events_statements_current +events_statements_history +events_statements_history_long +events_statements_summary_by_account_by_event_name +events_statements_summary_by_digest +events_statements_summary_by_host_by_event_name +events_statements_summary_by_program +events_statements_summary_by_thread_by_event_name +events_statements_summary_by_user_by_event_name +events_statements_summary_global_by_event_name +events_transactions_current +events_transactions_history +events_transactions_history_long +events_transactions_summary_by_account_by_event_name +events_transactions_summary_by_host_by_event_name +events_transactions_summary_by_thread_by_event_name +events_transactions_summary_by_user_by_event_name +events_transactions_summary_global_by_event_name +events_waits_current +events_waits_history +events_waits_history_long +events_waits_summary_by_account_by_event_name +events_waits_summary_by_host_by_event_name +events_waits_summary_by_instance +events_waits_summary_by_thread_by_event_name +events_waits_summary_by_user_by_event_name +events_waits_summary_global_by_event_name +file_instances +file_summary_by_event_name +file_summary_by_instance +global_status +global_variables +host_cache +hosts +memory_summary_by_account_by_event_name +memory_summary_by_host_by_event_name +memory_summary_by_thread_by_event_name +memory_summary_by_user_by_event_name +memory_summary_global_by_event_name +metadata_locks +mutex_instances +objects_summary_global_by_type +performance_timers +prepared_statements_instances +replication_applier_configuration +replication_applier_status +replication_applier_status_by_coordinator +replication_applier_status_by_worker +replication_connection_configuration +replication_connection_status +replication_group_member_stats +replication_group_members +rwlock_instances +session_account_connect_attrs +session_connect_attrs +session_status +session_variables +setup_actors +setup_consumers +setup_instruments +setup_objects +setup_timers +socket_instances +socket_summary_by_event_name +socket_summary_by_instance +status_by_account +status_by_host +status_by_thread +status_by_user +table_handles +table_io_waits_summary_by_index_usage +table_io_waits_summary_by_table +table_lock_waits_summary_by_table +threads +user_variables_by_thread +users +variables_by_thread select lower(TABLE_NAME), TABLE_COMMENT from information_schema.tables where TABLE_SCHEMA='performance_schema'; @@ -466,9 +843,18 @@ events_statements_history_long events_statements_summary_by_account_by_event_name events_statements_summary_by_digest events_statements_summary_by_host_by_event_name +events_statements_summary_by_program events_statements_summary_by_thread_by_event_name events_statements_summary_by_user_by_event_name events_statements_summary_global_by_event_name +events_transactions_current +events_transactions_history +events_transactions_history_long +events_transactions_summary_by_account_by_event_name +events_transactions_summary_by_host_by_event_name +events_transactions_summary_by_thread_by_event_name +events_transactions_summary_by_user_by_event_name +events_transactions_summary_global_by_event_name events_waits_current events_waits_history events_waits_history_long @@ -481,14 +867,33 @@ events_waits_summary_global_by_event_name file_instances file_summary_by_event_name file_summary_by_instance +global_status +global_variables host_cache hosts +memory_summary_by_account_by_event_name +memory_summary_by_host_by_event_name +memory_summary_by_thread_by_event_name +memory_summary_by_user_by_event_name +memory_summary_global_by_event_name +metadata_locks mutex_instances objects_summary_global_by_type performance_timers +prepared_statements_instances +replication_applier_configuration +replication_applier_status +replication_applier_status_by_coordinator +replication_applier_status_by_worker +replication_connection_configuration +replication_connection_status +replication_group_member_stats +replication_group_members rwlock_instances session_account_connect_attrs session_connect_attrs +session_status +session_variables setup_actors setup_consumers setup_instruments @@ -497,8 +902,15 @@ setup_timers socket_instances socket_summary_by_event_name socket_summary_by_instance +status_by_account +status_by_host +status_by_thread +status_by_user +table_handles table_io_waits_summary_by_index_usage table_io_waits_summary_by_table table_lock_waits_summary_by_table threads +user_variables_by_thread users +variables_by_thread diff --git a/mysql-test/suite/perfschema/r/innodb_table_io.result b/mysql-test/suite/perfschema/r/innodb_table_io.result index 460518aeb65..2734a4ec79b 100644 --- a/mysql-test/suite/perfschema/r/innodb_table_io.result +++ b/mysql-test/suite/perfschema/r/innodb_table_io.result @@ -71,48 +71,40 @@ where event_name like 'wait/io/table/%' and object_schema in ("test") order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 3 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -122,9 +114,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -134,6 +132,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/io_cache.result b/mysql-test/suite/perfschema/r/io_cache.result new file mode 100644 index 00000000000..48988cb3a05 --- /dev/null +++ b/mysql-test/suite/perfschema/r/io_cache.result @@ -0,0 +1,91 @@ + +## Connection default + +USE test; +DROP TABLE IF EXISTS t1; +SELECT @@global.binlog_cache_size; +@@global.binlog_cache_size +4096 +SELECT @@global.binlog_stmt_cache_size; +@@global.binlog_stmt_cache_size +4096 +SELECT * FROM performance_schema.setup_instruments WHERE name LIKE "%file/sql/io_cache%"; +NAME ENABLED TIMED +wait/io/file/sql/io_cache YES YES + +## Connection con1 + +USE test; +CREATE TABLE t1 (s1 INT, s2 VARCHAR(4096)); +SET SESSION AUTOCOMMIT = 0; +START TRANSACTION; +INSERT INTO t1 VALUES (1,' +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +'); +INSERT INTO t1 VALUES (2,' +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +'); +INSERT INTO t1 VALUES (3,' +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +'); +INSERT INTO t1 VALUES (4,' +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +'); +INSERT INTO t1 VALUES (5,' +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +'); +INSERT INTO t1 VALUES (6,' +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +'); +INSERT INTO t1 VALUES (7,' +gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg +gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg +gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg +gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg +gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg +'); +INSERT INTO t1 VALUES (8,' +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +'); +COMMIT; +SELECT COUNT(*) FROM t1; +COUNT(*) +8 + +## Connection default + +SELECT COUNT(*) FROM test.t1; +COUNT(*) +8 +SELECT COUNT(*) FROM performance_schema.file_summary_by_event_name WHERE event_name LIKE "%io_cache%"; +COUNT(*) +1 +DROP TABLE t1; diff --git a/mysql-test/suite/perfschema/r/max_program_zero.result b/mysql-test/suite/perfschema/r/max_program_zero.result new file mode 100644 index 00000000000..a041a6575ef --- /dev/null +++ b/mysql-test/suite/perfschema/r/max_program_zero.result @@ -0,0 +1,317 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 0 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 1 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_program_instances"; +Variable_name Value +performance_schema_max_program_instances 0 +show global variables like "performance_schema_max_statement_stack"; +Variable_name Value +performance_schema_max_statement_stack 1 +##################### +# Setup +##################### +# SET-UP +CREATE DATABASE nested_sp; +USE nested_sp; +CREATE TABLE t1( +id CHAR(16) NOT NULL DEFAULT '', +data INT NOT NULL +); +CREATE TABLE t2( +n INT UNSIGNED NOT NULL, +f BIGINT UNSIGNED +); +############################ +# Creating Stored Programs # +############################ +CREATE PROCEDURE c1(x INT) +CALL c2("c", x)| +CREATE PROCEDURE c2(s CHAR(16), x INT) +CALL c3(x, s)| +CREATE PROCEDURE c3(x INT, s CHAR(16)) +CALL c4("level", x, s)| +CREATE PROCEDURE c4(l CHAR(8), x INT, s CHAR(16)) +INSERT INTO t1 VALUES (concat(l,s), x)| +CREATE PROCEDURE iotest(x1 CHAR(16), x2 CHAR(16), y INT) +BEGIN +CALL inc2(x2, y); +INSERT INTO t1 VALUES (x1, y); +END| +CREATE PROCEDURE inc2(x CHAR(16), y INT) +BEGIN +CALL inc(y); +INSERT INTO t1 VALUES (x, y); +END| +CREATE PROCEDURE inc(inout io INT) +SET io = io + 1| +CREATE FUNCTION mul(x INT, y INT) RETURNS INT +RETURN x*y| +CREATE FUNCTION inc(i INT) RETURNS INT +RETURN i+1| +CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN +DECLARE f BIGINT UNSIGNED DEFAULT 1; +WHILE n > 1 DO +SET f = f * n; +SET n = n - 1; +END WHILE; +RETURN f; +END| +CREATE FUNCTION fun(i INT, u INT UNSIGNED) RETURNS DOUBLE +RETURN mul(inc(i), fac(u))| +CREATE PROCEDURE ifac(n INT UNSIGNED) +BEGIN +DECLARE i BIGINT UNSIGNED DEFAULT 1; +IF n > 20 THEN +SET n = 20; # bigint overflow otherwise +END IF; +WHILE i <= n DO +BEGIN +INSERT INTO t2 VALUES (i, fac(i)); +SET i = i + 1; +END; +END WHILE; +END| +CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW +CALL ifac(10)| +TRUNCATE performance_schema.events_statements_summary_by_program; +##################### +# Executing Queries +##################### +##################### +# Executing queries # +##################### +CALL c1(42); +SELECT * FROM t1; +id data +levelc 42 +DELETE FROM t1; +CALL iotest("io1", "io2", 1); +SELECT * FROM t1 ORDER BY data DESC; +id data +io2 2 +io1 1 +DELETE FROM t1; +SELECT fun(6,10); +fun(6,10) +25401600 +INSERT INTO t1 VALUES (20,13); +SELECT * FROM t2; +n f +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +########################################### +# Quering PS statement summary table # +########################################### +SELECT OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA +FROM performance_schema.events_statements_summary_by_program; +OBJECT_TYPE OBJECT_NAME OBJECT_SCHEMA +SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_program; +COUNT(*) +0 +##################### +# Cleanup +##################### +DROP PROCEDURE c4; +DROP PROCEDURE c3; +DROP PROCEDURE c2; +DROP PROCEDURE c1; +DROP PROCEDURE inc; +DROP PROCEDURE inc2; +DROP PROCEDURE iotest; +DROP FUNCTION mul; +DROP FUNCTION inc; +DROP FUNCTION fac; +DROP FUNCTION fun; +DROP PROCEDURE ifac; +DROP TRIGGER trg; +DROP TABLE t1,t2; +DROP DATABASE nested_sp; diff --git a/mysql-test/suite/perfschema/r/mdl_func.result b/mysql-test/suite/perfschema/r/mdl_func.result new file mode 100644 index 00000000000..c58dcda625f --- /dev/null +++ b/mysql-test/suite/perfschema/r/mdl_func.result @@ -0,0 +1,961 @@ +UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES'; +UPDATE performance_schema.setup_instruments SET enabled = 'YES' +WHERE name in ('wait/io/table/sql/handler', +'wait/lock/table/sql/handler', +'wait/lock/metadata/sql/mdl'); +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +grant ALL on *.* to user1@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +grant ALL on *.* to user2@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +insert into performance_schema.setup_objects (object_type, object_schema, object_name, enabled, timed) +values ('TABLE', 'mtr', '%', 'NO', 'NO'); +# Switch to (con1, localhost, user1, , ) +# Switch to (con2, localhost, user2, , ) +drop function if exists thread_id_name; +create function thread_id_name(THREAD_ID int) +returns varchar(16) +begin +if (THREAD_ID IS NULL) +then +return NULL; +end if; +if (THREAD_ID = @user1_tid) +then +return "USER1"; +end if; +if (THREAD_ID = @user2_tid) +then +return "USER2"; +end if; +return "OTHER"; +end; +// +select thread_id_name(NULL); +thread_id_name(NULL) +NULL +select thread_id_name(@user1_tid); +thread_id_name(@user1_tid) +USER1 +select thread_id_name(@user2_tid); +thread_id_name(@user2_tid) +USER2 +prepare dump_metadata_locks from +"select OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, + LOCK_TYPE, LOCK_DURATION, LOCK_STATUS, + thread_id_name(OWNER_THREAD_ID) as OWNER_THREAD_ID + from performance_schema.metadata_locks + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, + LOCK_TYPE, LOCK_DURATION, LOCK_STATUS, OWNER_THREAD_ID;"; +prepare dump_table_handles from +"select OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, + INTERNAL_LOCK, EXTERNAL_LOCK, + thread_id_name(OWNER_THREAD_ID) as OWNER_THREAD_ID + from performance_schema.table_handles + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, + INTERNAL_LOCK, EXTERNAL_LOCK, OWNER_THREAD_ID;"; +prepare dump_waits_current from +"select thread_id_name(THREAD_ID) as THREAD_ID, + EVENT_NAME, + TIMER_START is not NULL as TIMER_START_SET, + TIMER_END is not NULL as TIMER_END_SET, + OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, + OPERATION + from performance_schema.events_waits_current + where event_name = \'wait/lock/metadata/sql/mdl\';"; +prepare dump_waits_history_long from +"select thread_id_name(THREAD_ID) as THREAD_ID, + EVENT_NAME, + TIMER_START is not NULL as TIMER_START_SET, + TIMER_END is not NULL as TIMER_END_SET, + OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, + OPERATION + from performance_schema.events_waits_history_long + where event_name = \'wait/lock/metadata/sql/mdl\';"; +truncate table performance_schema.events_statements_summary_by_digest; +flush status; +flush tables; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value'); +INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5), (6), (7), (8); +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; +BEGIN; +SELECT * from t1 where id=1; +id b +1 initial value +"---- Marker 1 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER1 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +execute dump_waits_current; +execute dump_waits_history_long; +COMMIT; +"---- Marker 2 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +execute dump_waits_current; +execute dump_waits_history_long; +BEGIN; +UPDATE t1 set b="new value" where id=2; +"---- Marker 3 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE SHARED_WRITE +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER1 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +execute dump_waits_current; +execute dump_waits_history_long; +BEGIN; +DROP TABLE t1;; +"---- Marker 4 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE GLOBAL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +LOCK_TYPE INTENTION_EXCLUSIVE +LOCK_DURATION STATEMENT +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER2 +OBJECT_TYPE SCHEMA +OBJECT_SCHEMA test +OBJECT_NAME NULL +LOCK_TYPE INTENTION_EXCLUSIVE +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER2 +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE EXCLUSIVE +LOCK_DURATION TRANSACTION +LOCK_STATUS PENDING +OWNER_THREAD_ID USER2 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE SHARED_WRITE +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER1 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +execute dump_waits_current; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INDEX_NAME NULL +OPERATION metadata lock +execute dump_waits_history_long; +COMMIT; +"---- Marker 5 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +execute dump_table_handles; +execute dump_waits_current; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INDEX_NAME NULL +OPERATION metadata lock +execute dump_waits_history_long; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INDEX_NAME NULL +OPERATION metadata lock +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; +create table t1 (a int); +LOCK TABLE t1 READ; +"---- Marker 6 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE SHARED_READ_ONLY +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER1 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK READ EXTERNAL +OWNER_THREAD_ID USER1 +execute dump_waits_current; +execute dump_waits_history_long; +LOCK TABLE t1 write;; +"---- Marker 7 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE GLOBAL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +LOCK_TYPE INTENTION_EXCLUSIVE +LOCK_DURATION STATEMENT +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER2 +OBJECT_TYPE SCHEMA +OBJECT_SCHEMA test +OBJECT_NAME NULL +LOCK_TYPE INTENTION_EXCLUSIVE +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER2 +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE SHARED_NO_READ_WRITE +LOCK_DURATION TRANSACTION +LOCK_STATUS PENDING +OWNER_THREAD_ID USER2 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE SHARED_READ_ONLY +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER1 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK READ EXTERNAL +OWNER_THREAD_ID USER1 +execute dump_waits_current; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INDEX_NAME NULL +OPERATION metadata lock +execute dump_waits_history_long; +UNLOCK TABLES; +"---- Marker 8 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE GLOBAL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +LOCK_TYPE INTENTION_EXCLUSIVE +LOCK_DURATION STATEMENT +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER2 +OBJECT_TYPE SCHEMA +OBJECT_SCHEMA test +OBJECT_NAME NULL +LOCK_TYPE INTENTION_EXCLUSIVE +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER2 +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE SHARED_NO_READ_WRITE +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER2 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK WRITE EXTERNAL +OWNER_THREAD_ID USER2 +execute dump_waits_current; +execute dump_waits_history_long; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INDEX_NAME NULL +OPERATION metadata lock +LOCK TABLES t1 read;; +"---- Marker 9 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE GLOBAL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +LOCK_TYPE INTENTION_EXCLUSIVE +LOCK_DURATION STATEMENT +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER2 +OBJECT_TYPE SCHEMA +OBJECT_SCHEMA test +OBJECT_NAME NULL +LOCK_TYPE INTENTION_EXCLUSIVE +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER2 +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE SHARED_NO_READ_WRITE +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER2 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE SHARED_READ_ONLY +LOCK_DURATION TRANSACTION +LOCK_STATUS PENDING +OWNER_THREAD_ID USER1 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK WRITE EXTERNAL +OWNER_THREAD_ID USER2 +execute dump_waits_current; +THREAD_ID USER1 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INDEX_NAME NULL +OPERATION metadata lock +execute dump_waits_history_long; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INDEX_NAME NULL +OPERATION metadata lock +UNLOCK TABLES; +"---- Marker 10 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE SHARED_READ_ONLY +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER1 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK READ EXTERNAL +OWNER_THREAD_ID USER1 +execute dump_waits_current; +execute dump_waits_history_long; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INDEX_NAME NULL +OPERATION metadata lock +THREAD_ID USER1 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INDEX_NAME NULL +OPERATION metadata lock +UNLOCK TABLES; +"---- Marker 11 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +execute dump_waits_current; +execute dump_waits_history_long; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INDEX_NAME NULL +OPERATION metadata lock +THREAD_ID USER1 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INDEX_NAME NULL +OPERATION metadata lock +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; +BEGIN; +UPDATE LOW_PRIORITY t1 SET a=8; +"---- Marker 12 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +LOCK_TYPE SHARED_WRITE_LOW_PRIO +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER1 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +execute dump_waits_current; +execute dump_waits_history_long; +COMMIT; +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; +SELECT GET_LOCK('test', 0); +GET_LOCK('test', 0) +1 +"---- Marker 13 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE USER LEVEL LOCK +OBJECT_SCHEMA NULL +OBJECT_NAME test +LOCK_TYPE EXCLUSIVE +LOCK_DURATION EXPLICIT +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER1 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +execute dump_waits_current; +execute dump_waits_history_long; +SELECT GET_LOCK('test', 120);; +"---- Marker 14 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE USER LEVEL LOCK +OBJECT_SCHEMA NULL +OBJECT_NAME test +LOCK_TYPE EXCLUSIVE +LOCK_DURATION EXPLICIT +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER1 +OBJECT_TYPE USER LEVEL LOCK +OBJECT_SCHEMA NULL +OBJECT_NAME test +LOCK_TYPE EXCLUSIVE +LOCK_DURATION EXPLICIT +LOCK_STATUS PENDING +OWNER_THREAD_ID USER2 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +execute dump_waits_current; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE USER LEVEL LOCK +OBJECT_SCHEMA NULL +OBJECT_NAME test +INDEX_NAME NULL +OPERATION metadata lock +execute dump_waits_history_long; +SELECT RELEASE_LOCK('test'); +RELEASE_LOCK('test') +1 +GET_LOCK('test', 120) +1 +"---- Marker 15 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE USER LEVEL LOCK +OBJECT_SCHEMA NULL +OBJECT_NAME test +LOCK_TYPE EXCLUSIVE +LOCK_DURATION EXPLICIT +LOCK_STATUS GRANTED +OWNER_THREAD_ID USER2 +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +execute dump_waits_current; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE USER LEVEL LOCK +OBJECT_SCHEMA NULL +OBJECT_NAME test +INDEX_NAME NULL +OPERATION metadata lock +execute dump_waits_history_long; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE USER LEVEL LOCK +OBJECT_SCHEMA NULL +OBJECT_NAME test +INDEX_NAME NULL +OPERATION metadata lock +SELECT RELEASE_LOCK('test'); +RELEASE_LOCK('test') +1 +"---- Marker 16 ----" +execute dump_metadata_locks; +OBJECT_TYPE FUNCTION +OBJECT_SCHEMA test +OBJECT_NAME thread_id_name +LOCK_TYPE SHARED +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA performance_schema +OBJECT_NAME metadata_locks +LOCK_TYPE SHARED_READ +LOCK_DURATION TRANSACTION +LOCK_STATUS GRANTED +OWNER_THREAD_ID OTHER +execute dump_table_handles; +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +OBJECT_TYPE TABLE +OBJECT_SCHEMA test +OBJECT_NAME t1 +INTERNAL_LOCK NULL +EXTERNAL_LOCK NULL +OWNER_THREAD_ID OTHER +execute dump_waits_current; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE USER LEVEL LOCK +OBJECT_SCHEMA NULL +OBJECT_NAME test +INDEX_NAME NULL +OPERATION metadata lock +execute dump_waits_history_long; +THREAD_ID USER2 +EVENT_NAME wait/lock/metadata/sql/mdl +TIMER_START_SET 1 +TIMER_END_SET 1 +OBJECT_TYPE USER LEVEL LOCK +OBJECT_SCHEMA NULL +OBJECT_NAME test +INDEX_NAME NULL +OPERATION metadata lock +drop table t1; +UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; +revoke all privileges, grant option from user1@localhost; +revoke all privileges, grant option from user2@localhost; +drop user user1@localhost; +drop user user2@localhost; +drop function thread_id_name; +drop prepare dump_metadata_locks; +drop prepare dump_table_handles; +drop prepare dump_waits_current; +drop prepare dump_waits_history_long; +delete from performance_schema.setup_objects +where object_schema='mtr'; +show global status like "performance_schema%"; +Variable_name Value +Performance_schema_accounts_lost 0 +Performance_schema_cond_classes_lost 0 +Performance_schema_cond_instances_lost 0 +Performance_schema_digest_lost 0 +Performance_schema_file_classes_lost 0 +Performance_schema_file_handles_lost 0 +Performance_schema_file_instances_lost 0 +Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 +Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 +Performance_schema_mutex_classes_lost 0 +Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 +Performance_schema_rwlock_classes_lost 0 +Performance_schema_rwlock_instances_lost 0 +Performance_schema_session_connect_attrs_lost 0 +Performance_schema_socket_classes_lost 0 +Performance_schema_socket_instances_lost 0 +Performance_schema_stage_classes_lost 0 +Performance_schema_statement_classes_lost 0 +Performance_schema_table_handles_lost 0 +Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 +Performance_schema_thread_classes_lost 0 +Performance_schema_thread_instances_lost 0 +Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/memory_aggregate.result b/mysql-test/suite/perfschema/r/memory_aggregate.result new file mode 100644 index 00000000000..25bb9e90140 --- /dev/null +++ b/mysql-test/suite/perfschema/r/memory_aggregate.result @@ -0,0 +1,5586 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +show global status like "performance_schema_memory_classes_lost"; +Variable_name Value +Performance_schema_memory_classes_lost 0 +"================== Step 1 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 1 +"================== con1 connected ==================" +"================== Step 2 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 2 +set GLOBAL query_cache_size=1000*1024; +select get_lock("marker_1", 10); +get_lock("marker_1", 10) +1 +select release_lock("marker_1"); +release_lock("marker_1") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con1 marker ==================" +"================== Step 3 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 2 +"================== con2 connected ==================" +"================== Step 4 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +set GLOBAL query_cache_size=2000*1024; +select get_lock("marker_2", 10); +get_lock("marker_2", 10) +1 +select release_lock("marker_2"); +release_lock("marker_2") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con2 marker ==================" +"================== Step 5 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +truncate table performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 5b ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +"================== con3 connected ==================" +"================== Step 6 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 4 +set GLOBAL query_cache_size=500*1024; +select get_lock("marker_3", 10); +get_lock("marker_3", 10) +1 +select release_lock("marker_3"); +release_lock("marker_3") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con3 marker ==================" +"================== Step 7 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 4 +"================== con4/con5 (both user4) connected ==================" +"================== Step 8 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 2 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +user4 2 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 6 6 +set GLOBAL query_cache_size=4000*1024; +select get_lock("marker_4", 10); +get_lock("marker_4", 10) +1 +select release_lock("marker_4"); +release_lock("marker_4") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +select get_lock("marker_5", 10); +get_lock("marker_5", 10) +1 +select release_lock("marker_5"); +release_lock("marker_5") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con4/con5 marker ==================" +"================== Step 9 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 6 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 14006 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 6 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 14006 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 2 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +user4 2 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 6 6 +"================== con1/con5 disconnected ==================" +"================== Step 10 ==================" +call dump_thread(); +username user1 +status not found +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 1 1 +user3 1 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 6 +"================== con2 disconnected ==================" +"================== Step 11 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 1 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 1 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 6 +"================== con3 disconnected ==================" +"================== Step 12 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 6 +"================== con4 disconnected ==================" +"================== Step 13 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 14 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_account_by_event_name; +"================== MEMORY_BY_ACCOUNT truncated ==================" +"================== Step 15 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_user_by_event_name; +"================== MEMORY_BY_USER truncated ==================" +"================== Step 16 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_host_by_event_name; +"================== MEMORY_BY_HOST truncated ==================" +"================== Step 17 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_global_by_event_name; +"================== MEMORY_GLOBAL truncated ==================" +"================== Step 18 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.accounts; +"================== ACCOUNTS truncated ==================" +"================== Step 19 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.users; +"================== USERS truncated ==================" +"================== Step 20 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.hosts; +"================== HOSTS truncated ==================" +"================== Step 21 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 1 diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_32bit.result b/mysql-test/suite/perfschema/r/memory_aggregate_32bit.result new file mode 100644 index 00000000000..d2e2fd6c285 --- /dev/null +++ b/mysql-test/suite/perfschema/r/memory_aggregate_32bit.result @@ -0,0 +1,5586 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +show global status like "performance_schema_memory_classes_lost"; +Variable_name Value +Performance_schema_memory_classes_lost 0 +"================== Step 1 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 1 +"================== con1 connected ==================" +"================== Step 2 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 2 +set GLOBAL query_cache_size=1000*1024; +select get_lock("marker_1", 10); +get_lock("marker_1", 10) +1 +select release_lock("marker_1"); +release_lock("marker_1") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con1 marker ==================" +"================== Step 3 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1032192 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1032192 +HIGH_NUMBER_OF_BYTES_USED 1032192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 2 +"================== con2 connected ==================" +"================== Step 4 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1032192 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1032192 +HIGH_NUMBER_OF_BYTES_USED 1032192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +set GLOBAL query_cache_size=2000*1024; +select get_lock("marker_2", 10); +get_lock("marker_2", 10) +1 +select release_lock("marker_2"); +release_lock("marker_2") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con2 marker ==================" +"================== Step 5 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3088384 +SUM_NUMBER_OF_BYTES_FREE 1032192 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2056192 +HIGH_NUMBER_OF_BYTES_USED 2056192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +truncate table performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 5b ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 128 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 128 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 128 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 128 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 128 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 128 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3088384 +SUM_NUMBER_OF_BYTES_FREE 1032192 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2056192 +HIGH_NUMBER_OF_BYTES_USED 2056192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +"================== con3 connected ==================" +"================== Step 6 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 128 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 128 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 128 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 128 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 128 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 128 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3088384 +SUM_NUMBER_OF_BYTES_FREE 1032192 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2056192 +HIGH_NUMBER_OF_BYTES_USED 2056192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 4 +set GLOBAL query_cache_size=500*1024; +select get_lock("marker_3", 10); +get_lock("marker_3", 10) +1 +select release_lock("marker_3"); +release_lock("marker_3") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con3 marker ==================" +"================== Step 7 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 128 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 128 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 128 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 128 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 128 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 128 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 408 +SUM_NUMBER_OF_BYTES_FREE 24 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 384 +HIGH_NUMBER_OF_BYTES_USED 408 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3608576 +SUM_NUMBER_OF_BYTES_FREE 3088384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 520192 +HIGH_NUMBER_OF_BYTES_USED 2056192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 408 +SUM_NUMBER_OF_BYTES_FREE 24 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 384 +HIGH_NUMBER_OF_BYTES_USED 408 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 4 +"================== con4/con5 (both user4) connected ==================" +"================== Step 8 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 128 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 128 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 128 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 128 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 128 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 128 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 408 +SUM_NUMBER_OF_BYTES_FREE 24 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 384 +HIGH_NUMBER_OF_BYTES_USED 408 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3608576 +SUM_NUMBER_OF_BYTES_FREE 3088384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 520192 +HIGH_NUMBER_OF_BYTES_USED 2056192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 408 +SUM_NUMBER_OF_BYTES_FREE 24 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 384 +HIGH_NUMBER_OF_BYTES_USED 408 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 2 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +user4 2 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 6 6 +set GLOBAL query_cache_size=4000*1024; +select get_lock("marker_4", 10); +get_lock("marker_4", 10) +1 +select release_lock("marker_4"); +release_lock("marker_4") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +select get_lock("marker_5", 10); +get_lock("marker_5", 10) +1 +select release_lock("marker_5"); +release_lock("marker_5") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con4/con5 marker ==================" +"================== Step 9 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 128 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 128 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 128 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 128 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 128 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 128 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 6 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 14006 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 6 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 14006 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 40 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 640 +HIGH_NUMBER_OF_BYTES_USED 680 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7712768 +SUM_NUMBER_OF_BYTES_FREE 3608576 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 40 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 640 +HIGH_NUMBER_OF_BYTES_USED 680 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 2 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +user4 2 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 6 6 +"================== con1/con5 disconnected ==================" +"================== Step 10 ==================" +call dump_thread(); +username user1 +status not found +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 128 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 128 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 128 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 144 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 144 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 296 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 384 +HIGH_NUMBER_OF_BYTES_USED 680 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7712768 +SUM_NUMBER_OF_BYTES_FREE 3608576 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 296 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 384 +HIGH_NUMBER_OF_BYTES_USED 680 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 1 1 +user3 1 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 6 +"================== con2 disconnected ==================" +"================== Step 11 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 144 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 144 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 424 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 680 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7712768 +SUM_NUMBER_OF_BYTES_FREE 3608576 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 424 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 680 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 1 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 1 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 6 +"================== con3 disconnected ==================" +"================== Step 12 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 8 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 136 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 144 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 144 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 552 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 680 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7712768 +SUM_NUMBER_OF_BYTES_FREE 3608576 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 552 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 128 +HIGH_NUMBER_OF_BYTES_USED 680 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 6 +"================== con4 disconnected ==================" +"================== Step 13 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 680 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 680 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7712768 +SUM_NUMBER_OF_BYTES_FREE 3608576 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 680 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 680 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 14 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 680 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 680 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7712768 +SUM_NUMBER_OF_BYTES_FREE 3608576 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 680 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 680 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_account_by_event_name; +"================== MEMORY_BY_ACCOUNT truncated ==================" +"================== Step 15 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 136 +SUM_NUMBER_OF_BYTES_FREE 136 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 136 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 680 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 680 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7712768 +SUM_NUMBER_OF_BYTES_FREE 3608576 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 680 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 680 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_user_by_event_name; +"================== MEMORY_BY_USER truncated ==================" +"================== Step 16 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 680 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 680 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7712768 +SUM_NUMBER_OF_BYTES_FREE 3608576 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 680 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 680 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_host_by_event_name; +"================== MEMORY_BY_HOST truncated ==================" +"================== Step 17 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7712768 +SUM_NUMBER_OF_BYTES_FREE 3608576 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 680 +SUM_NUMBER_OF_BYTES_FREE 680 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 680 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_global_by_event_name; +"================== MEMORY_GLOBAL truncated ==================" +"================== Step 18 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4104192 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4104192 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.accounts; +"================== ACCOUNTS truncated ==================" +"================== Step 19 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4104192 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4104192 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.users; +"================== USERS truncated ==================" +"================== Step 20 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4104192 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4104192 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.hosts; +"================== HOSTS truncated ==================" +"================== Step 21 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4104192 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4104192 +CURRENT_NUMBER_OF_BYTES_USED 4104192 +HIGH_NUMBER_OF_BYTES_USED 4104192 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 1 diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_a.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_a.result new file mode 100644 index 00000000000..e7d70167c8f --- /dev/null +++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_a.result @@ -0,0 +1,3998 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +show global status like "performance_schema_memory_classes_lost"; +Variable_name Value +Performance_schema_memory_classes_lost 0 +"================== Step 1 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 1 +"================== con1 connected ==================" +"================== Step 2 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 2 +set GLOBAL query_cache_size=1000*1024; +select get_lock("marker_1", 10); +get_lock("marker_1", 10) +1 +select release_lock("marker_1"); +release_lock("marker_1") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con1 marker ==================" +"================== Step 3 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 2 +"================== con2 connected ==================" +"================== Step 4 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +set GLOBAL query_cache_size=2000*1024; +select get_lock("marker_2", 10); +get_lock("marker_2", 10) +1 +select release_lock("marker_2"); +release_lock("marker_2") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con2 marker ==================" +"================== Step 5 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +truncate table performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 5b ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +"================== con3 connected ==================" +"================== Step 6 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 4 +set GLOBAL query_cache_size=500*1024; +select get_lock("marker_3", 10); +get_lock("marker_3", 10) +1 +select release_lock("marker_3"); +release_lock("marker_3") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con3 marker ==================" +"================== Step 7 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 4 +"================== con4/con5 (both user4) connected ==================" +"================== Step 8 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +user4 2 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 6 6 +set GLOBAL query_cache_size=4000*1024; +select get_lock("marker_4", 10); +get_lock("marker_4", 10) +1 +select release_lock("marker_4"); +release_lock("marker_4") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +select get_lock("marker_5", 10); +get_lock("marker_5", 10) +1 +select release_lock("marker_5"); +release_lock("marker_5") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con4/con5 marker ==================" +"================== Step 9 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 6 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 14006 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +user4 2 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 6 6 +"================== con1/con5 disconnected ==================" +"================== Step 10 ==================" +call dump_thread(); +username user1 +status not found +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 1 1 +user3 1 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 6 +"================== con2 disconnected ==================" +"================== Step 11 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 1 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 6 +"================== con3 disconnected ==================" +"================== Step 12 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 6 +"================== con4 disconnected ==================" +"================== Step 13 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 14 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_account_by_event_name; +"================== MEMORY_BY_ACCOUNT truncated ==================" +"================== Step 15 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_user_by_event_name; +"================== MEMORY_BY_USER truncated ==================" +"================== Step 16 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_host_by_event_name; +"================== MEMORY_BY_HOST truncated ==================" +"================== Step 17 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_global_by_event_name; +"================== MEMORY_GLOBAL truncated ==================" +"================== Step 18 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.accounts; +"================== ACCOUNTS truncated ==================" +"================== Step 19 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.users; +"================== USERS truncated ==================" +"================== Step 20 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.hosts; +"================== HOSTS truncated ==================" +"================== Step 21 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 1 diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_h.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_h.result new file mode 100644 index 00000000000..4d1f7521268 --- /dev/null +++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_h.result @@ -0,0 +1,3448 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +show global status like "performance_schema_memory_classes_lost"; +Variable_name Value +Performance_schema_memory_classes_lost 0 +"================== Step 1 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con1 connected ==================" +"================== Step 2 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=1000*1024; +select get_lock("marker_1", 10); +get_lock("marker_1", 10) +1 +select release_lock("marker_1"); +release_lock("marker_1") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con1 marker ==================" +"================== Step 3 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con2 connected ==================" +"================== Step 4 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=2000*1024; +select get_lock("marker_2", 10); +get_lock("marker_2", 10) +1 +select release_lock("marker_2"); +release_lock("marker_2") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con2 marker ==================" +"================== Step 5 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate table performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 5b ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con3 connected ==================" +"================== Step 6 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=500*1024; +select get_lock("marker_3", 10); +get_lock("marker_3", 10) +1 +select release_lock("marker_3"); +release_lock("marker_3") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con3 marker ==================" +"================== Step 7 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con4/con5 (both user4) connected ==================" +"================== Step 8 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +user4 2 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=4000*1024; +select get_lock("marker_4", 10); +get_lock("marker_4", 10) +1 +select release_lock("marker_4"); +release_lock("marker_4") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +select get_lock("marker_5", 10); +get_lock("marker_5", 10) +1 +select release_lock("marker_5"); +release_lock("marker_5") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con4/con5 marker ==================" +"================== Step 9 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 6 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 14006 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +user4 2 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con1/con5 disconnected ==================" +"================== Step 10 ==================" +call dump_thread(); +username user1 +status not found +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 1 1 +user3 1 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con2 disconnected ==================" +"================== Step 11 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 1 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con3 disconnected ==================" +"================== Step 12 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con4 disconnected ==================" +"================== Step 13 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 14 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_account_by_event_name; +"================== MEMORY_BY_ACCOUNT truncated ==================" +"================== Step 15 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_user_by_event_name; +"================== MEMORY_BY_USER truncated ==================" +"================== Step 16 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_host_by_event_name; +"================== MEMORY_BY_HOST truncated ==================" +"================== Step 17 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_global_by_event_name; +"================== MEMORY_GLOBAL truncated ==================" +"================== Step 18 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.accounts; +"================== ACCOUNTS truncated ==================" +"================== Step 19 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.users; +"================== USERS truncated ==================" +"================== Step 20 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.hosts; +"================== HOSTS truncated ==================" +"================== Step 21 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u.result new file mode 100644 index 00000000000..6e8fc3796f4 --- /dev/null +++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u.result @@ -0,0 +1,2426 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +show global status like "performance_schema_memory_classes_lost"; +Variable_name Value +Performance_schema_memory_classes_lost 0 +"================== Step 1 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 1 +"================== con1 connected ==================" +"================== Step 2 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 2 +set GLOBAL query_cache_size=1000*1024; +select get_lock("marker_1", 10); +get_lock("marker_1", 10) +1 +select release_lock("marker_1"); +release_lock("marker_1") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con1 marker ==================" +"================== Step 3 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 2 +"================== con2 connected ==================" +"================== Step 4 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +set GLOBAL query_cache_size=2000*1024; +select get_lock("marker_2", 10); +get_lock("marker_2", 10) +1 +select release_lock("marker_2"); +release_lock("marker_2") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con2 marker ==================" +"================== Step 5 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +truncate table performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 5b ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +"================== con3 connected ==================" +"================== Step 6 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 4 +set GLOBAL query_cache_size=500*1024; +select get_lock("marker_3", 10); +get_lock("marker_3", 10) +1 +select release_lock("marker_3"); +release_lock("marker_3") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con3 marker ==================" +"================== Step 7 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 4 +"================== con4/con5 (both user4) connected ==================" +"================== Step 8 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 6 6 +set GLOBAL query_cache_size=4000*1024; +select get_lock("marker_4", 10); +get_lock("marker_4", 10) +1 +select release_lock("marker_4"); +release_lock("marker_4") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +select get_lock("marker_5", 10); +get_lock("marker_5", 10) +1 +select release_lock("marker_5"); +release_lock("marker_5") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con4/con5 marker ==================" +"================== Step 9 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 6 6 +"================== con1/con5 disconnected ==================" +"================== Step 10 ==================" +call dump_thread(); +username user1 +status not found +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 6 +"================== con2 disconnected ==================" +"================== Step 11 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 6 +"================== con3 disconnected ==================" +"================== Step 12 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 6 +"================== con4 disconnected ==================" +"================== Step 13 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 14 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_account_by_event_name; +"================== MEMORY_BY_ACCOUNT truncated ==================" +"================== Step 15 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_user_by_event_name; +"================== MEMORY_BY_USER truncated ==================" +"================== Step 16 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_host_by_event_name; +"================== MEMORY_BY_HOST truncated ==================" +"================== Step 17 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_global_by_event_name; +"================== MEMORY_GLOBAL truncated ==================" +"================== Step 18 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.accounts; +"================== ACCOUNTS truncated ==================" +"================== Step 19 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.users; +"================== USERS truncated ==================" +"================== Step 20 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.hosts; +"================== HOSTS truncated ==================" +"================== Step 21 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 1 diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u_no_h.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u_no_h.result new file mode 100644 index 00000000000..e3ba5da790f --- /dev/null +++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_a_no_u_no_h.result @@ -0,0 +1,1876 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +show global status like "performance_schema_memory_classes_lost"; +Variable_name Value +Performance_schema_memory_classes_lost 0 +"================== Step 1 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con1 connected ==================" +"================== Step 2 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=1000*1024; +select get_lock("marker_1", 10); +get_lock("marker_1", 10) +1 +select release_lock("marker_1"); +release_lock("marker_1") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con1 marker ==================" +"================== Step 3 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con2 connected ==================" +"================== Step 4 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=2000*1024; +select get_lock("marker_2", 10); +get_lock("marker_2", 10) +1 +select release_lock("marker_2"); +release_lock("marker_2") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con2 marker ==================" +"================== Step 5 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate table performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 5b ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con3 connected ==================" +"================== Step 6 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=500*1024; +select get_lock("marker_3", 10); +get_lock("marker_3", 10) +1 +select release_lock("marker_3"); +release_lock("marker_3") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con3 marker ==================" +"================== Step 7 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con4/con5 (both user4) connected ==================" +"================== Step 8 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 784 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=4000*1024; +select get_lock("marker_4", 10); +get_lock("marker_4", 10) +1 +select release_lock("marker_4"); +release_lock("marker_4") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +select get_lock("marker_5", 10); +get_lock("marker_5", 10) +1 +select release_lock("marker_5"); +release_lock("marker_5") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con4/con5 marker ==================" +"================== Step 9 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con1/con5 disconnected ==================" +"================== Step 10 ==================" +call dump_thread(); +username user1 +status not found +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con2 disconnected ==================" +"================== Step 11 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con3 disconnected ==================" +"================== Step 12 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con4 disconnected ==================" +"================== Step 13 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 14 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_account_by_event_name; +"================== MEMORY_BY_ACCOUNT truncated ==================" +"================== Step 15 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_user_by_event_name; +"================== MEMORY_BY_USER truncated ==================" +"================== Step 16 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_host_by_event_name; +"================== MEMORY_BY_HOST truncated ==================" +"================== Step 17 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 8 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1328 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_global_by_event_name; +"================== MEMORY_GLOBAL truncated ==================" +"================== Step 18 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.accounts; +"================== ACCOUNTS truncated ==================" +"================== Step 19 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.users; +"================== USERS truncated ==================" +"================== Step 20 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.hosts; +"================== HOSTS truncated ==================" +"================== Step 21 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_h.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_h.result new file mode 100644 index 00000000000..0421a2ac851 --- /dev/null +++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_h.result @@ -0,0 +1,5036 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +show global status like "performance_schema_memory_classes_lost"; +Variable_name Value +Performance_schema_memory_classes_lost 0 +"================== Step 1 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con1 connected ==================" +"================== Step 2 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=1000*1024; +select get_lock("marker_1", 10); +get_lock("marker_1", 10) +1 +select release_lock("marker_1"); +release_lock("marker_1") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con1 marker ==================" +"================== Step 3 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con2 connected ==================" +"================== Step 4 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=2000*1024; +select get_lock("marker_2", 10); +get_lock("marker_2", 10) +1 +select release_lock("marker_2"); +release_lock("marker_2") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con2 marker ==================" +"================== Step 5 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate table performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 5b ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con3 connected ==================" +"================== Step 6 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=500*1024; +select get_lock("marker_3", 10); +get_lock("marker_3", 10) +1 +select release_lock("marker_3"); +release_lock("marker_3") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con3 marker ==================" +"================== Step 7 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con4/con5 (both user4) connected ==================" +"================== Step 8 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 2 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +user4 2 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=4000*1024; +select get_lock("marker_4", 10); +get_lock("marker_4", 10) +1 +select release_lock("marker_4"); +release_lock("marker_4") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +select get_lock("marker_5", 10); +get_lock("marker_5", 10) +1 +select release_lock("marker_5"); +release_lock("marker_5") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con4/con5 marker ==================" +"================== Step 9 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 6 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 14006 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 6 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 14006 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 2 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 1 1 +user2 1 1 +user3 1 1 +user4 2 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con1/con5 disconnected ==================" +"================== Step 10 ==================" +call dump_thread(); +username user1 +status not found +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 1 1 +user3 1 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con2 disconnected ==================" +"================== Step 11 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 1 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 1 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con3 disconnected ==================" +"================== Step 12 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 1 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con4 disconnected ==================" +"================== Step 13 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 14 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_account_by_event_name; +"================== MEMORY_BY_ACCOUNT truncated ==================" +"================== Step 15 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_user_by_event_name; +"================== MEMORY_BY_USER truncated ==================" +"================== Step 16 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_host_by_event_name; +"================== MEMORY_BY_HOST truncated ==================" +"================== Step 17 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_global_by_event_name; +"================== MEMORY_GLOBAL truncated ==================" +"================== Step 18 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.accounts; +"================== ACCOUNTS truncated ==================" +"================== Step 19 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +USER user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +user1 0 1 +user2 0 1 +user3 0 1 +user4 0 2 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.users; +"================== USERS truncated ==================" +"================== Step 20 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.hosts; +"================== HOSTS truncated ==================" +"================== Step 21 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root 1 1 +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_u.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_u.result new file mode 100644 index 00000000000..4b2c5c57546 --- /dev/null +++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_u.result @@ -0,0 +1,4014 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +show global status like "performance_schema_memory_classes_lost"; +Variable_name Value +Performance_schema_memory_classes_lost 0 +"================== Step 1 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 1 +"================== con1 connected ==================" +"================== Step 2 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 2 +set GLOBAL query_cache_size=1000*1024; +select get_lock("marker_1", 10); +get_lock("marker_1", 10) +1 +select release_lock("marker_1"); +release_lock("marker_1") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con1 marker ==================" +"================== Step 3 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 2 +"================== con2 connected ==================" +"================== Step 4 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +set GLOBAL query_cache_size=2000*1024; +select get_lock("marker_2", 10); +get_lock("marker_2", 10) +1 +select release_lock("marker_2"); +release_lock("marker_2") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con2 marker ==================" +"================== Step 5 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +truncate table performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 5b ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 3 +"================== con3 connected ==================" +"================== Step 6 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 4 +set GLOBAL query_cache_size=500*1024; +select get_lock("marker_3", 10); +get_lock("marker_3", 10) +1 +select release_lock("marker_3"); +release_lock("marker_3") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con3 marker ==================" +"================== Step 7 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 4 +"================== con4/con5 (both user4) connected ==================" +"================== Step 8 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 2 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 6 6 +set GLOBAL query_cache_size=4000*1024; +select get_lock("marker_4", 10); +get_lock("marker_4", 10) +1 +select release_lock("marker_4"); +release_lock("marker_4") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +select get_lock("marker_5", 10); +get_lock("marker_5", 10) +1 +select release_lock("marker_5"); +release_lock("marker_5") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con4/con5 marker ==================" +"================== Step 9 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 6 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 14006 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 2 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 6 6 +"================== con1/con5 disconnected ==================" +"================== Step 10 ==================" +call dump_thread(); +username user1 +status not found +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 4 6 +"================== con2 disconnected ==================" +"================== Step 11 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 1 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 3 6 +"================== con3 disconnected ==================" +"================== Step 12 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 2 6 +"================== con4 disconnected ==================" +"================== Step 13 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 14 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_account_by_event_name; +"================== MEMORY_BY_ACCOUNT truncated ==================" +"================== Step 15 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_user_by_event_name; +"================== MEMORY_BY_USER truncated ==================" +"================== Step 16 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_by_host_by_event_name; +"================== MEMORY_BY_HOST truncated ==================" +"================== Step 17 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.memory_summary_global_by_event_name; +"================== MEMORY_GLOBAL truncated ==================" +"================== Step 18 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.accounts; +"================== ACCOUNTS truncated ==================" +"================== Step 19 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.users; +"================== USERS truncated ==================" +"================== Step 20 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 6 +truncate performance_schema.hosts; +"================== HOSTS truncated ==================" +"================== Step 21 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +localhost 1 1 diff --git a/mysql-test/suite/perfschema/r/memory_aggregate_no_u_no_h.result b/mysql-test/suite/perfschema/r/memory_aggregate_no_u_no_h.result new file mode 100644 index 00000000000..73a124dc998 --- /dev/null +++ b/mysql-test/suite/perfschema/r/memory_aggregate_no_u_no_h.result @@ -0,0 +1,3464 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +show global status like "performance_schema_memory_classes_lost"; +Variable_name Value +Performance_schema_memory_classes_lost 0 +"================== Step 1 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con1 connected ==================" +"================== Step 2 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=1000*1024; +select get_lock("marker_1", 10); +get_lock("marker_1", 10) +1 +select release_lock("marker_1"); +release_lock("marker_1") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con1 marker ==================" +"================== Step 3 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con2 connected ==================" +"================== Step 4 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 1040384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1040384 +HIGH_NUMBER_OF_BYTES_USED 1040384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 4 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7141 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 7141 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=2000*1024; +select get_lock("marker_2", 10); +get_lock("marker_2", 10) +1 +select release_lock("marker_2"); +release_lock("marker_2") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con2 marker ==================" +"================== Step 5 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate table performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 5b ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con3 connected ==================" +"================== Step 6 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 3104768 +SUM_NUMBER_OF_BYTES_FREE 1040384 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 2064384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 7 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14144 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 7 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 14144 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=500*1024; +select get_lock("marker_3", 10); +get_lock("marker_3", 10) +1 +select release_lock("marker_3"); +release_lock("marker_3") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con3 marker ==================" +"================== Step 7 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con4/con5 (both user4) connected ==================" +"================== Step 8 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 9 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 3633152 +SUM_NUMBER_OF_BYTES_FREE 3104768 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 528384 +HIGH_NUMBER_OF_BYTES_USED 2064384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 816 +SUM_NUMBER_OF_BYTES_FREE 48 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 816 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 10 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 21147 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 21147 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 2 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +set GLOBAL query_cache_size=4000*1024; +select get_lock("marker_4", 10); +get_lock("marker_4", 10) +1 +select release_lock("marker_4"); +release_lock("marker_4") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +select get_lock("marker_5", 10); +get_lock("marker_5", 10) +1 +select release_lock("marker_5"); +release_lock("marker_5") +1 +set @v1 = repeat("a", 1000); +set @v2 = repeat("b", 2000); +set @v3 = repeat("c", 4000); +"================== con4/con5 marker ==================" +"================== Step 9 ==================" +call dump_thread(); +username user1 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user1 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 32 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 6 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 14006 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 5 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 80 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 5 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 1280 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 16 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 35153 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 1 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 2 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con1/con5 disconnected ==================" +"================== Step 10 ==================" +call dump_thread(); +username user1 +status not found +username user2 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 256 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 256 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 256 +username user2 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 7003 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 7 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 592 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 768 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 10 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 21147 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 1 1 +user3 localhost 1 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con2 disconnected ==================" +"================== Step 11 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user3 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 8 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 848 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 2 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 512 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 21009 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 7 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 14144 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 1 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con3 disconnected ==================" +"================== Step 12 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 1 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 16 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 272 +username user4 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 7003 +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 288 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 7003 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1104 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 256 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 12 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 28012 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 4 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 7141 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 1 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +"================== con4 disconnected ==================" +"================== Step 13 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_thread_by_event_name; +"================== MEMORY_BY_THREAD truncated ==================" +"================== Step 14 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 2 +COUNT_FREE 2 +SUM_NUMBER_OF_BYTES_ALLOC 272 +SUM_NUMBER_OF_BYTES_FREE 272 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 2 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 272 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 3 +COUNT_FREE 3 +SUM_NUMBER_OF_BYTES_ALLOC 7003 +SUM_NUMBER_OF_BYTES_FREE 7003 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 7003 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 4 +COUNT_FREE 4 +SUM_NUMBER_OF_BYTES_ALLOC 544 +SUM_NUMBER_OF_BYTES_FREE 544 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 4 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 544 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 6 +COUNT_FREE 6 +SUM_NUMBER_OF_BYTES_ALLOC 14006 +SUM_NUMBER_OF_BYTES_FREE 14006 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 6 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 14006 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_account_by_event_name; +"================== MEMORY_BY_ACCOUNT truncated ==================" +"================== Step 15 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_user_by_event_name; +"================== MEMORY_BY_USER truncated ==================" +"================== Step 16 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_by_host_by_event_name; +"================== MEMORY_BY_HOST truncated ==================" +"================== Step 17 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 12 +COUNT_FREE 9 +SUM_NUMBER_OF_BYTES_ALLOC 7745536 +SUM_NUMBER_OF_BYTES_FREE 3633152 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 10 +COUNT_FREE 10 +SUM_NUMBER_OF_BYTES_ALLOC 1360 +SUM_NUMBER_OF_BYTES_FREE 1360 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 10 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 1360 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 16 +COUNT_FREE 15 +SUM_NUMBER_OF_BYTES_ALLOC 35153 +SUM_NUMBER_OF_BYTES_FREE 35015 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 16 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 35153 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.memory_summary_global_by_event_name; +"================== MEMORY_GLOBAL truncated ==================" +"================== Step 18 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +USER user1 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user1 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user2 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user3 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +USER user4 +HOST localhost +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +user1 localhost 0 1 +user2 localhost 0 1 +user3 localhost 0 1 +user4 localhost 0 2 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.accounts; +"================== ACCOUNTS truncated ==================" +"================== Step 19 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.users; +"================== USERS truncated ==================" +"================== Step 20 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +truncate performance_schema.hosts; +"================== HOSTS truncated ==================" +"================== Step 21 ==================" +call dump_thread(); +username user1 +status not found +username user2 +status not found +username user3 +status not found +username user4 +status not found +execute dump_memory_account; +execute dump_memory_user; +execute dump_memory_host; +execute dump_memory_global; +EVENT_NAME memory/sql/Query_cache +COUNT_ALLOC 3 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 4112384 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 3 +CURRENT_COUNT_USED 3 +HIGH_COUNT_USED 3 +LOW_NUMBER_OF_BYTES_USED 4112384 +CURRENT_NUMBER_OF_BYTES_USED 4112384 +HIGH_NUMBER_OF_BYTES_USED 4112384 +EVENT_NAME memory/sql/User_level_lock +COUNT_ALLOC 0 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 0 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 0 +CURRENT_COUNT_USED 0 +HIGH_COUNT_USED 0 +LOW_NUMBER_OF_BYTES_USED 0 +CURRENT_NUMBER_OF_BYTES_USED 0 +HIGH_NUMBER_OF_BYTES_USED 0 +EVENT_NAME memory/sql/user_var_entry::value +COUNT_ALLOC 1 +COUNT_FREE 0 +SUM_NUMBER_OF_BYTES_ALLOC 138 +SUM_NUMBER_OF_BYTES_FREE 0 +LOW_COUNT_USED 1 +CURRENT_COUNT_USED 1 +HIGH_COUNT_USED 1 +LOW_NUMBER_OF_BYTES_USED 138 +CURRENT_NUMBER_OF_BYTES_USED 138 +HIGH_NUMBER_OF_BYTES_USED 138 +execute dump_accounts; +USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +root localhost 1 1 +execute dump_users; +USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS +execute dump_hosts; +HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS diff --git a/mysql-test/suite/perfschema/r/memory_table_io.result b/mysql-test/suite/perfschema/r/memory_table_io.result index 230de713846..687f39fc308 100644 --- a/mysql-test/suite/perfschema/r/memory_table_io.result +++ b/mysql-test/suite/perfschema/r/memory_table_io.result @@ -70,50 +70,40 @@ where event_name like 'wait/io/table/%' and object_schema in ("test") order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 3 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -123,9 +113,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -135,6 +131,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/merge_table_io.result b/mysql-test/suite/perfschema/r/merge_table_io.result index 7f0b602778c..3fb3b26b3a3 100644 --- a/mysql-test/suite/perfschema/r/merge_table_io.result +++ b/mysql-test/suite/perfschema/r/merge_table_io.result @@ -96,54 +96,46 @@ where event_name like 'wait/io/table/%' and object_schema in ("test") order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 3 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -153,9 +145,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -165,6 +163,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/misc.result b/mysql-test/suite/perfschema/r/misc.result index 24ab21848b0..c3214c1ff06 100644 --- a/mysql-test/suite/perfschema/r/misc.result +++ b/mysql-test/suite/perfschema/r/misc.result @@ -92,6 +92,22 @@ object_schema object_name index_name count_fetch count_insert count_update count test t_60905 i 2 0 0 1 test t_60905 NULL 5 5 0 1 DROP TABLE t_60905; +show global variables like "performance_schema_max_thread_instances"; +Variable_name Value +performance_schema_max_thread_instances 200 +explain select * from performance_schema.threads; +id select_type table partitions type possible_keys key key_len ref rows filtered Extra +1 SIMPLE threads NULL ALL NULL NULL NULL NULL 256 100.00 NULL +Warnings: +Note 1003 /* select#1 */ select `performance_schema`.`threads`.`THREAD_ID` AS `THREAD_ID`,`performance_schema`.`threads`.`NAME` AS `NAME`,`performance_schema`.`threads`.`TYPE` AS `TYPE`,`performance_schema`.`threads`.`PROCESSLIST_ID` AS `PROCESSLIST_ID`,`performance_schema`.`threads`.`PROCESSLIST_USER` AS `PROCESSLIST_USER`,`performance_schema`.`threads`.`PROCESSLIST_HOST` AS `PROCESSLIST_HOST`,`performance_schema`.`threads`.`PROCESSLIST_DB` AS `PROCESSLIST_DB`,`performance_schema`.`threads`.`PROCESSLIST_COMMAND` AS `PROCESSLIST_COMMAND`,`performance_schema`.`threads`.`PROCESSLIST_TIME` AS `PROCESSLIST_TIME`,`performance_schema`.`threads`.`PROCESSLIST_STATE` AS `PROCESSLIST_STATE`,`performance_schema`.`threads`.`PROCESSLIST_INFO` AS `PROCESSLIST_INFO`,`performance_schema`.`threads`.`PARENT_THREAD_ID` AS `PARENT_THREAD_ID`,`performance_schema`.`threads`.`ROLE` AS `ROLE`,`performance_schema`.`threads`.`INSTRUMENTED` AS `INSTRUMENTED`,`performance_schema`.`threads`.`HISTORY` AS `HISTORY`,`performance_schema`.`threads`.`CONNECTION_TYPE` AS `CONNECTION_TYPE`,`performance_schema`.`threads`.`THREAD_OS_ID` AS `THREAD_OS_ID` from `performance_schema`.`threads` +use performance_schema; +show events; +Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +show events from performance_schema; +Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +show events where Db= 'performance_schema'; +Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +use test; use test; truncate performance_schema.events_statements_history; truncate performance_schema.events_statements_history_long; diff --git a/mysql-test/suite/perfschema/r/multi_table_io.result b/mysql-test/suite/perfschema/r/multi_table_io.result index 35d8b347b5d..ba9c5ba4ab4 100644 --- a/mysql-test/suite/perfschema/r/multi_table_io.result +++ b/mysql-test/suite/perfschema/r/multi_table_io.result @@ -52,18 +52,26 @@ where event_name like 'wait/io/table/%' and object_schema in ('test','test1') order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE test1 t2 insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 update NULL -wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test1 t2 update NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 delete NULL -wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test1 t2 delete NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test1 t2 insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 update 1 +wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test1 t2 update 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test1 t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 delete 1 +wait/io/table/sql/handler handler.cc: TABLE test1 t2 delete 1 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -73,9 +81,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -85,6 +99,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/myisam_file_io.result b/mysql-test/suite/perfschema/r/myisam_file_io.result index f7bb9238311..0fe8710fe28 100644 --- a/mysql-test/suite/perfschema/r/myisam_file_io.result +++ b/mysql-test/suite/perfschema/r/myisam_file_io.result @@ -42,7 +42,7 @@ wait/io/file/myisam/dfile mi_dynrec.c: write 20 no_index_tab.MYD wait/io/file/myisam/kfile mi_open.c: write 124 no_index_tab.MYI wait/io/file/myisam/dfile mi_dynrec.c: write 20 no_index_tab.MYD wait/io/file/myisam/kfile mi_open.c: write 124 no_index_tab.MYI -show status like 'performance_schema_%'; +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -52,9 +52,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -64,6 +70,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/myisam_table_io.result b/mysql-test/suite/perfschema/r/myisam_table_io.result index 432e5964802..7db74596a07 100644 --- a/mysql-test/suite/perfschema/r/myisam_table_io.result +++ b/mysql-test/suite/perfschema/r/myisam_table_io.result @@ -70,48 +70,40 @@ where event_name like 'wait/io/table/%' and object_schema in ("test") order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 3 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -121,9 +113,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -133,6 +131,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/nesting.result b/mysql-test/suite/perfschema/r/nesting.result index 3c2796dbad9..63f65650c6d 100644 --- a/mysql-test/suite/perfschema/r/nesting.result +++ b/mysql-test/suite/perfschema/r/nesting.result @@ -1,3 +1,9 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. "================== con1 connected ==================" select "MARKER_BEGIN" as marker; marker @@ -40,7 +46,7 @@ where sql_text like "%MARKER_END%" and thread_id = @con1_tid); select (@marker_end is not null) as expected; expected 1 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -50,9 +56,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -62,6 +74,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -108,10 +121,10 @@ and (end_event_id <= @marker_end) order by relative_event_id asc; relative_event_id relative_end_event_id event_name comment nesting_event_type relative_nesting_event_id 0 17 statement/sql/select select "MARKER_BEGIN" as marker NULL NULL -1 5 stage/sql/init (stage) STATEMENT 0 +1 5 stage/sql/starting (stage) STATEMENT 0 2 2 wait/io/socket/sql/client_connection recv STAGE 1 3 3 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 1 -4 4 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 1 +4 4 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 1 5 5 wait/io/file/sql/query_log write STAGE 1 6 6 stage/sql/checking permissions (stage) STATEMENT 0 7 7 stage/sql/Opening tables (stage) STATEMENT 0 @@ -124,13 +137,13 @@ relative_event_id relative_end_event_id event_name comment nesting_event_type re 14 15 stage/sql/freeing items (stage) STATEMENT 0 15 15 wait/io/socket/sql/client_connection send STAGE 14 16 17 stage/sql/cleaning up (stage) STATEMENT 0 -17 17 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 16 +17 17 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 16 18 18 idle idle NULL NULL 19 36 statement/sql/select select "This is simple statement one" as payload NULL NULL -20 24 stage/sql/init (stage) STATEMENT 19 +20 24 stage/sql/starting (stage) STATEMENT 19 21 21 wait/io/socket/sql/client_connection recv STAGE 20 22 22 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 20 -23 23 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 20 +23 23 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 20 24 24 wait/io/file/sql/query_log write STAGE 20 25 25 stage/sql/checking permissions (stage) STATEMENT 19 26 26 stage/sql/Opening tables (stage) STATEMENT 19 @@ -143,13 +156,13 @@ relative_event_id relative_end_event_id event_name comment nesting_event_type re 33 34 stage/sql/freeing items (stage) STATEMENT 19 34 34 wait/io/socket/sql/client_connection send STAGE 33 35 36 stage/sql/cleaning up (stage) STATEMENT 19 -36 36 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 35 +36 36 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 35 37 37 idle idle NULL NULL 38 55 statement/sql/select select "This is simple statement two" as payload NULL NULL -39 43 stage/sql/init (stage) STATEMENT 38 +39 43 stage/sql/starting (stage) STATEMENT 38 40 40 wait/io/socket/sql/client_connection recv STAGE 39 41 41 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 39 -42 42 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 39 +42 42 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 39 43 43 wait/io/file/sql/query_log write STAGE 39 44 44 stage/sql/checking permissions (stage) STATEMENT 38 45 45 stage/sql/Opening tables (stage) STATEMENT 38 @@ -162,73 +175,77 @@ relative_event_id relative_end_event_id event_name comment nesting_event_type re 52 53 stage/sql/freeing items (stage) STATEMENT 38 53 53 wait/io/socket/sql/client_connection send STAGE 52 54 55 stage/sql/cleaning up (stage) STATEMENT 38 -55 55 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 54 +55 55 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 54 56 56 idle idle NULL NULL -57 72 statement/sql/select select "This is the first part of a multi query" as payload; +57 73 statement/sql/select select "This is the first part of a multi query" as payload; select "And this is the second part of a multi query" as payload; select "With a third part to make things complete" as payload NULL NULL -58 62 stage/sql/init (stage) STATEMENT 57 +58 63 stage/sql/starting (stage) STATEMENT 57 59 59 wait/io/socket/sql/client_connection recv STAGE 58 60 60 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 58 -61 61 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 58 +61 61 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 58 62 62 wait/io/file/sql/query_log write STAGE 58 -63 63 stage/sql/checking permissions (stage) STATEMENT 57 -64 64 stage/sql/Opening tables (stage) STATEMENT 57 -65 65 stage/sql/init (stage) STATEMENT 57 -66 66 stage/sql/optimizing (stage) STATEMENT 57 -67 67 stage/sql/executing (stage) STATEMENT 57 -68 68 stage/sql/end (stage) STATEMENT 57 -69 69 stage/sql/query end (stage) STATEMENT 57 -70 70 stage/sql/closing tables (stage) STATEMENT 57 -71 72 stage/sql/freeing items (stage) STATEMENT 57 -72 72 wait/io/socket/sql/client_connection send STAGE 71 -73 86 statement/sql/select select "And this is the second part of a multi query" as payload; +63 63 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 58 +64 64 stage/sql/checking permissions (stage) STATEMENT 57 +65 65 stage/sql/Opening tables (stage) STATEMENT 57 +66 66 stage/sql/init (stage) STATEMENT 57 +67 67 stage/sql/optimizing (stage) STATEMENT 57 +68 68 stage/sql/executing (stage) STATEMENT 57 +69 69 stage/sql/end (stage) STATEMENT 57 +70 70 stage/sql/query end (stage) STATEMENT 57 +71 71 stage/sql/closing tables (stage) STATEMENT 57 +72 73 stage/sql/freeing items (stage) STATEMENT 57 +73 73 wait/io/socket/sql/client_connection send STAGE 72 +74 89 statement/sql/select select "And this is the second part of a multi query" as payload; select "With a third part to make things complete" as payload NULL NULL -74 76 stage/sql/init (stage) STATEMENT 73 -75 75 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 74 -76 76 wait/io/file/sql/query_log write STAGE 74 -77 77 stage/sql/checking permissions (stage) STATEMENT 73 -78 78 stage/sql/Opening tables (stage) STATEMENT 73 -79 79 stage/sql/init (stage) STATEMENT 73 -80 80 stage/sql/optimizing (stage) STATEMENT 73 -81 81 stage/sql/executing (stage) STATEMENT 73 -82 82 stage/sql/end (stage) STATEMENT 73 -83 83 stage/sql/query end (stage) STATEMENT 73 -84 84 stage/sql/closing tables (stage) STATEMENT 73 -85 86 stage/sql/freeing items (stage) STATEMENT 73 -86 86 wait/io/socket/sql/client_connection send STAGE 85 -87 102 statement/sql/select select "With a third part to make things complete" as payload NULL NULL -88 90 stage/sql/init (stage) STATEMENT 87 -89 89 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 88 -90 90 wait/io/file/sql/query_log write STAGE 88 -91 91 stage/sql/checking permissions (stage) STATEMENT 87 -92 92 stage/sql/Opening tables (stage) STATEMENT 87 -93 93 stage/sql/init (stage) STATEMENT 87 -94 94 stage/sql/optimizing (stage) STATEMENT 87 -95 95 stage/sql/executing (stage) STATEMENT 87 -96 96 stage/sql/end (stage) STATEMENT 87 -97 97 stage/sql/query end (stage) STATEMENT 87 -98 98 stage/sql/closing tables (stage) STATEMENT 87 -99 100 stage/sql/freeing items (stage) STATEMENT 87 -100 100 wait/io/socket/sql/client_connection send STAGE 99 -101 102 stage/sql/cleaning up (stage) STATEMENT 87 -102 102 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 101 -103 103 idle idle NULL NULL -104 121 statement/sql/select select "MARKER_END" as marker NULL NULL -105 109 stage/sql/init (stage) STATEMENT 104 -106 106 wait/io/socket/sql/client_connection recv STAGE 105 -107 107 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 105 -108 108 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 105 -109 109 wait/io/file/sql/query_log write STAGE 105 -110 110 stage/sql/checking permissions (stage) STATEMENT 104 -111 111 stage/sql/Opening tables (stage) STATEMENT 104 -112 112 stage/sql/init (stage) STATEMENT 104 -113 113 stage/sql/optimizing (stage) STATEMENT 104 -114 114 stage/sql/executing (stage) STATEMENT 104 -115 115 stage/sql/end (stage) STATEMENT 104 -116 116 stage/sql/query end (stage) STATEMENT 104 -117 117 stage/sql/closing tables (stage) STATEMENT 104 -118 119 stage/sql/freeing items (stage) STATEMENT 104 -119 119 wait/io/socket/sql/client_connection send STAGE 118 -120 121 stage/sql/cleaning up (stage) STATEMENT 104 -121 121 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 120 +75 79 stage/sql/starting (stage) STATEMENT 74 +76 76 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 75 +77 77 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 75 +78 78 wait/io/file/sql/query_log write STAGE 75 +79 79 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 75 +80 80 stage/sql/checking permissions (stage) STATEMENT 74 +81 81 stage/sql/Opening tables (stage) STATEMENT 74 +82 82 stage/sql/init (stage) STATEMENT 74 +83 83 stage/sql/optimizing (stage) STATEMENT 74 +84 84 stage/sql/executing (stage) STATEMENT 74 +85 85 stage/sql/end (stage) STATEMENT 74 +86 86 stage/sql/query end (stage) STATEMENT 74 +87 87 stage/sql/closing tables (stage) STATEMENT 74 +88 89 stage/sql/freeing items (stage) STATEMENT 74 +89 89 wait/io/socket/sql/client_connection send STAGE 88 +90 106 statement/sql/select select "With a third part to make things complete" as payload NULL NULL +91 94 stage/sql/starting (stage) STATEMENT 90 +92 92 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 91 +93 93 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 91 +94 94 wait/io/file/sql/query_log write STAGE 91 +95 95 stage/sql/checking permissions (stage) STATEMENT 90 +96 96 stage/sql/Opening tables (stage) STATEMENT 90 +97 97 stage/sql/init (stage) STATEMENT 90 +98 98 stage/sql/optimizing (stage) STATEMENT 90 +99 99 stage/sql/executing (stage) STATEMENT 90 +100 100 stage/sql/end (stage) STATEMENT 90 +101 101 stage/sql/query end (stage) STATEMENT 90 +102 102 stage/sql/closing tables (stage) STATEMENT 90 +103 104 stage/sql/freeing items (stage) STATEMENT 90 +104 104 wait/io/socket/sql/client_connection send STAGE 103 +105 106 stage/sql/cleaning up (stage) STATEMENT 90 +106 106 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 105 +107 107 idle idle NULL NULL +108 125 statement/sql/select select "MARKER_END" as marker NULL NULL +109 113 stage/sql/starting (stage) STATEMENT 108 +110 110 wait/io/socket/sql/client_connection recv STAGE 109 +111 111 wait/synch/mutex/sql/THD::LOCK_thd_data lock STAGE 109 +112 112 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 109 +113 113 wait/io/file/sql/query_log write STAGE 109 +114 114 stage/sql/checking permissions (stage) STATEMENT 108 +115 115 stage/sql/Opening tables (stage) STATEMENT 108 +116 116 stage/sql/init (stage) STATEMENT 108 +117 117 stage/sql/optimizing (stage) STATEMENT 108 +118 118 stage/sql/executing (stage) STATEMENT 108 +119 119 stage/sql/end (stage) STATEMENT 108 +120 120 stage/sql/query end (stage) STATEMENT 108 +121 121 stage/sql/closing tables (stage) STATEMENT 108 +122 123 stage/sql/freeing items (stage) STATEMENT 108 +123 123 wait/io/socket/sql/client_connection send STAGE 122 +124 125 stage/sql/cleaning up (stage) STATEMENT 108 +125 125 wait/synch/mutex/sql/THD::LOCK_thd_query lock STAGE 124 diff --git a/mysql-test/suite/perfschema/r/no_threads.result b/mysql-test/suite/perfschema/r/no_threads.result index f78667f4f01..4631a3c34b2 100644 --- a/mysql-test/suite/perfschema/r/no_threads.result +++ b/mysql-test/suite/perfschema/r/no_threads.result @@ -6,17 +6,20 @@ drop table if exists test.t1; truncate table performance_schema.events_waits_current; truncate table performance_schema.events_waits_history; truncate table performance_schema.events_waits_history_long; -show variables like "thread_handling"; +show global variables like "thread_handling"; Variable_name Value thread_handling no-threads +show status like "Performance_schema_thread_instances_lost"; +Variable_name Value +Performance_schema_thread_instances_lost 0 create table test.t1(a int) engine=MYISAM; -show variables like "performance_schema"; +show global variables like "performance_schema"; Variable_name Value performance_schema ON -show variables like "performance_schema_max_thread%"; +show global variables like "performance_schema_max_thread%"; Variable_name Value performance_schema_max_thread_classes 50 -performance_schema_max_thread_instances 10 +performance_schema_max_thread_instances 50 select count(*) from performance_schema.threads where name like "thread/sql/main"; count(*) diff --git a/mysql-test/suite/perfschema/r/one_thread_per_con.result b/mysql-test/suite/perfschema/r/one_thread_per_con.result index 998aba6281c..d9b97a85d5f 100644 --- a/mysql-test/suite/perfschema/r/one_thread_per_con.result +++ b/mysql-test/suite/perfschema/r/one_thread_per_con.result @@ -4,7 +4,7 @@ drop table if exists test.t1; drop table if exists test.t2; drop table if exists test.t3; truncate table performance_schema.events_waits_history_long; -show variables like "thread_handling"; +show global variables like "thread_handling"; Variable_name Value thread_handling one-thread-per-connection "----------------- Connection 1" diff --git a/mysql-test/suite/perfschema/r/ortho_iter.result b/mysql-test/suite/perfschema/r/ortho_iter.result index 012d75e2e5f..22cf9d5ae62 100644 --- a/mysql-test/suite/perfschema/r/ortho_iter.result +++ b/mysql-test/suite/perfschema/r/ortho_iter.result @@ -1,14 +1,25 @@ drop procedure if exists check_instrument; create procedure check_instrument(in instr_name varchar(128)) begin +declare save_count_expected integer; declare count_expected integer; -declare count_actual integer; +declare count_builtin_expected integer; +declare count_global_expected integer; declare is_wait integer; +declare is_wait_file integer; +declare is_wait_socket integer; declare is_stage integer; declare is_statement integer; +declare is_transaction integer; +declare is_memory integer; declare is_wait_table integer; +declare is_wait_file_table integer; +declare is_wait_socket_table integer; declare is_stage_table integer; declare is_statement_table integer; +declare is_transaction_table integer; +declare is_memory_table integer; +declare is_memory_global_table integer; declare pfs_table_name varchar(64); declare msg varchar(512); declare msg_detail varchar(512); @@ -19,18 +30,52 @@ declare debug integer default 0; declare pfs_cursor CURSOR FOR select table_name from information_schema.tables where table_schema= 'performance_schema' - and table_name like "events_%_by_event_name%"; + and table_name like "%_by_event_name%"; declare continue handler for sqlstate '02000' set done = 1; -select (instr_name like "wait/%") or (instr_name like "idle/%") into is_wait; +select (instr_name like "wait/%") or (instr_name like "idle") into is_wait; +select (instr_name like "wait/io/file/%") into is_wait_file; +select (instr_name like "wait/io/socket/%") into is_wait_socket; select (instr_name like "stage/%") into is_stage; select (instr_name like "statement/%") into is_statement; -select instr_name, is_wait, is_stage, is_statement; +select (instr_name like "memory/%") into is_memory; +select (instr_name like "transaction") into is_transaction; +select instr_name, is_wait, is_wait_file, is_wait_socket, is_stage, is_statement, is_memory, is_transaction; select count(name) from performance_schema.setup_instruments where (name like (concat(instr_name, "%"))) and (not name like "%/abstract/%") -into count_expected; +and (not name like "memory/performance_schema/%") +into save_count_expected; +select count(name) +from performance_schema.setup_instruments +where (name like (concat(instr_name, "%"))) +and (name like "memory/performance_schema/%") +into count_builtin_expected; +select count(name) +from performance_schema.setup_instruments +where (name like (concat(instr_name, "%"))) +and (name in ( +"memory/sql/buffered_logs", +"memory/sql/sql_acl_mem", +"memory/sql/sql_acl_memex", +"memory/sql/acl_cache", +"memory/sql/TABLE_SHARE::mem_root", +"memory/sql/TABLE", +"memory/sql/Query_cache", +"memory/sql/native_functions", +"memory/sql/Event_basic::mem_root", +"memory/sql/root", +"memory/sql/load_env_plugins", +"memory/sql/plugin_ref", +"memory/sql/plugin_mem_root", +"memory/sql/plugin_bookmark", +"memory/csv/TINA_SHARE", +"memory/sql/tz_storage", +"memory/sql/servers_cache", +"memory/sql/udf_mem" + )) +into count_global_expected; set cmd_1= "select count(*) from (select distinct event_name from performance_schema."; set cmd_2= concat(" where event_name like \"", instr_name, @@ -40,8 +85,22 @@ repeat fetch pfs_cursor into pfs_table_name; if not done then select (pfs_table_name like "%waits%") into is_wait_table; +select (pfs_table_name like "file_summary%") into is_wait_file_table; +select (pfs_table_name like "socket_summary%") into is_wait_socket_table; select (pfs_table_name like "%stages%") into is_stage_table; select (pfs_table_name like "%statements%") into is_statement_table; +select (pfs_table_name like "%memory%") into is_memory_table; +select (pfs_table_name like "memory_summary_global_by_event_name") into is_memory_global_table; +select (pfs_table_name like "%transaction%") into is_transaction_table; +set count_expected = save_count_expected; +if is_memory_global_table +then +set count_expected = save_count_expected + count_builtin_expected; +end if; +if is_memory_table = 1 and is_memory_global_table = 0 +then +set count_expected = save_count_expected - count_global_expected; +end if; select concat("Checking table ", pfs_table_name, " ...") as status; select concat(cmd_1, pfs_table_name, cmd_2) into @cmd; if debug = 1 @@ -54,37 +113,101 @@ drop prepare stmt; set msg_detail= concat("table ", pfs_table_name, ", instruments ", count_expected, ", found ", @count_actual); -if is_wait = 1 and is_wait_table = 1 and @count_actual <> count_expected +if is_wait = 1 +then +if is_wait_table = 1 and @count_actual <> count_expected then set msg= concat("Missing wait events: ", msg_detail); signal sqlstate '05000' set message_text= msg; end if; -if is_wait = 1 and is_wait_table = 0 and @count_actual <> 0 +if is_wait_table = 0 +and is_wait_file_table = 0 +and is_wait_socket_table = 0 +and @count_actual <> 0 then set msg= concat("Unexpected wait events: ", msg_detail); signal sqlstate '05000' set message_text= msg; end if; -if is_stage = 1 and is_stage_table = 1 and @count_actual <> count_expected +end if; +if is_wait_file = 1 +then +if is_wait_file_table = 1 and @count_actual <> count_expected +then +set msg= concat("Missing wait/io/file events: ", msg_detail); +signal sqlstate '05000' set message_text= msg; +end if; +if is_wait_table = 0 and is_wait_file_table = 0 and @count_actual <> 0 +then +set msg= concat("Unexpected wait/io/file events: ", msg_detail); +signal sqlstate '05000' set message_text= msg; +end if; +end if; +if is_wait_socket = 1 +then +if is_wait_socket_table = 1 and @count_actual <> count_expected +then +set msg= concat("Missing wait/io/socket events: ", msg_detail); +signal sqlstate '05000' set message_text= msg; +end if; +if is_wait_table = 0 and is_wait_socket_table = 0 and @count_actual <> 0 +then +set msg= concat("Unexpected wait/io/socket events: ", msg_detail); +signal sqlstate '05000' set message_text= msg; +end if; +end if; +if is_stage = 1 +then +if is_stage_table = 1 and @count_actual <> count_expected then set msg= concat("Missing stage events: ", msg_detail); signal sqlstate '05000' set message_text= msg; end if; -if is_stage = 1 and is_stage_table = 0 and @count_actual <> 0 +if is_stage_table = 0 and @count_actual <> 0 then set msg= concat("Unexpected stage events: ", msg_detail); signal sqlstate '05000' set message_text= msg; end if; -if is_statement = 1 and is_statement_table = 1 and @count_actual <> count_expected +end if; +if is_statement = 1 +then +if is_statement_table = 1 and @count_actual <> count_expected then set msg= concat("Missing statement events: ", msg_detail); signal sqlstate '05000' set message_text= msg; end if; -if is_statement = 1 and is_statement_table = 0 and @count_actual <> 0 +if is_statement_table = 0 and @count_actual <> 0 then set msg= concat("Unexpected statement events: ", msg_detail); signal sqlstate '05000' set message_text= msg; end if; end if; +if is_memory = 1 +then +if is_memory_table = 1 and @count_actual <> count_expected +then +set msg= concat("Missing memory events: ", msg_detail); +signal sqlstate '05000' set message_text= msg; +end if; +if is_memory_table = 0 and @count_actual <> 0 +then +set msg= concat("Unexpected memory events: ", msg_detail); +signal sqlstate '05000' set message_text= msg; +end if; +end if; +if is_transaction = 1 +then +if is_transaction_table = 1 and @count_actual <> count_expected +then +set msg= concat("Missing transaction events: ", msg_detail); +signal sqlstate '05000' set message_text= msg; +end if; +if is_transaction_table = 0 and @count_actual <> 0 +then +set msg= concat("Unexpected transaction events: ", msg_detail); +signal sqlstate '05000' set message_text= msg; +end if; +end if; +end if; until done end repeat; close pfs_cursor; @@ -92,9 +215,7 @@ close pfs_cursor; signal sqlstate '01000' set message_text='Done', mysql_errno=12000; end $ -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -103,24 +224,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -128,8 +260,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 call check_instrument("wait/synch/mutex/"); -instr_name is_wait is_stage is_statement -wait/synch/mutex/ 1 0 0 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/synch/mutex/ 1 0 0 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -151,6 +283,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -160,11 +302,84 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("wait/synch/rwlock/"); -instr_name is_wait is_stage is_statement -wait/synch/rwlock/ 1 0 0 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/synch/rwlock/ 1 0 0 0 0 0 0 +status +Checking table events_stages_summary_by_account_by_event_name ... +status +Checking table events_stages_summary_by_host_by_event_name ... +status +Checking table events_stages_summary_by_thread_by_event_name ... +status +Checking table events_stages_summary_by_user_by_event_name ... +status +Checking table events_stages_summary_global_by_event_name ... +status +Checking table events_statements_summary_by_account_by_event_name ... +status +Checking table events_statements_summary_by_host_by_event_name ... +status +Checking table events_statements_summary_by_thread_by_event_name ... +status +Checking table events_statements_summary_by_user_by_event_name ... +status +Checking table events_statements_summary_global_by_event_name ... +status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status +Checking table events_waits_summary_by_account_by_event_name ... +status +Checking table events_waits_summary_by_host_by_event_name ... +status +Checking table events_waits_summary_by_thread_by_event_name ... +status +Checking table events_waits_summary_by_user_by_event_name ... +status +Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... +Warnings: +Warning 12000 Done +call check_instrument("wait/synch/sxlock/"); +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/synch/sxlock/ 1 0 0 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -186,6 +401,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -195,11 +420,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("wait/synch/cond/"); -instr_name is_wait is_stage is_statement -wait/synch/cond/ 1 0 0 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/synch/cond/ 1 0 0 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -221,6 +460,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -230,11 +479,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("wait/synch/"); -instr_name is_wait is_stage is_statement -wait/synch/ 1 0 0 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/synch/ 1 0 0 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -256,6 +519,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -265,11 +538,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("wait/io/file/"); -instr_name is_wait is_stage is_statement -wait/io/file/ 1 0 0 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/io/file/ 1 1 0 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -291,6 +578,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -300,11 +597,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done -call check_instrument("wait/io/net/"); -instr_name is_wait is_stage is_statement -wait/io/net/ 1 0 0 +call check_instrument("wait/io/socket/"); +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/io/socket/ 1 0 1 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -326,6 +637,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -335,11 +656,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("wait/io/table/"); -instr_name is_wait is_stage is_statement -wait/io/table/ 1 0 0 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/io/table/ 1 0 0 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -361,6 +696,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -370,11 +715,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("wait/io/"); -instr_name is_wait is_stage is_statement -wait/io/ 1 0 0 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/io/ 1 0 0 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -396,6 +755,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -405,11 +774,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("wait/lock/table/"); -instr_name is_wait is_stage is_statement -wait/lock/table/ 1 0 0 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/lock/table/ 1 0 0 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -431,6 +814,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -440,11 +833,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("wait/lock/"); -instr_name is_wait is_stage is_statement -wait/lock/ 1 0 0 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/lock/ 1 0 0 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -466,6 +873,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -475,11 +892,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("wait/"); -instr_name is_wait is_stage is_statement -wait/ 1 0 0 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +wait/ 1 0 0 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -501,6 +932,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -510,11 +951,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("stage/"); -instr_name is_wait is_stage is_statement -stage/ 0 1 0 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +stage/ 0 0 0 1 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -536,6 +991,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -545,11 +1010,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("statement/com/"); -instr_name is_wait is_stage is_statement -statement/com/ 0 0 1 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +statement/com/ 0 0 0 0 1 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -571,6 +1050,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -580,11 +1069,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("statement/sql/"); -instr_name is_wait is_stage is_statement -statement/sql/ 0 0 1 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +statement/sql/ 0 0 0 0 1 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -606,6 +1109,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -615,11 +1128,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("statement/abstract/"); -instr_name is_wait is_stage is_statement -statement/abstract/ 0 0 1 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +statement/abstract/ 0 0 0 0 1 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -641,6 +1168,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -650,11 +1187,84 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done call check_instrument("statement/"); -instr_name is_wait is_stage is_statement -statement/ 0 0 1 +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +statement/ 0 0 0 0 1 0 0 +status +Checking table events_stages_summary_by_account_by_event_name ... +status +Checking table events_stages_summary_by_host_by_event_name ... +status +Checking table events_stages_summary_by_thread_by_event_name ... +status +Checking table events_stages_summary_by_user_by_event_name ... +status +Checking table events_stages_summary_global_by_event_name ... +status +Checking table events_statements_summary_by_account_by_event_name ... +status +Checking table events_statements_summary_by_host_by_event_name ... +status +Checking table events_statements_summary_by_thread_by_event_name ... +status +Checking table events_statements_summary_by_user_by_event_name ... +status +Checking table events_statements_summary_global_by_event_name ... +status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status +Checking table events_waits_summary_by_account_by_event_name ... +status +Checking table events_waits_summary_by_host_by_event_name ... +status +Checking table events_waits_summary_by_thread_by_event_name ... +status +Checking table events_waits_summary_by_user_by_event_name ... +status +Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... +Warnings: +Warning 12000 Done +call check_instrument("idle"); +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +idle 1 0 0 0 0 0 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -676,6 +1286,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -685,11 +1305,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done -call check_instrument("idle/io/socket"); -instr_name is_wait is_stage is_statement -idle/io/socket 1 0 0 +call check_instrument("memory/"); +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +memory/ 0 0 0 0 0 1 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -711,6 +1345,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -720,11 +1364,25 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done -call check_instrument("idle/"); -instr_name is_wait is_stage is_statement -idle/ 1 0 0 +call check_instrument("memory/performance_schema/"); +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +memory/performance_schema/ 0 0 0 0 0 1 0 status Checking table events_stages_summary_by_account_by_event_name ... status @@ -746,6 +1404,16 @@ Checking table events_statements_summary_by_user_by_event_name ... status Checking table events_statements_summary_global_by_event_name ... status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status Checking table events_waits_summary_by_account_by_event_name ... status Checking table events_waits_summary_by_host_by_event_name ... @@ -755,6 +1423,79 @@ status Checking table events_waits_summary_by_user_by_event_name ... status Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... +Warnings: +Warning 12000 Done +call check_instrument("transaction"); +instr_name is_wait is_wait_file is_wait_socket is_stage is_statement is_memory is_transaction +transaction 0 0 0 0 0 0 1 +status +Checking table events_stages_summary_by_account_by_event_name ... +status +Checking table events_stages_summary_by_host_by_event_name ... +status +Checking table events_stages_summary_by_thread_by_event_name ... +status +Checking table events_stages_summary_by_user_by_event_name ... +status +Checking table events_stages_summary_global_by_event_name ... +status +Checking table events_statements_summary_by_account_by_event_name ... +status +Checking table events_statements_summary_by_host_by_event_name ... +status +Checking table events_statements_summary_by_thread_by_event_name ... +status +Checking table events_statements_summary_by_user_by_event_name ... +status +Checking table events_statements_summary_global_by_event_name ... +status +Checking table events_transactions_summary_by_account_by_event_name ... +status +Checking table events_transactions_summary_by_host_by_event_name ... +status +Checking table events_transactions_summary_by_thread_by_event_name ... +status +Checking table events_transactions_summary_by_user_by_event_name ... +status +Checking table events_transactions_summary_global_by_event_name ... +status +Checking table events_waits_summary_by_account_by_event_name ... +status +Checking table events_waits_summary_by_host_by_event_name ... +status +Checking table events_waits_summary_by_thread_by_event_name ... +status +Checking table events_waits_summary_by_user_by_event_name ... +status +Checking table events_waits_summary_global_by_event_name ... +status +Checking table file_summary_by_event_name ... +status +Checking table memory_summary_by_account_by_event_name ... +status +Checking table memory_summary_by_host_by_event_name ... +status +Checking table memory_summary_by_thread_by_event_name ... +status +Checking table memory_summary_by_user_by_event_name ... +status +Checking table memory_summary_global_by_event_name ... +status +Checking table socket_summary_by_event_name ... Warnings: Warning 12000 Done drop procedure check_instrument; diff --git a/mysql-test/suite/perfschema/r/part_table_io.result b/mysql-test/suite/perfschema/r/part_table_io.result index 2aa12851679..4c5d6764045 100644 --- a/mysql-test/suite/perfschema/r/part_table_io.result +++ b/mysql-test/suite/perfschema/r/part_table_io.result @@ -73,47 +73,39 @@ where event_name like 'wait/io/table/%' and object_schema in ("test") order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 3 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -123,9 +115,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -135,6 +133,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade_event.result b/mysql-test/suite/perfschema/r/pfs_upgrade_event.result index 65c76d8decc..cd1e174ccf8 100644 --- a/mysql-test/suite/perfschema/r/pfs_upgrade_event.result +++ b/mysql-test/suite/perfschema/r/pfs_upgrade_event.result @@ -3,63 +3,94 @@ drop event if exists test.user_event; create event test.user_event on schedule every 1 day do select "not supposed to be here"; update mysql.event set db='performance_schema' where name='user_event'; -Warning: Using a password on the command line interface can be insecure. -Warning: Using a password on the command line interface can be insecure. -Warning: Using a password on the command line interface can be insecure. -ERROR 1050 (42S01) at line 164: Table 'cond_instances' already exists -ERROR 1050 (42S01) at line 189: Table 'events_waits_current' already exists -ERROR 1050 (42S01) at line 214: Table 'events_waits_history' already exists -ERROR 1050 (42S01) at line 239: Table 'events_waits_history_long' already exists -ERROR 1050 (42S01) at line 252: Table 'events_waits_summary_by_instance' already exists -ERROR 1050 (42S01) at line 265: Table 'events_waits_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 278: Table 'events_waits_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 292: Table 'events_waits_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 305: Table 'events_waits_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 317: Table 'events_waits_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 326: Table 'file_instances' already exists -ERROR 1050 (42S01) at line 355: Table 'file_summary_by_event_name' already exists -ERROR 1050 (42S01) at line 386: Table 'file_summary_by_instance' already exists -ERROR 1050 (42S01) at line 399: Table 'socket_instances' already exists -ERROR 1050 (42S01) at line 429: Table 'socket_summary_by_instance' already exists -ERROR 1050 (42S01) at line 458: Table 'socket_summary_by_event_name' already exists -ERROR 1050 (42S01) at line 493: Table 'host_cache' already exists -ERROR 1050 (42S01) at line 502: Table 'mutex_instances' already exists -ERROR 1050 (42S01) at line 516: Table 'objects_summary_global_by_type' already exists -ERROR 1050 (42S01) at line 526: Table 'performance_timers' already exists -ERROR 1050 (42S01) at line 536: Table 'rwlock_instances' already exists -ERROR 1050 (42S01) at line 545: Table 'setup_actors' already exists -ERROR 1050 (42S01) at line 553: Table 'setup_consumers' already exists -ERROR 1050 (42S01) at line 562: Table 'setup_instruments' already exists -ERROR 1050 (42S01) at line 573: Table 'setup_objects' already exists -ERROR 1050 (42S01) at line 581: Table 'setup_timers' already exists -ERROR 1050 (42S01) at line 626: Table 'table_io_waits_summary_by_index_usage' already exists -ERROR 1050 (42S01) at line 670: Table 'table_io_waits_summary_by_table' already exists -ERROR 1050 (42S01) at line 749: Table 'table_lock_waits_summary_by_table' already exists -ERROR 1050 (42S01) at line 769: Table 'threads' already exists -ERROR 1050 (42S01) at line 785: Table 'events_stages_current' already exists -ERROR 1050 (42S01) at line 801: Table 'events_stages_history' already exists -ERROR 1050 (42S01) at line 817: Table 'events_stages_history_long' already exists -ERROR 1050 (42S01) at line 830: Table 'events_stages_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 843: Table 'events_stages_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 856: Table 'events_stages_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 870: Table 'events_stages_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 882: Table 'events_stages_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 928: Table 'events_statements_current' already exists -ERROR 1050 (42S01) at line 974: Table 'events_statements_history' already exists -ERROR 1050 (42S01) at line 1020: Table 'events_statements_history_long' already exists -ERROR 1050 (42S01) at line 1052: Table 'events_statements_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 1084: Table 'events_statements_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 1116: Table 'events_statements_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 1149: Table 'events_statements_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 1180: Table 'events_statements_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 1189: Table 'hosts' already exists -ERROR 1050 (42S01) at line 1198: Table 'users' already exists -ERROR 1050 (42S01) at line 1208: Table 'accounts' already exists -ERROR 1050 (42S01) at line 1243: Table 'events_statements_summary_by_digest' already exists -ERROR 1050 (42S01) at line 1253: Table 'session_connect_attrs' already exists -ERROR 1050 (42S01) at line 1259: Table 'session_account_connect_attrs' already exists -ERROR 1644 (HY000) at line 1852: Unexpected content found in the performance_schema database. -FATAL ERROR: Upgrade failed +mysql_upgrade: [ERROR] 1050: Table 'cond_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_summary_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_summary_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'host_cache' already exists +mysql_upgrade: [ERROR] 1050: Table 'mutex_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'objects_summary_global_by_type' already exists +mysql_upgrade: [ERROR] 1050: Table 'performance_timers' already exists +mysql_upgrade: [ERROR] 1050: Table 'rwlock_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_actors' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_consumers' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_instruments' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_objects' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_timers' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_index_usage' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_table' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_lock_waits_summary_by_table' already exists +mysql_upgrade: [ERROR] 1050: Table 'threads' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'hosts' already exists +mysql_upgrade: [ERROR] 1050: Table 'users' already exists +mysql_upgrade: [ERROR] 1050: Table 'accounts' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_digest' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_program' already exists +mysql_upgrade: [ERROR] 1050: Table 'prepared_statements_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_connection_configuration' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_group_member_stats' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_group_members' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_connection_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_configuration' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status_by_coordinator' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status_by_worker' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_connect_attrs' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_account_connect_attrs' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_handles' already exists +mysql_upgrade: [ERROR] 1050: Table 'metadata_locks' already exists +mysql_upgrade: [ERROR] 1050: Table 'user_variables_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'variables_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'global_variables' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_variables' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_user' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_host' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_account' already exists +mysql_upgrade: [ERROR] 1050: Table 'global_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_status' already exists +mysql_upgrade: [ERROR] 1644: Unexpected content found in the performance_schema database. select name from mysql.event where db='performance_schema'; name user_event diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade_func.result b/mysql-test/suite/perfschema/r/pfs_upgrade_func.result index 3bd4ddd9505..1a134c61398 100644 --- a/mysql-test/suite/perfschema/r/pfs_upgrade_func.result +++ b/mysql-test/suite/perfschema/r/pfs_upgrade_func.result @@ -3,63 +3,94 @@ drop function if exists test.user_func; create function test.user_func() returns integer return 0; update mysql.proc set db='performance_schema' where name='user_func'; -Warning: Using a password on the command line interface can be insecure. -Warning: Using a password on the command line interface can be insecure. -Warning: Using a password on the command line interface can be insecure. -ERROR 1050 (42S01) at line 164: Table 'cond_instances' already exists -ERROR 1050 (42S01) at line 189: Table 'events_waits_current' already exists -ERROR 1050 (42S01) at line 214: Table 'events_waits_history' already exists -ERROR 1050 (42S01) at line 239: Table 'events_waits_history_long' already exists -ERROR 1050 (42S01) at line 252: Table 'events_waits_summary_by_instance' already exists -ERROR 1050 (42S01) at line 265: Table 'events_waits_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 278: Table 'events_waits_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 292: Table 'events_waits_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 305: Table 'events_waits_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 317: Table 'events_waits_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 326: Table 'file_instances' already exists -ERROR 1050 (42S01) at line 355: Table 'file_summary_by_event_name' already exists -ERROR 1050 (42S01) at line 386: Table 'file_summary_by_instance' already exists -ERROR 1050 (42S01) at line 399: Table 'socket_instances' already exists -ERROR 1050 (42S01) at line 429: Table 'socket_summary_by_instance' already exists -ERROR 1050 (42S01) at line 458: Table 'socket_summary_by_event_name' already exists -ERROR 1050 (42S01) at line 493: Table 'host_cache' already exists -ERROR 1050 (42S01) at line 502: Table 'mutex_instances' already exists -ERROR 1050 (42S01) at line 516: Table 'objects_summary_global_by_type' already exists -ERROR 1050 (42S01) at line 526: Table 'performance_timers' already exists -ERROR 1050 (42S01) at line 536: Table 'rwlock_instances' already exists -ERROR 1050 (42S01) at line 545: Table 'setup_actors' already exists -ERROR 1050 (42S01) at line 553: Table 'setup_consumers' already exists -ERROR 1050 (42S01) at line 562: Table 'setup_instruments' already exists -ERROR 1050 (42S01) at line 573: Table 'setup_objects' already exists -ERROR 1050 (42S01) at line 581: Table 'setup_timers' already exists -ERROR 1050 (42S01) at line 626: Table 'table_io_waits_summary_by_index_usage' already exists -ERROR 1050 (42S01) at line 670: Table 'table_io_waits_summary_by_table' already exists -ERROR 1050 (42S01) at line 749: Table 'table_lock_waits_summary_by_table' already exists -ERROR 1050 (42S01) at line 769: Table 'threads' already exists -ERROR 1050 (42S01) at line 785: Table 'events_stages_current' already exists -ERROR 1050 (42S01) at line 801: Table 'events_stages_history' already exists -ERROR 1050 (42S01) at line 817: Table 'events_stages_history_long' already exists -ERROR 1050 (42S01) at line 830: Table 'events_stages_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 843: Table 'events_stages_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 856: Table 'events_stages_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 870: Table 'events_stages_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 882: Table 'events_stages_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 928: Table 'events_statements_current' already exists -ERROR 1050 (42S01) at line 974: Table 'events_statements_history' already exists -ERROR 1050 (42S01) at line 1020: Table 'events_statements_history_long' already exists -ERROR 1050 (42S01) at line 1052: Table 'events_statements_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 1084: Table 'events_statements_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 1116: Table 'events_statements_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 1149: Table 'events_statements_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 1180: Table 'events_statements_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 1189: Table 'hosts' already exists -ERROR 1050 (42S01) at line 1198: Table 'users' already exists -ERROR 1050 (42S01) at line 1208: Table 'accounts' already exists -ERROR 1050 (42S01) at line 1243: Table 'events_statements_summary_by_digest' already exists -ERROR 1050 (42S01) at line 1253: Table 'session_connect_attrs' already exists -ERROR 1050 (42S01) at line 1259: Table 'session_account_connect_attrs' already exists -ERROR 1644 (HY000) at line 1852: Unexpected content found in the performance_schema database. -FATAL ERROR: Upgrade failed +mysql_upgrade: [ERROR] 1050: Table 'cond_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_summary_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_summary_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'host_cache' already exists +mysql_upgrade: [ERROR] 1050: Table 'mutex_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'objects_summary_global_by_type' already exists +mysql_upgrade: [ERROR] 1050: Table 'performance_timers' already exists +mysql_upgrade: [ERROR] 1050: Table 'rwlock_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_actors' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_consumers' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_instruments' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_objects' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_timers' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_index_usage' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_table' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_lock_waits_summary_by_table' already exists +mysql_upgrade: [ERROR] 1050: Table 'threads' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'hosts' already exists +mysql_upgrade: [ERROR] 1050: Table 'users' already exists +mysql_upgrade: [ERROR] 1050: Table 'accounts' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_digest' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_program' already exists +mysql_upgrade: [ERROR] 1050: Table 'prepared_statements_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_connection_configuration' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_group_member_stats' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_group_members' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_connection_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_configuration' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status_by_coordinator' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status_by_worker' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_connect_attrs' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_account_connect_attrs' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_handles' already exists +mysql_upgrade: [ERROR] 1050: Table 'metadata_locks' already exists +mysql_upgrade: [ERROR] 1050: Table 'user_variables_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'variables_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'global_variables' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_variables' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_user' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_host' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_account' already exists +mysql_upgrade: [ERROR] 1050: Table 'global_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_status' already exists +mysql_upgrade: [ERROR] 1644: Unexpected content found in the performance_schema database. select name from mysql.proc where db='performance_schema'; name user_func diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade_proc.result b/mysql-test/suite/perfschema/r/pfs_upgrade_proc.result index 574061d9b9d..4a0f422f9f0 100644 --- a/mysql-test/suite/perfschema/r/pfs_upgrade_proc.result +++ b/mysql-test/suite/perfschema/r/pfs_upgrade_proc.result @@ -3,63 +3,94 @@ drop procedure if exists test.user_proc; create procedure test.user_proc() select "Not supposed to be here"; update mysql.proc set db='performance_schema' where name='user_proc'; -Warning: Using a password on the command line interface can be insecure. -Warning: Using a password on the command line interface can be insecure. -Warning: Using a password on the command line interface can be insecure. -ERROR 1050 (42S01) at line 164: Table 'cond_instances' already exists -ERROR 1050 (42S01) at line 189: Table 'events_waits_current' already exists -ERROR 1050 (42S01) at line 214: Table 'events_waits_history' already exists -ERROR 1050 (42S01) at line 239: Table 'events_waits_history_long' already exists -ERROR 1050 (42S01) at line 252: Table 'events_waits_summary_by_instance' already exists -ERROR 1050 (42S01) at line 265: Table 'events_waits_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 278: Table 'events_waits_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 292: Table 'events_waits_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 305: Table 'events_waits_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 317: Table 'events_waits_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 326: Table 'file_instances' already exists -ERROR 1050 (42S01) at line 355: Table 'file_summary_by_event_name' already exists -ERROR 1050 (42S01) at line 386: Table 'file_summary_by_instance' already exists -ERROR 1050 (42S01) at line 399: Table 'socket_instances' already exists -ERROR 1050 (42S01) at line 429: Table 'socket_summary_by_instance' already exists -ERROR 1050 (42S01) at line 458: Table 'socket_summary_by_event_name' already exists -ERROR 1050 (42S01) at line 493: Table 'host_cache' already exists -ERROR 1050 (42S01) at line 502: Table 'mutex_instances' already exists -ERROR 1050 (42S01) at line 516: Table 'objects_summary_global_by_type' already exists -ERROR 1050 (42S01) at line 526: Table 'performance_timers' already exists -ERROR 1050 (42S01) at line 536: Table 'rwlock_instances' already exists -ERROR 1050 (42S01) at line 545: Table 'setup_actors' already exists -ERROR 1050 (42S01) at line 553: Table 'setup_consumers' already exists -ERROR 1050 (42S01) at line 562: Table 'setup_instruments' already exists -ERROR 1050 (42S01) at line 573: Table 'setup_objects' already exists -ERROR 1050 (42S01) at line 581: Table 'setup_timers' already exists -ERROR 1050 (42S01) at line 626: Table 'table_io_waits_summary_by_index_usage' already exists -ERROR 1050 (42S01) at line 670: Table 'table_io_waits_summary_by_table' already exists -ERROR 1050 (42S01) at line 749: Table 'table_lock_waits_summary_by_table' already exists -ERROR 1050 (42S01) at line 769: Table 'threads' already exists -ERROR 1050 (42S01) at line 785: Table 'events_stages_current' already exists -ERROR 1050 (42S01) at line 801: Table 'events_stages_history' already exists -ERROR 1050 (42S01) at line 817: Table 'events_stages_history_long' already exists -ERROR 1050 (42S01) at line 830: Table 'events_stages_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 843: Table 'events_stages_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 856: Table 'events_stages_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 870: Table 'events_stages_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 882: Table 'events_stages_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 928: Table 'events_statements_current' already exists -ERROR 1050 (42S01) at line 974: Table 'events_statements_history' already exists -ERROR 1050 (42S01) at line 1020: Table 'events_statements_history_long' already exists -ERROR 1050 (42S01) at line 1052: Table 'events_statements_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 1084: Table 'events_statements_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 1116: Table 'events_statements_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 1149: Table 'events_statements_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 1180: Table 'events_statements_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 1189: Table 'hosts' already exists -ERROR 1050 (42S01) at line 1198: Table 'users' already exists -ERROR 1050 (42S01) at line 1208: Table 'accounts' already exists -ERROR 1050 (42S01) at line 1243: Table 'events_statements_summary_by_digest' already exists -ERROR 1050 (42S01) at line 1253: Table 'session_connect_attrs' already exists -ERROR 1050 (42S01) at line 1259: Table 'session_account_connect_attrs' already exists -ERROR 1644 (HY000) at line 1852: Unexpected content found in the performance_schema database. -FATAL ERROR: Upgrade failed +mysql_upgrade: [ERROR] 1050: Table 'cond_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_summary_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_summary_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'host_cache' already exists +mysql_upgrade: [ERROR] 1050: Table 'mutex_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'objects_summary_global_by_type' already exists +mysql_upgrade: [ERROR] 1050: Table 'performance_timers' already exists +mysql_upgrade: [ERROR] 1050: Table 'rwlock_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_actors' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_consumers' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_instruments' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_objects' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_timers' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_index_usage' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_table' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_lock_waits_summary_by_table' already exists +mysql_upgrade: [ERROR] 1050: Table 'threads' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'hosts' already exists +mysql_upgrade: [ERROR] 1050: Table 'users' already exists +mysql_upgrade: [ERROR] 1050: Table 'accounts' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_digest' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_program' already exists +mysql_upgrade: [ERROR] 1050: Table 'prepared_statements_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_connection_configuration' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_group_member_stats' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_group_members' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_connection_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_configuration' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status_by_coordinator' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status_by_worker' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_connect_attrs' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_account_connect_attrs' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_handles' already exists +mysql_upgrade: [ERROR] 1050: Table 'metadata_locks' already exists +mysql_upgrade: [ERROR] 1050: Table 'user_variables_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'variables_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'global_variables' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_variables' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_user' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_host' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_account' already exists +mysql_upgrade: [ERROR] 1050: Table 'global_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_status' already exists +mysql_upgrade: [ERROR] 1644: Unexpected content found in the performance_schema database. select name from mysql.proc where db='performance_schema'; name user_proc diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade_table.result b/mysql-test/suite/perfschema/r/pfs_upgrade_table.result index 79471353063..36134b1f22b 100644 --- a/mysql-test/suite/perfschema/r/pfs_upgrade_table.result +++ b/mysql-test/suite/perfschema/r/pfs_upgrade_table.result @@ -5,63 +5,94 @@ use performance_schema; show tables like "user_table"; Tables_in_performance_schema (user_table) user_table -Warning: Using a password on the command line interface can be insecure. -Warning: Using a password on the command line interface can be insecure. -Warning: Using a password on the command line interface can be insecure. -ERROR 1050 (42S01) at line 164: Table 'cond_instances' already exists -ERROR 1050 (42S01) at line 189: Table 'events_waits_current' already exists -ERROR 1050 (42S01) at line 214: Table 'events_waits_history' already exists -ERROR 1050 (42S01) at line 239: Table 'events_waits_history_long' already exists -ERROR 1050 (42S01) at line 252: Table 'events_waits_summary_by_instance' already exists -ERROR 1050 (42S01) at line 265: Table 'events_waits_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 278: Table 'events_waits_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 292: Table 'events_waits_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 305: Table 'events_waits_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 317: Table 'events_waits_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 326: Table 'file_instances' already exists -ERROR 1050 (42S01) at line 355: Table 'file_summary_by_event_name' already exists -ERROR 1050 (42S01) at line 386: Table 'file_summary_by_instance' already exists -ERROR 1050 (42S01) at line 399: Table 'socket_instances' already exists -ERROR 1050 (42S01) at line 429: Table 'socket_summary_by_instance' already exists -ERROR 1050 (42S01) at line 458: Table 'socket_summary_by_event_name' already exists -ERROR 1050 (42S01) at line 493: Table 'host_cache' already exists -ERROR 1050 (42S01) at line 502: Table 'mutex_instances' already exists -ERROR 1050 (42S01) at line 516: Table 'objects_summary_global_by_type' already exists -ERROR 1050 (42S01) at line 526: Table 'performance_timers' already exists -ERROR 1050 (42S01) at line 536: Table 'rwlock_instances' already exists -ERROR 1050 (42S01) at line 545: Table 'setup_actors' already exists -ERROR 1050 (42S01) at line 553: Table 'setup_consumers' already exists -ERROR 1050 (42S01) at line 562: Table 'setup_instruments' already exists -ERROR 1050 (42S01) at line 573: Table 'setup_objects' already exists -ERROR 1050 (42S01) at line 581: Table 'setup_timers' already exists -ERROR 1050 (42S01) at line 626: Table 'table_io_waits_summary_by_index_usage' already exists -ERROR 1050 (42S01) at line 670: Table 'table_io_waits_summary_by_table' already exists -ERROR 1050 (42S01) at line 749: Table 'table_lock_waits_summary_by_table' already exists -ERROR 1050 (42S01) at line 769: Table 'threads' already exists -ERROR 1050 (42S01) at line 785: Table 'events_stages_current' already exists -ERROR 1050 (42S01) at line 801: Table 'events_stages_history' already exists -ERROR 1050 (42S01) at line 817: Table 'events_stages_history_long' already exists -ERROR 1050 (42S01) at line 830: Table 'events_stages_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 843: Table 'events_stages_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 856: Table 'events_stages_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 870: Table 'events_stages_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 882: Table 'events_stages_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 928: Table 'events_statements_current' already exists -ERROR 1050 (42S01) at line 974: Table 'events_statements_history' already exists -ERROR 1050 (42S01) at line 1020: Table 'events_statements_history_long' already exists -ERROR 1050 (42S01) at line 1052: Table 'events_statements_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 1084: Table 'events_statements_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 1116: Table 'events_statements_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 1149: Table 'events_statements_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 1180: Table 'events_statements_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 1189: Table 'hosts' already exists -ERROR 1050 (42S01) at line 1198: Table 'users' already exists -ERROR 1050 (42S01) at line 1208: Table 'accounts' already exists -ERROR 1050 (42S01) at line 1243: Table 'events_statements_summary_by_digest' already exists -ERROR 1050 (42S01) at line 1253: Table 'session_connect_attrs' already exists -ERROR 1050 (42S01) at line 1259: Table 'session_account_connect_attrs' already exists -ERROR 1644 (HY000) at line 1852: Unexpected content found in the performance_schema database. -FATAL ERROR: Upgrade failed +mysql_upgrade: [ERROR] 1050: Table 'cond_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_summary_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_summary_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'host_cache' already exists +mysql_upgrade: [ERROR] 1050: Table 'mutex_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'objects_summary_global_by_type' already exists +mysql_upgrade: [ERROR] 1050: Table 'performance_timers' already exists +mysql_upgrade: [ERROR] 1050: Table 'rwlock_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_actors' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_consumers' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_instruments' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_objects' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_timers' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_index_usage' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_table' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_lock_waits_summary_by_table' already exists +mysql_upgrade: [ERROR] 1050: Table 'threads' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'hosts' already exists +mysql_upgrade: [ERROR] 1050: Table 'users' already exists +mysql_upgrade: [ERROR] 1050: Table 'accounts' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_digest' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_program' already exists +mysql_upgrade: [ERROR] 1050: Table 'prepared_statements_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_connection_configuration' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_group_member_stats' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_group_members' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_connection_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_configuration' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status_by_coordinator' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status_by_worker' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_connect_attrs' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_account_connect_attrs' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_handles' already exists +mysql_upgrade: [ERROR] 1050: Table 'metadata_locks' already exists +mysql_upgrade: [ERROR] 1050: Table 'user_variables_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'variables_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'global_variables' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_variables' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_user' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_host' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_account' already exists +mysql_upgrade: [ERROR] 1050: Table 'global_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_status' already exists +mysql_upgrade: [ERROR] 1644: Unexpected content found in the performance_schema database. show tables like "user_table"; Tables_in_performance_schema (user_table) user_table diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade_view.result b/mysql-test/suite/perfschema/r/pfs_upgrade_view.result index 90d44087bb0..dfed1199f87 100644 --- a/mysql-test/suite/perfschema/r/pfs_upgrade_view.result +++ b/mysql-test/suite/perfschema/r/pfs_upgrade_view.result @@ -5,63 +5,94 @@ use performance_schema; show tables like "user_view"; Tables_in_performance_schema (user_view) user_view -Warning: Using a password on the command line interface can be insecure. -Warning: Using a password on the command line interface can be insecure. -Warning: Using a password on the command line interface can be insecure. -ERROR 1050 (42S01) at line 164: Table 'cond_instances' already exists -ERROR 1050 (42S01) at line 189: Table 'events_waits_current' already exists -ERROR 1050 (42S01) at line 214: Table 'events_waits_history' already exists -ERROR 1050 (42S01) at line 239: Table 'events_waits_history_long' already exists -ERROR 1050 (42S01) at line 252: Table 'events_waits_summary_by_instance' already exists -ERROR 1050 (42S01) at line 265: Table 'events_waits_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 278: Table 'events_waits_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 292: Table 'events_waits_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 305: Table 'events_waits_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 317: Table 'events_waits_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 326: Table 'file_instances' already exists -ERROR 1050 (42S01) at line 355: Table 'file_summary_by_event_name' already exists -ERROR 1050 (42S01) at line 386: Table 'file_summary_by_instance' already exists -ERROR 1050 (42S01) at line 399: Table 'socket_instances' already exists -ERROR 1050 (42S01) at line 429: Table 'socket_summary_by_instance' already exists -ERROR 1050 (42S01) at line 458: Table 'socket_summary_by_event_name' already exists -ERROR 1050 (42S01) at line 493: Table 'host_cache' already exists -ERROR 1050 (42S01) at line 502: Table 'mutex_instances' already exists -ERROR 1050 (42S01) at line 516: Table 'objects_summary_global_by_type' already exists -ERROR 1050 (42S01) at line 526: Table 'performance_timers' already exists -ERROR 1050 (42S01) at line 536: Table 'rwlock_instances' already exists -ERROR 1050 (42S01) at line 545: Table 'setup_actors' already exists -ERROR 1050 (42S01) at line 553: Table 'setup_consumers' already exists -ERROR 1050 (42S01) at line 562: Table 'setup_instruments' already exists -ERROR 1050 (42S01) at line 573: Table 'setup_objects' already exists -ERROR 1050 (42S01) at line 581: Table 'setup_timers' already exists -ERROR 1050 (42S01) at line 626: Table 'table_io_waits_summary_by_index_usage' already exists -ERROR 1050 (42S01) at line 670: Table 'table_io_waits_summary_by_table' already exists -ERROR 1050 (42S01) at line 749: Table 'table_lock_waits_summary_by_table' already exists -ERROR 1050 (42S01) at line 769: Table 'threads' already exists -ERROR 1050 (42S01) at line 785: Table 'events_stages_current' already exists -ERROR 1050 (42S01) at line 801: Table 'events_stages_history' already exists -ERROR 1050 (42S01) at line 817: Table 'events_stages_history_long' already exists -ERROR 1050 (42S01) at line 830: Table 'events_stages_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 843: Table 'events_stages_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 856: Table 'events_stages_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 870: Table 'events_stages_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 882: Table 'events_stages_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 928: Table 'events_statements_current' already exists -ERROR 1050 (42S01) at line 974: Table 'events_statements_history' already exists -ERROR 1050 (42S01) at line 1020: Table 'events_statements_history_long' already exists -ERROR 1050 (42S01) at line 1052: Table 'events_statements_summary_by_thread_by_event_name' already exists -ERROR 1050 (42S01) at line 1084: Table 'events_statements_summary_by_host_by_event_name' already exists -ERROR 1050 (42S01) at line 1116: Table 'events_statements_summary_by_user_by_event_name' already exists -ERROR 1050 (42S01) at line 1149: Table 'events_statements_summary_by_account_by_event_name' already exists -ERROR 1050 (42S01) at line 1180: Table 'events_statements_summary_global_by_event_name' already exists -ERROR 1050 (42S01) at line 1189: Table 'hosts' already exists -ERROR 1050 (42S01) at line 1198: Table 'users' already exists -ERROR 1050 (42S01) at line 1208: Table 'accounts' already exists -ERROR 1050 (42S01) at line 1243: Table 'events_statements_summary_by_digest' already exists -ERROR 1050 (42S01) at line 1253: Table 'session_connect_attrs' already exists -ERROR 1050 (42S01) at line 1259: Table 'session_account_connect_attrs' already exists -ERROR 1644 (HY000) at line 1852: Unexpected content found in the performance_schema database. -FATAL ERROR: Upgrade failed +mysql_upgrade: [ERROR] 1050: Table 'cond_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_waits_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_summary_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'file_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_summary_by_instance' already exists +mysql_upgrade: [ERROR] 1050: Table 'socket_summary_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'host_cache' already exists +mysql_upgrade: [ERROR] 1050: Table 'mutex_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'objects_summary_global_by_type' already exists +mysql_upgrade: [ERROR] 1050: Table 'performance_timers' already exists +mysql_upgrade: [ERROR] 1050: Table 'rwlock_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_actors' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_consumers' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_instruments' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_objects' already exists +mysql_upgrade: [ERROR] 1050: Table 'setup_timers' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_index_usage' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_io_waits_summary_by_table' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_lock_waits_summary_by_table' already exists +mysql_upgrade: [ERROR] 1050: Table 'threads' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_stages_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_current' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_history' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_history_long' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_transactions_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'hosts' already exists +mysql_upgrade: [ERROR] 1050: Table 'users' already exists +mysql_upgrade: [ERROR] 1050: Table 'accounts' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_global_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_thread_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_account_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_host_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'memory_summary_by_user_by_event_name' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_digest' already exists +mysql_upgrade: [ERROR] 1050: Table 'events_statements_summary_by_program' already exists +mysql_upgrade: [ERROR] 1050: Table 'prepared_statements_instances' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_connection_configuration' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_group_member_stats' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_group_members' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_connection_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_configuration' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status_by_coordinator' already exists +mysql_upgrade: [ERROR] 1050: Table 'replication_applier_status_by_worker' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_connect_attrs' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_account_connect_attrs' already exists +mysql_upgrade: [ERROR] 1050: Table 'table_handles' already exists +mysql_upgrade: [ERROR] 1050: Table 'metadata_locks' already exists +mysql_upgrade: [ERROR] 1050: Table 'user_variables_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'variables_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'global_variables' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_variables' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_thread' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_user' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_host' already exists +mysql_upgrade: [ERROR] 1050: Table 'status_by_account' already exists +mysql_upgrade: [ERROR] 1050: Table 'global_status' already exists +mysql_upgrade: [ERROR] 1050: Table 'session_status' already exists +mysql_upgrade: [ERROR] 1644: Unexpected content found in the performance_schema database. show tables like "user_view"; Tables_in_performance_schema (user_view) user_view diff --git a/mysql-test/suite/perfschema/r/prepared_statements.result b/mysql-test/suite/perfschema/r/prepared_statements.result new file mode 100644 index 00000000000..c11b486094e --- /dev/null +++ b/mysql-test/suite/perfschema/r/prepared_statements.result @@ -0,0 +1,672 @@ +CREATE DATABASE db; +USE db; +TRUNCATE TABLE performance_schema.prepared_statements_instances ; +TRUNCATE TABLE performance_schema.events_statements_history_long ; +CREATE TABLE t1 (a INT NOT NULL); +INSERT INTO t1 VALUES (4), (8), (11), (32), (80); +PREPARE st1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse'; +SET @table = 't1'; +SET @s = CONCAT('SELECT * FROM ', @table); +PREPARE st2 FROM @s; +PREPARE st3 FROM 'INSERT INTO t1 SELECT * FROM t1 WHERE a<=?'; +PREPARE st4 FROM +'(SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a'; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st1 +SQL_TEXT SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +STATEMENT_NAME st2 +SQL_TEXT SELECT * FROM t1 +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +STATEMENT_NAME st3 +SQL_TEXT INSERT INTO t1 SELECT * FROM t1 WHERE a<=? +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +STATEMENT_NAME st4 +SQL_TEXT (SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +SELECT EVENT_NAME, SQL_TEXT, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA='db' ; +EVENT_NAME statement/sql/truncate +SQL_TEXT TRUNCATE TABLE performance_schema.events_statements_history_long +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/create_table +SQL_TEXT CREATE TABLE t1 (a INT NOT NULL) +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/insert +SQL_TEXT INSERT INTO t1 VALUES (4), (8), (11), (32), (80) +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @table = 't1' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @s = CONCAT('SELECT * FROM ', @table) +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st2 FROM @s +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st3 FROM 'INSERT INTO t1 SELECT * FROM t1 WHERE a<=?' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st4 FROM +'(SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/select +SQL_TEXT SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +SET @a = 3; +SET @b = 4; +EXECUTE st1 USING @a, @b; +hypotenuse +5 +EXECUTE st2; +a +4 +8 +11 +32 +80 +SET @c=3; +EXECUTE st3 using @c; +EXECUTE st4; +a +4 +8 +11 +14 +18 +21 +32 +42 +80 +90 +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st1 +SQL_TEXT SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse +COUNT_REPREPARE 0 +COUNT_EXECUTE 1 +SUM_ROWS_SENT 1 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +STATEMENT_NAME st2 +SQL_TEXT SELECT * FROM t1 +COUNT_REPREPARE 0 +COUNT_EXECUTE 1 +SUM_ROWS_SENT 5 +SUM_SELECT_SCAN 1 +SUM_NO_INDEX_USED 1 +STATEMENT_NAME st3 +SQL_TEXT INSERT INTO t1 SELECT * FROM t1 WHERE a<=? +COUNT_REPREPARE 0 +COUNT_EXECUTE 1 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 1 +SUM_NO_INDEX_USED 1 +STATEMENT_NAME st4 +SQL_TEXT (SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a +COUNT_REPREPARE 0 +COUNT_EXECUTE 1 +SUM_ROWS_SENT 10 +SUM_SELECT_SCAN 3 +SUM_NO_INDEX_USED 1 +SELECT EVENT_NAME, SQL_TEXT, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA='db' ; +EVENT_NAME statement/sql/truncate +SQL_TEXT TRUNCATE TABLE performance_schema.events_statements_history_long +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/create_table +SQL_TEXT CREATE TABLE t1 (a INT NOT NULL) +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/insert +SQL_TEXT INSERT INTO t1 VALUES (4), (8), (11), (32), (80) +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @table = 't1' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @s = CONCAT('SELECT * FROM ', @table) +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st2 FROM @s +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st3 FROM 'INSERT INTO t1 SELECT * FROM t1 WHERE a<=?' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st4 FROM +'(SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/select +SQL_TEXT SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/select +SQL_TEXT SELECT EVENT_NAME, SQL_TEXT, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA='db' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @a = 3 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @b = 4 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/execute_sql +SQL_TEXT EXECUTE st1 USING @a, @b +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/execute_sql +SQL_TEXT EXECUTE st2 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @c=3 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/execute_sql +SQL_TEXT EXECUTE st3 using @c +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/execute_sql +SQL_TEXT EXECUTE st4 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/select +SQL_TEXT SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +TRUNCATE TABLE performance_schema.prepared_statements_instances ; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st1 +SQL_TEXT SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +STATEMENT_NAME st2 +SQL_TEXT SELECT * FROM t1 +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +STATEMENT_NAME st3 +SQL_TEXT INSERT INTO t1 SELECT * FROM t1 WHERE a<=? +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +STATEMENT_NAME st4 +SQL_TEXT (SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +DEALLOCATE PREPARE st1; +DEALLOCATE PREPARE st2; +DEALLOCATE PREPARE st3; +DEALLOCATE PREPARE st4; +DROP TABLE t1; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +SELECT EVENT_NAME, SQL_TEXT, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA='db' ; +EVENT_NAME statement/sql/truncate +SQL_TEXT TRUNCATE TABLE performance_schema.events_statements_history_long +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/create_table +SQL_TEXT CREATE TABLE t1 (a INT NOT NULL) +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/insert +SQL_TEXT INSERT INTO t1 VALUES (4), (8), (11), (32), (80) +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @table = 't1' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @s = CONCAT('SELECT * FROM ', @table) +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st2 FROM @s +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st3 FROM 'INSERT INTO t1 SELECT * FROM t1 WHERE a<=?' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/prepare_sql +SQL_TEXT PREPARE st4 FROM +'(SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/select +SQL_TEXT SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/select +SQL_TEXT SELECT EVENT_NAME, SQL_TEXT, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA='db' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @a = 3 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @b = 4 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/execute_sql +SQL_TEXT EXECUTE st1 USING @a, @b +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/execute_sql +SQL_TEXT EXECUTE st2 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/set_option +SQL_TEXT SET @c=3 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/execute_sql +SQL_TEXT EXECUTE st3 using @c +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/execute_sql +SQL_TEXT EXECUTE st4 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/select +SQL_TEXT SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/select +SQL_TEXT SELECT EVENT_NAME, SQL_TEXT, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA='db' +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/truncate +SQL_TEXT TRUNCATE TABLE performance_schema.prepared_statements_instances +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/select +SQL_TEXT SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/dealloc_sql +SQL_TEXT DEALLOCATE PREPARE st1 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/dealloc_sql +SQL_TEXT DEALLOCATE PREPARE st2 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/dealloc_sql +SQL_TEXT DEALLOCATE PREPARE st3 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/dealloc_sql +SQL_TEXT DEALLOCATE PREPARE st4 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/drop_table +SQL_TEXT DROP TABLE t1 +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +EVENT_NAME statement/sql/select +SQL_TEXT SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +TRUNCATE TABLE performance_schema.events_statements_history_long ; +UPDATE performance_schema.setup_consumers SET ENABLED = 'NO'; +CREATE TABLE t1 (a INT NOT NULL); +INSERT INTO t1 VALUES (4), (8), (11), (32), (80); +PREPARE st1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse'; +SET @table = 't1'; +SET @s = CONCAT('SELECT * FROM ', @table); +PREPARE st2 FROM @s; +PREPARE st3 FROM 'INSERT INTO t1 SELECT * FROM t1 WHERE a<=?'; +PREPARE st4 FROM +'(SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a'; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +SELECT EVENT_NAME, SQL_TEXT, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA='db' ; +EVENT_NAME statement/sql/truncate +SQL_TEXT TRUNCATE TABLE performance_schema.events_statements_history_long +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +SET @a = 3; +SET @b = 4; +EXECUTE st1 USING @a, @b; +hypotenuse +5 +EXECUTE st2; +a +4 +8 +11 +32 +80 +SET @c=3; +EXECUTE st3 using @c; +EXECUTE st4; +a +4 +8 +11 +14 +18 +21 +32 +42 +80 +90 +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +SELECT EVENT_NAME, SQL_TEXT, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA='db' ; +EVENT_NAME statement/sql/truncate +SQL_TEXT TRUNCATE TABLE performance_schema.events_statements_history_long +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +DEALLOCATE PREPARE st1; +DEALLOCATE PREPARE st2; +DEALLOCATE PREPARE st3; +DEALLOCATE PREPARE st4; +DROP TABLE t1; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +SELECT EVENT_NAME, SQL_TEXT, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA='db' ; +EVENT_NAME statement/sql/truncate +SQL_TEXT TRUNCATE TABLE performance_schema.events_statements_history_long +OBJECT_TYPE NULL +OBJECT_SCHEMA NULL +OBJECT_NAME NULL +TRUNCATE TABLE performance_schema.events_statements_history_long ; +UPDATE performance_schema.setup_consumers SET ENABLED = 'YES'; +PREPARE st FROM 'SELECT SUM(1000 + ?) AS total'; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT SUM(1000 + ?) AS total +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +SET @d=100; +EXECUTE st USING @d; +total +1100 +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT SUM(1000 + ?) AS total +COUNT_REPREPARE 0 +COUNT_EXECUTE 1 +SUM_ROWS_SENT 1 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +SET @d = @d + 100; +EXECUTE st USING @d; +total +1200 +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT SUM(1000 + ?) AS total +COUNT_REPREPARE 0 +COUNT_EXECUTE 2 +SUM_ROWS_SENT 2 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +SET @d = @d + 100; +EXECUTE st USING @d; +total +1300 +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT SUM(1000 + ?) AS total +COUNT_REPREPARE 0 +COUNT_EXECUTE 3 +SUM_ROWS_SENT 3 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +SET @d = @d + 100; +EXECUTE st USING @d; +total +1400 +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT SUM(1000 + ?) AS total +COUNT_REPREPARE 0 +COUNT_EXECUTE 4 +SUM_ROWS_SENT 4 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +SET @d = @d + 100; +EXECUTE st USING @d; +total +1500 +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT SUM(1000 + ?) AS total +COUNT_REPREPARE 0 +COUNT_EXECUTE 5 +SUM_ROWS_SENT 5 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +SET @d = @d + 100; +EXECUTE st USING @d; +total +1600 +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT SUM(1000 + ?) AS total +COUNT_REPREPARE 0 +COUNT_EXECUTE 6 +SUM_ROWS_SENT 6 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +TRUNCATE TABLE performance_schema.prepared_statements_instances ; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT SUM(1000 + ?) AS total +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +UPDATE performance_schema.setup_instruments SET ENABLED = 'NO' +WHERE NAME like "statement/sql/execute%"; +SET @d=3274; +EXECUTE st USING @d; +total +4274 +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT SUM(1000 + ?) AS total +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +UPDATE performance_schema.setup_instruments SET ENABLED = 'NO' + WHERE NAME like "statement/sql/prepare%"; +DEALLOCATE PREPARE st; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +UPDATE performance_schema.setup_instruments SET ENABLED = 'YES' + WHERE NAME like "statement/sql/prepare%"; +UPDATE performance_schema.setup_instruments SET ENABLED = 'YES' +WHERE NAME like "statement/sql/execute%"; +CREATE TABLE tab( +Id INT, +name CHAR(10), +age INT +); +INSERT INTO tab VALUES(1,"Nakshatr",25),(2,"chanda",24),(3,"tejas",78); +PREPARE st FROM 'SELECT * FROM tab'; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT * FROM tab +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +EXECUTE st; +Id name age +1 Nakshatr 25 +2 chanda 24 +3 tejas 78 +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT * FROM tab +COUNT_REPREPARE 0 +COUNT_EXECUTE 1 +SUM_ROWS_SENT 3 +SUM_SELECT_SCAN 1 +SUM_NO_INDEX_USED 1 +ALTER TABLE tab DROP COLUMN age; +EXECUTE st; +Id name +1 Nakshatr +2 chanda +3 tejas +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT * FROM tab +COUNT_REPREPARE 1 +COUNT_EXECUTE 2 +SUM_ROWS_SENT 6 +SUM_SELECT_SCAN 2 +SUM_NO_INDEX_USED 2 +ALTER TABLE tab ADD COLUMN age INT NULL; +EXECUTE st; +Id name age +1 Nakshatr NULL +2 chanda NULL +3 tejas NULL +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT * FROM tab +COUNT_REPREPARE 2 +COUNT_EXECUTE 3 +SUM_ROWS_SENT 9 +SUM_SELECT_SCAN 3 +SUM_NO_INDEX_USED 3 +TRUNCATE TABLE performance_schema.prepared_statements_instances ; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +STATEMENT_NAME st +SQL_TEXT SELECT * FROM tab +COUNT_REPREPARE 0 +COUNT_EXECUTE 0 +SUM_ROWS_SENT 0 +SUM_SELECT_SCAN 0 +SUM_NO_INDEX_USED 0 +DEALLOCATE PREPARE st; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances ; +TRUNCATE TABLE performance_schema.prepared_statements_instances ; +TRUNCATE TABLE performance_schema.events_statements_history_long ; +DROP TABLE tab; +DROP DATABASE db; diff --git a/mysql-test/suite/perfschema/r/prepared_stmts_by_stored_programs.result b/mysql-test/suite/perfschema/r/prepared_stmts_by_stored_programs.result new file mode 100644 index 00000000000..ba0652de1a3 --- /dev/null +++ b/mysql-test/suite/perfschema/r/prepared_stmts_by_stored_programs.result @@ -0,0 +1,128 @@ +TRUNCATE TABLE performance_schema.prepared_statements_instances; +CREATE DATABASE db; +USE db; +CREATE TABLE t +( +a INT, +b CHAR(10), +name CHAR(10) +); +SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +INSERT INTO t VALUES (1,"kuchipudi","Vempati"); +INSERT INTO t VALUES (2,"odissi","Mohapatra"); +INSERT INTO t VALUES (3,"kathak","Maharaj"); +INSERT INTO t VALUES (4,"mohiyattam","Kalyanikutty"); +Warnings: +Warning 1265 Data truncated for column 'name' at row 1 +INSERT INTO t VALUES (5,"manipuri","Guru"); +INSERT INTO t VALUES (6,"kathakali","Manavedan"); +SET sql_mode= default; +CREATE PROCEDURE p1() +BEGIN +PREPARE st FROM 'SELECT * FROM t WHERE a<=?' ; +SET @a=3; +EXECUTE st using @a; +END| +CALL p1()| +a b name +1 kuchipudi Vempati +2 odissi Mohapatra +3 kathak Maharaj +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +st SELECT * FROM t WHERE a<=? 1 0 PROCEDURE db p1 +DEALLOCATE PREPARE st| +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +CREATE PROCEDURE p2() +BEGIN +PREPARE st1 FROM 'INSERT INTO t SELECT * FROM t WHERE a<=?' ; +END| +CALL p2()| +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +st1 INSERT INTO t SELECT * FROM t WHERE a<=? 0 0 PROCEDURE db p2 +SET @a=4| +EXECUTE st1 using @a| +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +st1 INSERT INTO t SELECT * FROM t WHERE a<=? 1 0 PROCEDURE db p2 +CREATE PROCEDURE p3() +BEGIN +SET @a=2; +EXECUTE st1 using @a; +END| +CALL p3()| +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +st1 INSERT INTO t SELECT * FROM t WHERE a<=? 2 0 PROCEDURE db p2 +DEALLOCATE PREPARE st1| +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +PREPARE st2 FROM 'UPDATE t SET a=a+1 WHERE b=?'| +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +st2 UPDATE t SET a=a+1 WHERE b=? 0 0 NULL NULL NULL +CREATE PROCEDURE p4() +BEGIN +SET @b='kuchipudi'; +EXECUTE st2 USING @b; +END| +CALL p4()| +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +st2 UPDATE t SET a=a+1 WHERE b=? 1 0 NULL NULL NULL +ALTER TABLE t DROP COLUMN name; +# COUNT_REPREPARE must be 1 +CALL p4()| +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +st2 UPDATE t SET a=a+1 WHERE b=? 2 1 NULL NULL NULL +DEALLOCATE PREPARE st2| +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +CREATE PROCEDURE p5() +BEGIN +SET @a=1; +SELECT @a; +END| +PREPARE st3 FROM 'CALL p5()'| +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +st3 CALL p5() 0 0 NULL NULL NULL +EXECUTE st3| +@a +1 +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +st3 CALL p5() 1 0 NULL NULL NULL +DEALLOCATE PREPARE st3| +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances| +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +CREATE TABLE tab(a INT); +SET GLOBAL event_scheduler=ON; +CREATE EVENT e1 ON SCHEDULE EVERY 10 HOUR DO +BEGIN +PREPARE st FROM 'INSERT INTO tab VALUES(?)'; +SET @a=1; +EXECUTE st USING @a; +END| +SELECT * FROM tab LIMIT 1; +a +1 +SET GLOBAL event_scheduler=OFF; +SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances; +STATEMENT_NAME SQL_TEXT COUNT_EXECUTE COUNT_REPREPARE OWNER_OBJECT_TYPE OWNER_OBJECT_SCHEMA OWNER_OBJECT_NAME +TRUNCATE TABLE performance_schema.prepared_statements_instances; +TRUNCATE TABLE performance_schema.events_statements_history_long; +DROP TABLE t; +DROP TABLE tab; +DROP PROCEDURE p1; +DROP PROCEDURE p2; +DROP PROCEDURE p3; +DROP PROCEDURE p4; +DROP PROCEDURE p5; +DROP EVENT IF EXISTS e1; +DROP DATABASE db; diff --git a/mysql-test/suite/perfschema/r/privilege.result b/mysql-test/suite/perfschema/r/privilege.result index f7d0eddfb2d..10338898d34 100644 --- a/mysql-test/suite/perfschema/r/privilege.result +++ b/mysql-test/suite/perfschema/r/privilege.result @@ -1,12 +1,20 @@ +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. show grants; Grants for root@localhost GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION grant ALL on *.* to 'pfs_user_1'@localhost with GRANT OPTION; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant ALL on performance_schema.* to 'pfs_user_2'@localhost with GRANT OPTION; ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' grant CREATE on performance_schema.* to 'pfs_user_2'@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant DROP on performance_schema.* to 'pfs_user_2'@localhost; grant REFERENCES on performance_schema.* to 'pfs_user_2'@localhost; ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' @@ -39,6 +47,8 @@ grant ALL on performance_schema.setup_instruments to 'pfs_user_3'@localhost with GRANT OPTION; ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' grant CREATE on performance_schema.setup_instruments to 'pfs_user_3'@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant DROP on performance_schema.setup_instruments to 'pfs_user_3'@localhost; grant REFERENCES on performance_schema.setup_instruments to 'pfs_user_3'@localhost; ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' @@ -579,3 +589,14 @@ UPDATE performance_schema.setup_timers SET timer_name = 'MICROSECOND' where name UPDATE performance_schema.setup_timers SET timer_name = 'CYCLE' where name="wait"; UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND' where name="stage"; UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND' where name="statement"; +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +# +# WL#2284: Increase the length of a user name +# +CREATE USER 'user_name_len_22_01234'@localhost; +GRANT ALL ON performance_schema.* TO 'user_name_len_22_01234'@localhost with GRANT OPTION; +ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_schema' +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_name_len_22_01234'@localhost; +DROP USER 'user_name_len_22_01234'@localhost; diff --git a/mysql-test/suite/perfschema/r/privilege_table_io.result b/mysql-test/suite/perfschema/r/privilege_table_io.result index eee29e1d8e2..8e67048b182 100644 --- a/mysql-test/suite/perfschema/r/privilege_table_io.result +++ b/mysql-test/suite/perfschema/r/privilege_table_io.result @@ -22,9 +22,7 @@ flush privileges; insert into test.marker set a = 1; insert into test.marker set a = 1; insert into test.marker set a = 1; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -33,31 +31,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -67,9 +76,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -79,6 +94,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -94,24 +110,27 @@ where event_name like 'wait/io/table/%' and object_schema in ("test", "mysql") order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql user fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql db fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql db fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql db fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql tables_priv fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql procs_priv fetch NULL -wait/io/table/sql/handler handler.cc: TABLE mysql servers fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE mysql user fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql user fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql user fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql user fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql user fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql user fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql db fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql db fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql db fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql db fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql tables_priv fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql tables_priv fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql procs_priv fetch 1 +wait/io/table/sql/handler handler.cc: TABLE mysql servers fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -121,9 +140,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -133,6 +158,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/query_cache.result b/mysql-test/suite/perfschema/r/query_cache.result index 837c2573a72..60b3da24320 100644 --- a/mysql-test/suite/perfschema/r/query_cache.result +++ b/mysql-test/suite/perfschema/r/query_cache.result @@ -10,13 +10,13 @@ a 1 2 3 -show status like "Qcache_queries_in_cache"; +show global status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 1 -show status like "Qcache_inserts"; +show global status like "Qcache_inserts"; Variable_name Value Qcache_inserts 1 -show status like "Qcache_hits"; +show global status like "Qcache_hits"; Variable_name Value Qcache_hits 0 select * from t1; @@ -24,13 +24,13 @@ a 1 2 3 -show status like "Qcache_queries_in_cache"; +show global status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 1 -show status like "Qcache_inserts"; +show global status like "Qcache_inserts"; Variable_name Value Qcache_inserts 1 -show status like "Qcache_hits"; +show global status like "Qcache_hits"; Variable_name Value Qcache_hits 1 select spins from performance_schema.events_waits_current order by event_name limit 1; @@ -39,13 +39,13 @@ NULL select * from performance_schema.setup_timers where name='wait'; NAME TIMER_NAME wait {CYCLE_OR_NANOSECOND} -show status like "Qcache_queries_in_cache"; +show global status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 1 -show status like "Qcache_inserts"; +show global status like "Qcache_inserts"; Variable_name Value Qcache_inserts 1 -show status like "Qcache_hits"; +show global status like "Qcache_hits"; Variable_name Value Qcache_hits 1 select spins from performance_schema.events_waits_current order by event_name limit 1; @@ -54,13 +54,13 @@ NULL select * from performance_schema.setup_timers where name='wait'; NAME TIMER_NAME wait {CYCLE_OR_NANOSECOND} -show status like "Qcache_queries_in_cache"; +show global status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 1 -show status like "Qcache_inserts"; +show global status like "Qcache_inserts"; Variable_name Value Qcache_inserts 1 -show status like "Qcache_hits"; +show global status like "Qcache_hits"; Variable_name Value Qcache_hits 1 SET GLOBAL query_cache_size= default; diff --git a/mysql-test/suite/perfschema/r/read_only.result b/mysql-test/suite/perfschema/r/read_only.result index 19108326f1b..4a4e04acf34 100644 --- a/mysql-test/suite/perfschema/r/read_only.result +++ b/mysql-test/suite/perfschema/r/read_only.result @@ -1,6 +1,15 @@ use performance_schema; set @start_read_only= @@global.read_only; +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant SELECT, UPDATE on performance_schema.* to pfsuser@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. flush privileges; connect (con1, localhost, pfsuser, , test); connection default; diff --git a/mysql-test/suite/perfschema/r/relaylog.result b/mysql-test/suite/perfschema/r/relaylog.result index 2b11019799b..06348cc9c6a 100644 --- a/mysql-test/suite/perfschema/r/relaylog.result +++ b/mysql-test/suite/perfschema/r/relaylog.result @@ -50,7 +50,9 @@ from performance_schema.file_summary_by_event_name where event_name like "%binlog%" order by event_name; EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE wait/io/file/sql/binlog MANY MANY MANY MANY +wait/io/file/sql/binlog_cache NONE NONE NONE NONE wait/io/file/sql/binlog_index MANY NONE NONE NONE +wait/io/file/sql/binlog_index_cache NONE NONE NONE NONE select EVENT_NAME, if (count_star > 0, "MANY", "NONE") as COUNT_STAR @@ -61,6 +63,7 @@ where event_name like "%MYSQL_BIN_LOG%" EVENT_NAME COUNT_STAR wait/synch/cond/sql/MYSQL_BIN_LOG::COND_done NONE wait/synch/cond/sql/MYSQL_BIN_LOG::prep_xids_cond NONE +wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_binlog_end_pos MANY wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit MANY wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit_queue MANY wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_done MANY @@ -78,7 +81,9 @@ select * from performance_schema.file_summary_by_event_name where event_name like "%relaylog%" order by event_name; EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC wait/io/file/sql/relaylog 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +wait/io/file/sql/relaylog_cache 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 wait/io/file/sql/relaylog_index 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +wait/io/file/sql/relaylog_index_cache 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 select * from performance_schema.events_waits_summary_global_by_event_name where event_name like "%MYSQL_RELAY_LOG%" and event_name not like "%MYSQL_RELAY_LOG::update_cond" @@ -142,7 +147,9 @@ from performance_schema.file_summary_by_event_name where event_name like "%binlog%" order by event_name; EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE wait/io/file/sql/binlog MANY MANY MANY MANY +wait/io/file/sql/binlog_cache NONE NONE NONE NONE wait/io/file/sql/binlog_index MANY NONE MANY NONE +wait/io/file/sql/binlog_index_cache NONE NONE NONE NONE select EVENT_NAME, if (count_star > 0, "MANY", "NONE") as COUNT_STAR @@ -153,6 +160,7 @@ where event_name like "%MYSQL_BIN_LOG%" EVENT_NAME COUNT_STAR wait/synch/cond/sql/MYSQL_BIN_LOG::COND_done NONE wait/synch/cond/sql/MYSQL_BIN_LOG::prep_xids_cond NONE +wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_binlog_end_pos MANY wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit MANY wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit_queue MANY wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_done MANY @@ -189,7 +197,9 @@ from performance_schema.file_summary_by_event_name where event_name like "%relaylog%" order by event_name; EVENT_NAME COUNT_READ COUNT_WRITE SUM_NUMBER_OF_BYTES_READ SUM_NUMBER_OF_BYTES_WRITE wait/io/file/sql/relaylog MANY MANY MANY MANY +wait/io/file/sql/relaylog_cache NONE NONE NONE NONE wait/io/file/sql/relaylog_index MANY NONE NONE NONE +wait/io/file/sql/relaylog_index_cache NONE NONE NONE NONE select EVENT_NAME, if (count_star > 0, "MANY", "NONE") as COUNT_STAR diff --git a/mysql-test/suite/perfschema/r/rollback_table_io.result b/mysql-test/suite/perfschema/r/rollback_table_io.result index 50181ecd2d5..cb70a9be37e 100644 --- a/mysql-test/suite/perfschema/r/rollback_table_io.result +++ b/mysql-test/suite/perfschema/r/rollback_table_io.result @@ -41,19 +41,19 @@ where event_name like 'wait/io/table/%' and object_schema in ('test') order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 delete NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 update NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 delete 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 update 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -63,9 +63,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -75,6 +81,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/rpl_group_member_stats.result b/mysql-test/suite/perfschema/r/rpl_group_member_stats.result new file mode 100644 index 00000000000..4ac0471ba55 --- /dev/null +++ b/mysql-test/suite/perfschema/r/rpl_group_member_stats.result @@ -0,0 +1,8 @@ +include/assert.inc [The value of member_id should not be present] +include/assert.inc [The value of view_id should not be present] +include/assert.inc [The value of Count_Transactions_in_queue should be 0] +include/assert.inc [The value of Count_Transactions_checked should be 0] +include/assert.inc [The value of Count_conflicts_detected should be 0] +include/assert.inc [The value of Count_Transactions_validating should be 0] +include/assert.inc [The value of Transactions_Committed_all_members should be 0] +include/assert.inc [The value of Last_conflict_free_transaction should not be present] diff --git a/mysql-test/suite/perfschema/r/rpl_group_members.result b/mysql-test/suite/perfschema/r/rpl_group_members.result new file mode 100644 index 00000000000..2715a0d9f23 --- /dev/null +++ b/mysql-test/suite/perfschema/r/rpl_group_members.result @@ -0,0 +1,5 @@ +include/assert.inc [The value of channel name should be empty] +include/assert.inc [The value of member_id should be empty] +include/assert.inc [The value of member_host should be empty] +include/assert.inc [The value of member_port should be empty] +include/assert.inc [The value of member_state should be empty] diff --git a/mysql-test/suite/perfschema/r/rpl_gtid_func.result b/mysql-test/suite/perfschema/r/rpl_gtid_func.result index 5573370ede1..73e9525a271 100644 --- a/mysql-test/suite/perfschema/r/rpl_gtid_func.result +++ b/mysql-test/suite/perfschema/r/rpl_gtid_func.result @@ -21,7 +21,7 @@ update performance_schema.setup_instruments set enabled='YES', timed='NO'; **** On Master **** select * from performance_schema.setup_instruments -where timed='NO'; +where timed='NO' and name not like "memory/%"; NAME ENABLED TIMED select "This better be in the master" as in_master_digest; in_master_digest @@ -31,16 +31,32 @@ values ('TABLE', 'master', 'foo', 'YES', 'YES'); select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED +EVENT % % YES YES +EVENT information_schema % NO NO +EVENT mysql % NO NO +EVENT performance_schema % NO NO +FUNCTION % % YES YES +FUNCTION information_schema % NO NO +FUNCTION mysql % NO NO +FUNCTION performance_schema % NO NO +PROCEDURE % % YES YES +PROCEDURE information_schema % NO NO +PROCEDURE mysql % NO NO +PROCEDURE performance_schema % NO NO TABLE % % YES YES TABLE information_schema % NO NO TABLE master foo YES YES TABLE mysql % NO NO TABLE performance_schema % NO NO +TRIGGER % % YES YES +TRIGGER information_schema % NO NO +TRIGGER mysql % NO NO +TRIGGER performance_schema % NO NO select digest, digest_text, count_star from performance_schema.events_statements_summary_by_digest where digest_text like "%in_%_digest%"; digest digest_text count_star -83fd516ccb1407eac535df09e5dd1e50 SELECT ? AS `in_master_digest` 1 +dc3177eb15d923e08c09eef29cecd9a4 SELECT ? AS `in_master_digest` 1 insert into test.marker values (2); **** On Slave **** select * from test.marker; @@ -58,16 +74,32 @@ values ('TABLE', 'slave', 'foo', 'YES', 'YES'); select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED +EVENT % % YES YES +EVENT information_schema % NO NO +EVENT mysql % NO NO +EVENT performance_schema % NO NO +FUNCTION % % YES YES +FUNCTION information_schema % NO NO +FUNCTION mysql % NO NO +FUNCTION performance_schema % NO NO +PROCEDURE % % YES YES +PROCEDURE information_schema % NO NO +PROCEDURE mysql % NO NO +PROCEDURE performance_schema % NO NO TABLE % % YES YES TABLE information_schema % NO NO TABLE mysql % NO NO TABLE performance_schema % NO NO TABLE slave foo YES YES +TRIGGER % % YES YES +TRIGGER information_schema % NO NO +TRIGGER mysql % NO NO +TRIGGER performance_schema % NO NO select digest, digest_text, count_star from performance_schema.events_statements_summary_by_digest where digest_text like "%in_%_digest%"; digest digest_text count_star -073b595f4ca8178745392f361ef8a531 SELECT ? AS `in_slave_digest` 1 +d506c623d393ce3079467945b10cc01e SELECT ? AS `in_slave_digest` 1 **** On Master **** delete from performance_schema.setup_objects where object_schema='master'; @@ -76,8 +108,24 @@ delete from performance_schema.setup_objects where object_schema='slave'; select * from performance_schema.setup_objects; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED +EVENT mysql % NO NO +EVENT performance_schema % NO NO +EVENT information_schema % NO NO +EVENT % % YES YES +FUNCTION mysql % NO NO +FUNCTION performance_schema % NO NO +FUNCTION information_schema % NO NO +FUNCTION % % YES YES +PROCEDURE mysql % NO NO +PROCEDURE performance_schema % NO NO +PROCEDURE information_schema % NO NO +PROCEDURE % % YES YES TABLE mysql % NO NO TABLE performance_schema % NO NO TABLE information_schema % NO NO TABLE % % YES YES +TRIGGER mysql % NO NO +TRIGGER performance_schema % NO NO +TRIGGER information_schema % NO NO +TRIGGER % % YES YES include/rpl_end.inc diff --git a/mysql-test/suite/perfschema/r/rpl_statements.result b/mysql-test/suite/perfschema/r/rpl_statements.result index 312061f9f7f..ecd41b6e3ab 100644 --- a/mysql-test/suite/perfschema/r/rpl_statements.result +++ b/mysql-test/suite/perfschema/r/rpl_statements.result @@ -14,7 +14,7 @@ Note #### Storing MySQL user name or password information in the master info rep *** Create test tables -show variables like '%binlog_format%'; +show global variables like '%binlog_format%'; Variable_name Value binlog_format MIXED drop table if exists test.marker; @@ -58,7 +58,7 @@ Expect 1 *** MASTER *** ************** -show variables like '%binlog_format%'; +show global variables like '%binlog_format%'; Variable_name Value binlog_format MIXED *** Clear statement events @@ -234,7 +234,7 @@ s1 s2 select * from performance_schema.events_statements_history_long where thread_id = @slave_thread_id; -THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE +THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE NESTING_EVENT_LEVEL # # STEP 9 - CLEAN UP diff --git a/mysql-test/suite/perfschema/r/rpl_threads.result b/mysql-test/suite/perfschema/r/rpl_threads.result new file mode 100644 index 00000000000..c5f22449ec7 --- /dev/null +++ b/mysql-test/suite/perfschema/r/rpl_threads.result @@ -0,0 +1,55 @@ +include/master-slave.inc +Warnings: +Note #### Sending passwords in plain text without SSL/TLS is extremely insecure. +Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information. +[connection master] +drop table if exists test.t1; +reset master; +create table test.t1(a int); +drop table test.t1; +include/show_binlog_events.inc +Log_name Pos Event_type Server_id End_log_pos Info +slave-bin.000001 # Query # # use `test`; create table test.t1(a int) +slave-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ +"============ Performance schema on master ============" +select ID from INFORMATION_SCHEMA.PROCESSLIST +where COMMAND = "Binlog Dump" + into @master_dump_pid; +select COMMAND, STATE +from INFORMATION_SCHEMA.PROCESSLIST +where ID = @master_dump_pid; +COMMAND STATE +Binlog Dump Master has sent all binlog to slave; waiting for more updates +select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE +from performance_schema.threads +where PROCESSLIST_ID = @master_dump_pid; +NAME TYPE PROCESSLIST_COMMAND PROCESSLIST_STATE +thread/sql/one_connection FOREGROUND Binlog Dump Master has sent all binlog to slave; waiting for more updates +"============ Performance schema on slave ============" +select ID from INFORMATION_SCHEMA.PROCESSLIST +where STATE like "Waiting for master to send event%" + into @slave_io_pid; +select COMMAND, STATE +from INFORMATION_SCHEMA.PROCESSLIST +where ID = @slave_io_pid; +COMMAND STATE +Connect Waiting for master to send event +select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE +from performance_schema.threads +where PROCESSLIST_ID = @slave_io_pid; +NAME TYPE PROCESSLIST_COMMAND PROCESSLIST_STATE +thread/sql/slave_io FOREGROUND Connect Waiting for master to send event +select ID from INFORMATION_SCHEMA.PROCESSLIST +where STATE like "Slave has read all relay log%" + into @slave_sql_pid; +select COMMAND, STATE +from INFORMATION_SCHEMA.PROCESSLIST +where ID = @slave_sql_pid; +COMMAND STATE +Connect Slave has read all relay log; waiting for more updates +select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE +from performance_schema.threads +where PROCESSLIST_ID = @slave_sql_pid; +NAME TYPE PROCESSLIST_COMMAND PROCESSLIST_STATE +thread/sql/slave_sql FOREGROUND Connect Slave has read all relay log; waiting for more updates +include/rpl_end.inc diff --git a/mysql-test/suite/perfschema/r/schema.result b/mysql-test/suite/perfschema/r/schema.result index 050c4461105..d09c35779cf 100644 --- a/mysql-test/suite/perfschema/r/schema.result +++ b/mysql-test/suite/perfschema/r/schema.result @@ -23,9 +23,18 @@ events_statements_history_long events_statements_summary_by_account_by_event_name events_statements_summary_by_digest events_statements_summary_by_host_by_event_name +events_statements_summary_by_program events_statements_summary_by_thread_by_event_name events_statements_summary_by_user_by_event_name events_statements_summary_global_by_event_name +events_transactions_current +events_transactions_history +events_transactions_history_long +events_transactions_summary_by_account_by_event_name +events_transactions_summary_by_host_by_event_name +events_transactions_summary_by_thread_by_event_name +events_transactions_summary_by_user_by_event_name +events_transactions_summary_global_by_event_name events_waits_current events_waits_history events_waits_history_long @@ -38,14 +47,33 @@ events_waits_summary_global_by_event_name file_instances file_summary_by_event_name file_summary_by_instance +global_status +global_variables host_cache hosts +memory_summary_by_account_by_event_name +memory_summary_by_host_by_event_name +memory_summary_by_thread_by_event_name +memory_summary_by_user_by_event_name +memory_summary_global_by_event_name +metadata_locks mutex_instances objects_summary_global_by_type performance_timers +prepared_statements_instances +replication_applier_configuration +replication_applier_status +replication_applier_status_by_coordinator +replication_applier_status_by_worker +replication_connection_configuration +replication_connection_status +replication_group_member_stats +replication_group_members rwlock_instances session_account_connect_attrs session_connect_attrs +session_status +session_variables setup_actors setup_consumers setup_instruments @@ -54,15 +82,22 @@ setup_timers socket_instances socket_summary_by_event_name socket_summary_by_instance +status_by_account +status_by_host +status_by_thread +status_by_user +table_handles table_io_waits_summary_by_index_usage table_io_waits_summary_by_table table_lock_waits_summary_by_table threads +user_variables_by_thread users +variables_by_thread show create table accounts; Table Create Table accounts CREATE TABLE `accounts` ( - `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `CURRENT_CONNECTIONS` bigint(20) NOT NULL, `TOTAL_CONNECTIONS` bigint(20) NOT NULL @@ -84,8 +119,10 @@ events_stages_current CREATE TABLE `events_stages_current` ( `TIMER_START` bigint(20) unsigned DEFAULT NULL, `TIMER_END` bigint(20) unsigned DEFAULT NULL, `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL, + `WORK_COMPLETED` bigint(20) unsigned DEFAULT NULL, + `WORK_ESTIMATED` bigint(20) unsigned DEFAULT NULL, `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, - `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table events_stages_history; Table Create Table @@ -98,8 +135,10 @@ events_stages_history CREATE TABLE `events_stages_history` ( `TIMER_START` bigint(20) unsigned DEFAULT NULL, `TIMER_END` bigint(20) unsigned DEFAULT NULL, `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL, + `WORK_COMPLETED` bigint(20) unsigned DEFAULT NULL, + `WORK_ESTIMATED` bigint(20) unsigned DEFAULT NULL, `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, - `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table events_stages_history_long; Table Create Table @@ -112,8 +151,10 @@ events_stages_history_long CREATE TABLE `events_stages_history_long` ( `TIMER_START` bigint(20) unsigned DEFAULT NULL, `TIMER_END` bigint(20) unsigned DEFAULT NULL, `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL, + `WORK_COMPLETED` bigint(20) unsigned DEFAULT NULL, + `WORK_ESTIMATED` bigint(20) unsigned DEFAULT NULL, `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, - `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table events_stages_summary_by_host_by_event_name; Table Create Table @@ -140,7 +181,7 @@ events_stages_summary_by_thread_by_event_name CREATE TABLE `events_stages_summar show create table events_stages_summary_by_user_by_event_name; Table Create Table events_stages_summary_by_user_by_event_name CREATE TABLE `events_stages_summary_by_user_by_event_name` ( - `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `EVENT_NAME` varchar(128) NOT NULL, `COUNT_STAR` bigint(20) unsigned NOT NULL, `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, @@ -151,7 +192,7 @@ events_stages_summary_by_user_by_event_name CREATE TABLE `events_stages_summary_ show create table events_stages_summary_by_account_by_event_name; Table Create Table events_stages_summary_by_account_by_event_name CREATE TABLE `events_stages_summary_by_account_by_event_name` ( - `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `EVENT_NAME` varchar(128) NOT NULL, `COUNT_STAR` bigint(20) unsigned NOT NULL, @@ -212,7 +253,8 @@ events_statements_current CREATE TABLE `events_statements_current` ( `NO_INDEX_USED` bigint(20) unsigned NOT NULL, `NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL, `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, - `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL, + `NESTING_EVENT_LEVEL` int(11) DEFAULT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table events_statements_history; Table Create Table @@ -256,7 +298,8 @@ events_statements_history CREATE TABLE `events_statements_history` ( `NO_INDEX_USED` bigint(20) unsigned NOT NULL, `NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL, `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, - `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL, + `NESTING_EVENT_LEVEL` int(11) DEFAULT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table events_statements_history_long; Table Create Table @@ -300,7 +343,8 @@ events_statements_history_long CREATE TABLE `events_statements_history_long` ( `NO_INDEX_USED` bigint(20) unsigned NOT NULL, `NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL, `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, - `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL, + `NESTING_EVENT_LEVEL` int(11) DEFAULT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table events_statements_summary_by_digest; Table Create Table @@ -398,7 +442,7 @@ events_statements_summary_by_thread_by_event_name CREATE TABLE `events_statement show create table events_statements_summary_by_user_by_event_name; Table Create Table events_statements_summary_by_user_by_event_name CREATE TABLE `events_statements_summary_by_user_by_event_name` ( - `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `EVENT_NAME` varchar(128) NOT NULL, `COUNT_STAR` bigint(20) unsigned NOT NULL, `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, @@ -428,7 +472,7 @@ events_statements_summary_by_user_by_event_name CREATE TABLE `events_statements_ show create table events_statements_summary_by_account_by_event_name; Table Create Table events_statements_summary_by_account_by_event_name CREATE TABLE `events_statements_summary_by_account_by_event_name` ( - `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `EVENT_NAME` varchar(128) NOT NULL, `COUNT_STAR` bigint(20) unsigned NOT NULL, @@ -485,6 +529,195 @@ events_statements_summary_global_by_event_name CREATE TABLE `events_statements_s `SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL, `SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table events_transactions_current; +Table Create Table +events_transactions_current CREATE TABLE `events_transactions_current` ( + `THREAD_ID` bigint(20) unsigned NOT NULL, + `EVENT_ID` bigint(20) unsigned NOT NULL, + `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL, + `EVENT_NAME` varchar(128) NOT NULL, + `STATE` enum('ACTIVE','COMMITTED','ROLLED BACK') DEFAULT NULL, + `TRX_ID` bigint(20) unsigned DEFAULT NULL, + `GTID` varchar(64) DEFAULT NULL, + `XID_FORMAT_ID` int(11) DEFAULT NULL, + `XID_GTRID` varchar(130) DEFAULT NULL, + `XID_BQUAL` varchar(130) DEFAULT NULL, + `XA_STATE` varchar(64) DEFAULT NULL, + `SOURCE` varchar(64) DEFAULT NULL, + `TIMER_START` bigint(20) unsigned DEFAULT NULL, + `TIMER_END` bigint(20) unsigned DEFAULT NULL, + `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL, + `ACCESS_MODE` enum('READ ONLY','READ WRITE') DEFAULT NULL, + `ISOLATION_LEVEL` varchar(64) DEFAULT NULL, + `AUTOCOMMIT` enum('YES','NO') NOT NULL, + `NUMBER_OF_SAVEPOINTS` bigint(20) unsigned DEFAULT NULL, + `NUMBER_OF_ROLLBACK_TO_SAVEPOINT` bigint(20) unsigned DEFAULT NULL, + `NUMBER_OF_RELEASE_SAVEPOINT` bigint(20) unsigned DEFAULT NULL, + `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned DEFAULT NULL, + `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table events_transactions_history; +Table Create Table +events_transactions_history CREATE TABLE `events_transactions_history` ( + `THREAD_ID` bigint(20) unsigned NOT NULL, + `EVENT_ID` bigint(20) unsigned NOT NULL, + `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL, + `EVENT_NAME` varchar(128) NOT NULL, + `STATE` enum('ACTIVE','COMMITTED','ROLLED BACK') DEFAULT NULL, + `TRX_ID` bigint(20) unsigned DEFAULT NULL, + `GTID` varchar(64) DEFAULT NULL, + `XID_FORMAT_ID` int(11) DEFAULT NULL, + `XID_GTRID` varchar(130) DEFAULT NULL, + `XID_BQUAL` varchar(130) DEFAULT NULL, + `XA_STATE` varchar(64) DEFAULT NULL, + `SOURCE` varchar(64) DEFAULT NULL, + `TIMER_START` bigint(20) unsigned DEFAULT NULL, + `TIMER_END` bigint(20) unsigned DEFAULT NULL, + `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL, + `ACCESS_MODE` enum('READ ONLY','READ WRITE') DEFAULT NULL, + `ISOLATION_LEVEL` varchar(64) DEFAULT NULL, + `AUTOCOMMIT` enum('YES','NO') NOT NULL, + `NUMBER_OF_SAVEPOINTS` bigint(20) unsigned DEFAULT NULL, + `NUMBER_OF_ROLLBACK_TO_SAVEPOINT` bigint(20) unsigned DEFAULT NULL, + `NUMBER_OF_RELEASE_SAVEPOINT` bigint(20) unsigned DEFAULT NULL, + `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned DEFAULT NULL, + `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table events_transactions_history_long; +Table Create Table +events_transactions_history_long CREATE TABLE `events_transactions_history_long` ( + `THREAD_ID` bigint(20) unsigned NOT NULL, + `EVENT_ID` bigint(20) unsigned NOT NULL, + `END_EVENT_ID` bigint(20) unsigned DEFAULT NULL, + `EVENT_NAME` varchar(128) NOT NULL, + `STATE` enum('ACTIVE','COMMITTED','ROLLED BACK') DEFAULT NULL, + `TRX_ID` bigint(20) unsigned DEFAULT NULL, + `GTID` varchar(64) DEFAULT NULL, + `XID_FORMAT_ID` int(11) DEFAULT NULL, + `XID_GTRID` varchar(130) DEFAULT NULL, + `XID_BQUAL` varchar(130) DEFAULT NULL, + `XA_STATE` varchar(64) DEFAULT NULL, + `SOURCE` varchar(64) DEFAULT NULL, + `TIMER_START` bigint(20) unsigned DEFAULT NULL, + `TIMER_END` bigint(20) unsigned DEFAULT NULL, + `TIMER_WAIT` bigint(20) unsigned DEFAULT NULL, + `ACCESS_MODE` enum('READ ONLY','READ WRITE') DEFAULT NULL, + `ISOLATION_LEVEL` varchar(64) DEFAULT NULL, + `AUTOCOMMIT` enum('YES','NO') NOT NULL, + `NUMBER_OF_SAVEPOINTS` bigint(20) unsigned DEFAULT NULL, + `NUMBER_OF_ROLLBACK_TO_SAVEPOINT` bigint(20) unsigned DEFAULT NULL, + `NUMBER_OF_RELEASE_SAVEPOINT` bigint(20) unsigned DEFAULT NULL, + `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned DEFAULT NULL, + `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table events_transactions_summary_by_host_by_event_name; +Table Create Table +events_transactions_summary_by_host_by_event_name CREATE TABLE `events_transactions_summary_by_host_by_event_name` ( + `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `EVENT_NAME` varchar(128) NOT NULL, + `COUNT_STAR` bigint(20) unsigned NOT NULL, + `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `COUNT_READ_WRITE` bigint(20) unsigned NOT NULL, + `SUM_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `MIN_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `AVG_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `MAX_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `COUNT_READ_ONLY` bigint(20) unsigned NOT NULL, + `SUM_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `MIN_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `AVG_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `MAX_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table events_transactions_summary_by_thread_by_event_name; +Table Create Table +events_transactions_summary_by_thread_by_event_name CREATE TABLE `events_transactions_summary_by_thread_by_event_name` ( + `THREAD_ID` bigint(20) unsigned NOT NULL, + `EVENT_NAME` varchar(128) NOT NULL, + `COUNT_STAR` bigint(20) unsigned NOT NULL, + `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `COUNT_READ_WRITE` bigint(20) unsigned NOT NULL, + `SUM_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `MIN_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `AVG_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `MAX_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `COUNT_READ_ONLY` bigint(20) unsigned NOT NULL, + `SUM_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `MIN_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `AVG_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `MAX_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table events_transactions_summary_by_user_by_event_name; +Table Create Table +events_transactions_summary_by_user_by_event_name CREATE TABLE `events_transactions_summary_by_user_by_event_name` ( + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `EVENT_NAME` varchar(128) NOT NULL, + `COUNT_STAR` bigint(20) unsigned NOT NULL, + `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `COUNT_READ_WRITE` bigint(20) unsigned NOT NULL, + `SUM_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `MIN_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `AVG_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `MAX_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `COUNT_READ_ONLY` bigint(20) unsigned NOT NULL, + `SUM_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `MIN_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `AVG_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `MAX_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table events_transactions_summary_by_account_by_event_name; +Table Create Table +events_transactions_summary_by_account_by_event_name CREATE TABLE `events_transactions_summary_by_account_by_event_name` ( + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `EVENT_NAME` varchar(128) NOT NULL, + `COUNT_STAR` bigint(20) unsigned NOT NULL, + `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `COUNT_READ_WRITE` bigint(20) unsigned NOT NULL, + `SUM_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `MIN_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `AVG_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `MAX_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `COUNT_READ_ONLY` bigint(20) unsigned NOT NULL, + `SUM_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `MIN_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `AVG_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `MAX_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table events_transactions_summary_global_by_event_name; +Table Create Table +events_transactions_summary_global_by_event_name CREATE TABLE `events_transactions_summary_global_by_event_name` ( + `EVENT_NAME` varchar(128) NOT NULL, + `COUNT_STAR` bigint(20) unsigned NOT NULL, + `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL, + `COUNT_READ_WRITE` bigint(20) unsigned NOT NULL, + `SUM_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `MIN_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `AVG_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `MAX_TIMER_READ_WRITE` bigint(20) unsigned NOT NULL, + `COUNT_READ_ONLY` bigint(20) unsigned NOT NULL, + `SUM_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `MIN_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `AVG_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL, + `MAX_TIMER_READ_ONLY` bigint(20) unsigned NOT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table events_waits_current; Table Create Table events_waits_current CREATE TABLE `events_waits_current` ( @@ -503,7 +736,7 @@ events_waits_current CREATE TABLE `events_waits_current` ( `OBJECT_TYPE` varchar(64) DEFAULT NULL, `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL, `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, - `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL, + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL, `OPERATION` varchar(32) NOT NULL, `NUMBER_OF_BYTES` bigint(20) DEFAULT NULL, `FLAGS` int(10) unsigned DEFAULT NULL @@ -526,7 +759,7 @@ events_waits_history CREATE TABLE `events_waits_history` ( `OBJECT_TYPE` varchar(64) DEFAULT NULL, `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL, `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, - `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL, + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL, `OPERATION` varchar(32) NOT NULL, `NUMBER_OF_BYTES` bigint(20) DEFAULT NULL, `FLAGS` int(10) unsigned DEFAULT NULL @@ -549,7 +782,7 @@ events_waits_history_long CREATE TABLE `events_waits_history_long` ( `OBJECT_TYPE` varchar(64) DEFAULT NULL, `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL, `NESTING_EVENT_ID` bigint(20) unsigned DEFAULT NULL, - `NESTING_EVENT_TYPE` enum('STATEMENT','STAGE','WAIT') DEFAULT NULL, + `NESTING_EVENT_TYPE` enum('TRANSACTION','STATEMENT','STAGE','WAIT') DEFAULT NULL, `OPERATION` varchar(32) NOT NULL, `NUMBER_OF_BYTES` bigint(20) DEFAULT NULL, `FLAGS` int(10) unsigned DEFAULT NULL @@ -590,7 +823,7 @@ events_waits_summary_by_thread_by_event_name CREATE TABLE `events_waits_summary_ show create table events_waits_summary_by_user_by_event_name; Table Create Table events_waits_summary_by_user_by_event_name CREATE TABLE `events_waits_summary_by_user_by_event_name` ( - `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `EVENT_NAME` varchar(128) NOT NULL, `COUNT_STAR` bigint(20) unsigned NOT NULL, `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL, @@ -601,7 +834,7 @@ events_waits_summary_by_user_by_event_name CREATE TABLE `events_waits_summary_by show create table events_waits_summary_by_account_by_event_name; Table Create Table events_waits_summary_by_account_by_event_name CREATE TABLE `events_waits_summary_by_account_by_event_name` ( - `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `EVENT_NAME` varchar(128) NOT NULL, `COUNT_STAR` bigint(20) unsigned NOT NULL, @@ -620,6 +853,100 @@ events_waits_summary_global_by_event_name CREATE TABLE `events_waits_summary_glo `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL, `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table memory_summary_by_host_by_event_name; +Table Create Table +memory_summary_by_host_by_event_name CREATE TABLE `memory_summary_by_host_by_event_name` ( + `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `EVENT_NAME` varchar(128) NOT NULL, + `COUNT_ALLOC` bigint(20) unsigned NOT NULL, + `COUNT_FREE` bigint(20) unsigned NOT NULL, + `SUM_NUMBER_OF_BYTES_ALLOC` bigint(20) unsigned NOT NULL, + `SUM_NUMBER_OF_BYTES_FREE` bigint(20) unsigned NOT NULL, + `LOW_COUNT_USED` bigint(20) NOT NULL, + `CURRENT_COUNT_USED` bigint(20) NOT NULL, + `HIGH_COUNT_USED` bigint(20) NOT NULL, + `LOW_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL, + `CURRENT_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL, + `HIGH_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table memory_summary_by_thread_by_event_name; +Table Create Table +memory_summary_by_thread_by_event_name CREATE TABLE `memory_summary_by_thread_by_event_name` ( + `THREAD_ID` bigint(20) unsigned NOT NULL, + `EVENT_NAME` varchar(128) NOT NULL, + `COUNT_ALLOC` bigint(20) unsigned NOT NULL, + `COUNT_FREE` bigint(20) unsigned NOT NULL, + `SUM_NUMBER_OF_BYTES_ALLOC` bigint(20) unsigned NOT NULL, + `SUM_NUMBER_OF_BYTES_FREE` bigint(20) unsigned NOT NULL, + `LOW_COUNT_USED` bigint(20) NOT NULL, + `CURRENT_COUNT_USED` bigint(20) NOT NULL, + `HIGH_COUNT_USED` bigint(20) NOT NULL, + `LOW_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL, + `CURRENT_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL, + `HIGH_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table memory_summary_by_user_by_event_name; +Table Create Table +memory_summary_by_user_by_event_name CREATE TABLE `memory_summary_by_user_by_event_name` ( + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `EVENT_NAME` varchar(128) NOT NULL, + `COUNT_ALLOC` bigint(20) unsigned NOT NULL, + `COUNT_FREE` bigint(20) unsigned NOT NULL, + `SUM_NUMBER_OF_BYTES_ALLOC` bigint(20) unsigned NOT NULL, + `SUM_NUMBER_OF_BYTES_FREE` bigint(20) unsigned NOT NULL, + `LOW_COUNT_USED` bigint(20) NOT NULL, + `CURRENT_COUNT_USED` bigint(20) NOT NULL, + `HIGH_COUNT_USED` bigint(20) NOT NULL, + `LOW_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL, + `CURRENT_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL, + `HIGH_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table memory_summary_by_account_by_event_name; +Table Create Table +memory_summary_by_account_by_event_name CREATE TABLE `memory_summary_by_account_by_event_name` ( + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `EVENT_NAME` varchar(128) NOT NULL, + `COUNT_ALLOC` bigint(20) unsigned NOT NULL, + `COUNT_FREE` bigint(20) unsigned NOT NULL, + `SUM_NUMBER_OF_BYTES_ALLOC` bigint(20) unsigned NOT NULL, + `SUM_NUMBER_OF_BYTES_FREE` bigint(20) unsigned NOT NULL, + `LOW_COUNT_USED` bigint(20) NOT NULL, + `CURRENT_COUNT_USED` bigint(20) NOT NULL, + `HIGH_COUNT_USED` bigint(20) NOT NULL, + `LOW_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL, + `CURRENT_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL, + `HIGH_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table memory_summary_global_by_event_name; +Table Create Table +memory_summary_global_by_event_name CREATE TABLE `memory_summary_global_by_event_name` ( + `EVENT_NAME` varchar(128) NOT NULL, + `COUNT_ALLOC` bigint(20) unsigned NOT NULL, + `COUNT_FREE` bigint(20) unsigned NOT NULL, + `SUM_NUMBER_OF_BYTES_ALLOC` bigint(20) unsigned NOT NULL, + `SUM_NUMBER_OF_BYTES_FREE` bigint(20) unsigned NOT NULL, + `LOW_COUNT_USED` bigint(20) NOT NULL, + `CURRENT_COUNT_USED` bigint(20) NOT NULL, + `HIGH_COUNT_USED` bigint(20) NOT NULL, + `LOW_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL, + `CURRENT_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL, + `HIGH_NUMBER_OF_BYTES_USED` bigint(20) NOT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table metadata_locks; +Table Create Table +metadata_locks CREATE TABLE `metadata_locks` ( + `OBJECT_TYPE` varchar(64) NOT NULL, + `OBJECT_SCHEMA` varchar(64) DEFAULT NULL, + `OBJECT_NAME` varchar(64) DEFAULT NULL, + `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL, + `LOCK_TYPE` varchar(32) NOT NULL, + `LOCK_DURATION` varchar(32) NOT NULL, + `LOCK_STATUS` varchar(32) NOT NULL, + `SOURCE` varchar(64) DEFAULT NULL, + `OWNER_THREAD_ID` bigint(20) unsigned DEFAULT NULL, + `OWNER_EVENT_ID` bigint(20) unsigned DEFAULT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table file_instances; Table Create Table file_instances CREATE TABLE `file_instances` ( @@ -762,8 +1089,10 @@ show create table setup_actors; Table Create Table setup_actors CREATE TABLE `setup_actors` ( `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%', - `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%', - `ROLE` char(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%' + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%', + `ROLE` char(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%', + `ENABLED` enum('YES','NO') NOT NULL DEFAULT 'YES', + `HISTORY` enum('YES','NO') NOT NULL DEFAULT 'YES' ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table setup_consumers; Table Create Table @@ -781,7 +1110,7 @@ setup_instruments CREATE TABLE `setup_instruments` ( show create table setup_objects; Table Create Table setup_objects CREATE TABLE `setup_objects` ( - `OBJECT_TYPE` enum('TABLE') NOT NULL DEFAULT 'TABLE', + `OBJECT_TYPE` enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER') NOT NULL DEFAULT 'TABLE', `OBJECT_SCHEMA` varchar(64) DEFAULT '%', `OBJECT_NAME` varchar(64) NOT NULL DEFAULT '%', `ENABLED` enum('YES','NO') NOT NULL DEFAULT 'YES', @@ -859,6 +1188,18 @@ socket_summary_by_event_name CREATE TABLE `socket_summary_by_event_name` ( `AVG_TIMER_MISC` bigint(20) unsigned NOT NULL, `MAX_TIMER_MISC` bigint(20) unsigned NOT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 +show create table table_handles; +Table Create Table +table_handles CREATE TABLE `table_handles` ( + `OBJECT_TYPE` varchar(64) NOT NULL, + `OBJECT_SCHEMA` varchar(64) NOT NULL, + `OBJECT_NAME` varchar(64) NOT NULL, + `OBJECT_INSTANCE_BEGIN` bigint(20) unsigned NOT NULL, + `OWNER_THREAD_ID` bigint(20) unsigned DEFAULT NULL, + `OWNER_EVENT_ID` bigint(20) unsigned DEFAULT NULL, + `INTERNAL_LOCK` varchar(64) DEFAULT NULL, + `EXTERNAL_LOCK` varchar(64) DEFAULT NULL +) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table table_io_waits_summary_by_index_usage; Table Create Table table_io_waits_summary_by_index_usage CREATE TABLE `table_io_waits_summary_by_index_usage` ( @@ -1000,11 +1341,6 @@ table_lock_waits_summary_by_table CREATE TABLE `table_lock_waits_summary_by_tabl `MIN_TIMER_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL, `AVG_TIMER_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL, `MAX_TIMER_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL, - `COUNT_WRITE_DELAYED` bigint(20) unsigned NOT NULL, - `SUM_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL, - `MIN_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL, - `AVG_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL, - `MAX_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL, `COUNT_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL, `SUM_TIMER_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL, `MIN_TIMER_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL, @@ -1028,7 +1364,7 @@ threads CREATE TABLE `threads` ( `NAME` varchar(128) NOT NULL, `TYPE` varchar(10) NOT NULL, `PROCESSLIST_ID` bigint(20) unsigned DEFAULT NULL, - `PROCESSLIST_USER` varchar(16) DEFAULT NULL, + `PROCESSLIST_USER` varchar(32) DEFAULT NULL, `PROCESSLIST_HOST` varchar(60) DEFAULT NULL, `PROCESSLIST_DB` varchar(64) DEFAULT NULL, `PROCESSLIST_COMMAND` varchar(16) DEFAULT NULL, @@ -1037,12 +1373,15 @@ threads CREATE TABLE `threads` ( `PROCESSLIST_INFO` longtext, `PARENT_THREAD_ID` bigint(20) unsigned DEFAULT NULL, `ROLE` varchar(64) DEFAULT NULL, - `INSTRUMENTED` enum('YES','NO') NOT NULL + `INSTRUMENTED` enum('YES','NO') NOT NULL, + `HISTORY` enum('YES','NO') NOT NULL, + `CONNECTION_TYPE` varchar(16) DEFAULT NULL, + `THREAD_OS_ID` bigint(20) unsigned DEFAULT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 show create table users; Table Create Table users CREATE TABLE `users` ( - `USER` char(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, + `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `CURRENT_CONNECTIONS` bigint(20) NOT NULL, `TOTAL_CONNECTIONS` bigint(20) NOT NULL ) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8 diff --git a/mysql-test/suite/perfschema/r/server_init.result b/mysql-test/suite/perfschema/r/server_init.result index ed267aeb8c2..2322c80372e 100644 --- a/mysql-test/suite/perfschema/r/server_init.result +++ b/mysql-test/suite/perfschema/r/server_init.result @@ -1,9 +1,5 @@ use performance_schema; select count(name) from mutex_instances -where name like "wait/synch/mutex/mysys/THR_LOCK_threads"; -count(name) -1 -select count(name) from mutex_instances where name like "wait/synch/mutex/mysys/THR_LOCK_malloc"; count(name) 1 @@ -27,16 +23,12 @@ select count(name) from mutex_instances where name like "wait/synch/mutex/mysys/THR_LOCK_charset"; count(name) 1 -select count(name) from cond_instances -where name like "wait/synch/cond/mysys/THR_COND_threads"; -count(name) -1 select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_open"; count(name) 1 select count(name) from mutex_instances -where name like "wait/synch/mutex/sql/LOCK_thread_count"; +where name like "wait/synch/mutex/sql/LOCK_thd_list"; count(name) 1 select count(name) from mutex_instances @@ -48,26 +40,10 @@ where name like "wait/synch/mutex/sql/LOCK_status"; count(name) 1 select count(name) from mutex_instances -where name like "wait/synch/mutex/sql/LOCK_error_log"; -count(name) -1 -select count(name) from mutex_instances -where name like "wait/synch/mutex/sql/LOCK_delayed_insert"; -count(name) -1 -select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_uuid_generator"; count(name) 1 select count(name) from mutex_instances -where name like "wait/synch/mutex/sql/LOCK_delayed_status"; -count(name) -1 -select count(name) from mutex_instances -where name like "wait/synch/mutex/sql/LOCK_delayed_create"; -count(name) -1 -select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_crypt"; count(name) 1 @@ -76,10 +52,6 @@ where name like "wait/synch/mutex/sql/LOCK_slave_list"; count(name) 1 select count(name) from mutex_instances -where name like "wait/synch/mutex/sql/LOCK_active_mi"; -count(name) -1 -select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_manager"; count(name) 1 @@ -112,11 +84,7 @@ where name like "wait/synch/mutex/sql/LOCK_event_queue"; count(name) 1 select count(name) from mutex_instances -where name like "wait/synch/mutex/sql/LOCK_user_locks"; -count(name) -1 -select count(name) from mutex_instances -where name like "wait/synch/mutex/sql/Cversion_lock"; +where name like "wait/synch/mutex/sql/LOCK_item_func_sleep"; count(name) 1 select count(name) from mutex_instances @@ -124,7 +92,7 @@ where name like "wait/synch/mutex/sql/LOCK_audit_mask"; count(name) 1 select count(name) from mutex_instances -where name like "wait/synch/mutex/sql/LOCK_xid_cache"; +where name like "wait/synch/mutex/sql/LOCK_transaction_cache"; count(name) 1 select count(name) from mutex_instances @@ -136,10 +104,6 @@ where name like "wait/synch/mutex/sql/tz_LOCK"; count(name) 1 select count(name) from rwlock_instances -where name like "wait/synch/rwlock/sql/LOCK_grant"; -count(name) -1 -select count(name) from rwlock_instances where name like "wait/synch/rwlock/sql/LOCK_sys_init_connect"; count(name) 1 @@ -162,7 +126,7 @@ count(name) select count(name) from cond_instances where name like "wait/synch/cond/sql/COND_thread_count"; count(name) -1 +0 select count(name) from cond_instances where name like "wait/synch/cond/sql/COND_manager"; count(name) diff --git a/mysql-test/suite/perfschema/r/setup_actors.result b/mysql-test/suite/perfschema/r/setup_actors.result index 038fb623ab6..d2ec7c3ef27 100644 --- a/mysql-test/suite/perfschema/r/setup_actors.result +++ b/mysql-test/suite/perfschema/r/setup_actors.result @@ -1,27 +1,44 @@ select * from performance_schema.setup_actors; -HOST USER ROLE -% % % +HOST USER ROLE ENABLED HISTORY +% % % YES YES truncate table performance_schema.setup_actors; insert into performance_schema.setup_actors -values ('hosta', 'user1', '%'); +values ('hosta', 'user1', '%', 'YES', 'YES'); insert into performance_schema.setup_actors -values ('%', 'user2', '%'); +values ('%', 'user2', '%', 'YES', 'YES'); insert into performance_schema.setup_actors -values ('localhost', 'user3', '%'); +values ('localhost', 'user3', '%', 'YES', 'YES'); insert into performance_schema.setup_actors -values ('hostb', '%', '%'); +values ('hostb', '%', '%', 'YES', 'YES'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -hostb % % -hosta user1 % -% user2 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +hostb % % YES YES +hosta user1 % YES YES +% user2 % YES YES +localhost user3 % YES YES +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. grant ALL on *.* to user1@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant ALL on *.* to user2@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant ALL on *.* to user3@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant ALL on *.* to user4@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. grant select on test.* to user5@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. flush privileges; # Switch to (con1, localhost, user1, , ) select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST @@ -31,7 +48,7 @@ NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST thread/sql/one_connection FOREGROUND NO user1 localhost # Switch to connection default insert into performance_schema.setup_actors -values ('%', 'user1', '%'); +values ('%', 'user1', '%', 'YES', 'YES'); # Switch to connection con1 select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST from performance_schema.threads @@ -84,16 +101,16 @@ thread/sql/one_connection FOREGROUND NO user4 localhost # Disconnect con4 # Switch to connection default insert into performance_schema.setup_actors -values ('localhost', '%', '%'); +values ('localhost', '%', '%', 'YES', 'YES'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -hostb % % -localhost % % -% user1 % -hosta user1 % -% user2 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +hostb % % YES YES +localhost % % YES YES +% user1 % YES YES +hosta user1 % YES YES +% user2 % YES YES +localhost user3 % YES YES # Switch to (con4b, localhost, user4, , ) select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST from performance_schema.threads @@ -103,7 +120,7 @@ thread/sql/one_connection FOREGROUND YES user4 localhost # Disconnect con4b # Switch to connection default insert into performance_schema.setup_actors -values ('%', 'user5', '%'); +values ('%', 'user5', '%', 'YES', 'YES'); create sql security definer view test.v1 as select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST from performance_schema.threads where PROCESSLIST_ID = connection_id(); @@ -129,7 +146,7 @@ drop user user5@localhost; flush privileges; truncate table performance_schema.setup_actors; insert into performance_schema.setup_actors -values ('%', '%', '%'); +values ('%', '%', '%', 'YES', 'YES'); select * from performance_schema.setup_actors; -HOST USER ROLE -% % % +HOST USER ROLE ENABLED HISTORY +% % % YES YES diff --git a/mysql-test/suite/perfschema/r/setup_actors_enabled.result b/mysql-test/suite/perfschema/r/setup_actors_enabled.result new file mode 100644 index 00000000000..398af1e8446 --- /dev/null +++ b/mysql-test/suite/perfschema/r/setup_actors_enabled.result @@ -0,0 +1,117 @@ +select * from performance_schema.setup_actors; +HOST USER ROLE ENABLED HISTORY +% % % YES YES +truncate table performance_schema.setup_actors; +insert into performance_schema.setup_actors +values ('localhost', 'user1', '%', 'YES', 'YES'); +insert into performance_schema.setup_actors +values ('localhost', 'user2', '%', 'NO', 'NO'); +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +grant ALL on *.* to user1@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +grant ALL on *.* to user2@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +flush privileges; +# Switch to (con1, localhost, user1, , ) +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES user1 localhost +# Switch to (con2, localhost, user2, , ) +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO user2 localhost +# Switch to connection default +update performance_schema.setup_actors set ENABLED='NO' where USER='user1'; +update performance_schema.setup_actors set ENABLED='YES' where USER='user2'; +# Switch to connection con1 +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES user1 localhost +# Switch to connection con2 +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO user2 localhost +# Disconnect con1 and con2 +# Switch to (con1, localhost, user1, , ) +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO user1 localhost +# Switch to (con2 localhost, user2, , ) +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES user2 localhost +# Disconnect con1 and con2 +# Switch to connection default +revoke update on *.* from 'user2'@'localhost'; +flush privileges; +# Switch to (con2 localhost, user2, , ) +update performance_schema.setup_actors +set ENABLED='NO'; +ERROR 42000: UPDATE command denied to user 'user2'@'localhost' for table 'setup_actors' +insert into performance_schema.setup_actors +values ('%', 'user1', '%', 'YES', 'YES'); +insert into performance_schema.setup_actors +values ('localhost', '%', '%', 'NO', 'NO'); +insert into performance_schema.setup_actors +values ('%', '%', '%', 'YES', 'YES'); +# Switch to (con1, localhost, user1, , ) +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO user1 localhost +delete from performance_schema.setup_actors where +HOST='localhost' and USER='user1'; +# Switch to (con1, localhost, user1, , ) +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES user1 localhost +delete from performance_schema.setup_actors where +HOST='%' and USER='user1'; +# Switch to (con1, localhost, user1, , ) +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO user1 localhost +delete from performance_schema.setup_actors where +HOST='localhost' and USER='%'; +# Switch to (con1, localhost, user1, , ) +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES user1 localhost +revoke all privileges, grant option from user1@localhost; +revoke all privileges, grant option from user2@localhost; +drop user user1@localhost; +drop user user2@localhost; +flush privileges; +truncate table performance_schema.setup_actors; +insert into performance_schema.setup_actors +values ('%', '%', '%', 'YES', 'YES'); +select * from performance_schema.setup_actors; +HOST USER ROLE ENABLED HISTORY +% % % YES YES diff --git a/mysql-test/suite/perfschema/r/setup_actors_history.result b/mysql-test/suite/perfschema/r/setup_actors_history.result new file mode 100644 index 00000000000..7741e80db8e --- /dev/null +++ b/mysql-test/suite/perfschema/r/setup_actors_history.result @@ -0,0 +1,116 @@ +select * from performance_schema.setup_actors; +HOST USER ROLE ENABLED HISTORY +% % % YES YES +truncate table performance_schema.setup_actors; +insert into performance_schema.setup_actors +values ('localhost', 'user1', '%', 'YES', 'YES'); +insert into performance_schema.setup_actors +values ('localhost', 'user2', '%', 'YES', 'NO'); +insert into performance_schema.setup_actors +values ('localhost', 'user3', '%', 'NO', 'YES'); +insert into performance_schema.setup_actors +values ('localhost', 'user4', '%', 'NO', 'NO'); +create user user1@localhost; +create user user2@localhost; +create user user3@localhost; +create user user4@localhost; +grant ALL on *.* to user1@localhost; +grant ALL on *.* to user2@localhost; +grant ALL on *.* to user3@localhost; +grant ALL on *.* to user4@localhost; +flush privileges; +# Switch to (con1, localhost, user1, , ) +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES YES user1 localhost +# Switch to (con2, localhost, user2, , ) +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES NO user2 localhost +# Switch to (con3, localhost, user3, , ) +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO YES user3 localhost +# Switch to (con4, localhost, user4, , ) +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO NO user4 localhost +# Switch to connection default +update performance_schema.setup_actors +set HISTORY='NO' where USER in ('user1', 'user3'); +update performance_schema.setup_actors +set HISTORY='YES' where USER in ('user2', 'user4'); +# Switch to connection con1 +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES YES user1 localhost +# Switch to connection con2 +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES NO user2 localhost +# Switch to connection con3 +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO YES user3 localhost +# Switch to connection con4 +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO NO user4 localhost +# Disconnect all con +# Switch to (con1, localhost, user1, , ) +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES NO user1 localhost +# Switch to (con2 localhost, user2, , ) +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND YES YES user2 localhost +# Switch to (con3, localhost, user3, , ) +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO NO user3 localhost +# Switch to (con4 localhost, user4, , ) +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +NAME TYPE INSTRUMENTED HISTORY PROCESSLIST_USER PROCESSLIST_HOST +thread/sql/one_connection FOREGROUND NO YES user4 localhost +# Disconnect all con +# Switch to connection default +revoke all privileges, grant option from user1@localhost; +revoke all privileges, grant option from user2@localhost; +revoke all privileges, grant option from user3@localhost; +revoke all privileges, grant option from user4@localhost; +drop user user1@localhost; +drop user user2@localhost; +drop user user3@localhost; +drop user user4@localhost; +flush privileges; +truncate table performance_schema.setup_actors; +insert into performance_schema.setup_actors +values ('%', '%', '%', 'YES', 'YES'); +select * from performance_schema.setup_actors; +HOST USER ROLE ENABLED HISTORY +% % % YES YES diff --git a/mysql-test/suite/perfschema/r/setup_consumers_defaults.result b/mysql-test/suite/perfschema/r/setup_consumers_defaults.result index c6e03513d75..c3ec620a2a6 100644 --- a/mysql-test/suite/perfschema/r/setup_consumers_defaults.result +++ b/mysql-test/suite/perfschema/r/setup_consumers_defaults.result @@ -6,6 +6,9 @@ events_stages_history_long NO events_statements_current YES events_statements_history NO events_statements_history_long YES +events_transactions_current YES +events_transactions_history NO +events_transactions_history_long YES events_waits_current NO events_waits_history YES events_waits_history_long NO @@ -16,5 +19,5 @@ SELECT @@performance_schema_consumer_events_stages_current; ERROR HY000: Unknown system variable 'performance_schema_consumer_events_stages_current' SET @@performance_schema_consumer_events_stages_current=0; ERROR HY000: Unknown system variable 'performance_schema_consumer_events_stages_current' -SHOW VARIABLES LIKE "performance_schema_consumer%"; +SHOW GLOBAL VARIABLES LIKE "performance_schema_consumer%"; Variable_name Value diff --git a/mysql-test/suite/perfschema/r/setup_instruments_defaults.result b/mysql-test/suite/perfschema/r/setup_instruments_defaults.result index 6932d8926c9..a92a8dd26e7 100644 --- a/mysql-test/suite/perfschema/r/setup_instruments_defaults.result +++ b/mysql-test/suite/perfschema/r/setup_instruments_defaults.result @@ -5,29 +5,26 @@ SELECT * FROM performance_schema.setup_instruments WHERE name IN ( 'wait/synch/mutex/sql/LOCK_user_conn', 'wait/synch/mutex/sql/LOCK_uuid_generator', -'wait/synch/mutex/sql/LOCK_xid_cache', +'wait/synch/mutex/sql/LOCK_transaction_cache', 'stage/sql/creating table') AND enabled = 'yes' AND timed = 'no' ORDER BY name; NAME ENABLED TIMED stage/sql/creating table YES NO +wait/synch/mutex/sql/LOCK_transaction_cache YES NO wait/synch/mutex/sql/LOCK_user_conn YES NO wait/synch/mutex/sql/LOCK_uuid_generator YES NO -wait/synch/mutex/sql/LOCK_xid_cache YES NO SELECT * FROM performance_schema.setup_instruments -WHERE name = 'wait/synch/mutex/sql/LOCK_thread_count' +WHERE name = 'wait/synch/mutex/sql/LOCK_thd_list' AND enabled = 'no' AND timed = 'no'; NAME ENABLED TIMED -wait/synch/mutex/sql/LOCK_thread_count NO NO SELECT * FROM performance_schema.setup_instruments WHERE name IN ( 'wait/synch/mutex/sql/LOG_INFO::lock', -'wait/synch/mutex/sql/THD::LOCK_thd_data') +'wait/synch/mutex/sql/THD::LOCK_thd_list') AND enabled = 'yes' AND timed = 'yes' ORDER BY name; NAME ENABLED TIMED -wait/synch/mutex/sql/LOG_INFO::lock YES YES -wait/synch/mutex/sql/THD::LOCK_thd_data YES YES SELECT * FROM performance_schema.setup_instruments WHERE name = 'wait/synch/mutex/sql/hash_filo::lock' AND enabled = 'no' AND timed = 'no' @@ -35,6 +32,20 @@ ORDER BY name; NAME ENABLED TIMED wait/synch/mutex/sql/hash_filo::lock NO NO # +# Verify that the memory instruments are never timed +# +SELECT * FROM performance_schema.setup_instruments +WHERE name like 'memory/%' +AND timed = 'YES'; +NAME ENABLED TIMED +# +# Verify that the memory/performance_schema instruments are never disabled +# +SELECT * FROM performance_schema.setup_instruments +WHERE name like 'memory/performance_schema/%' +AND enabled = 'NO'; +NAME ENABLED TIMED +# # Verify that the instrument startup settings are not not visible. # SHOW VARIABLES LIKE "%/wait/synch/mutex%"; diff --git a/mysql-test/suite/perfschema/r/setup_object_table_lock_io.result b/mysql-test/suite/perfschema/r/setup_object_table_lock_io.result new file mode 100644 index 00000000000..729b37632f3 --- /dev/null +++ b/mysql-test/suite/perfschema/r/setup_object_table_lock_io.result @@ -0,0 +1,91 @@ +drop table if exists test.setup_objects; +update performance_schema.setup_instruments set enabled='NO'; +update performance_schema.setup_instruments set enabled='YES', timed='YES' + where name in ('wait/io/table/sql/handler', 'wait/lock/table/sql/handler'); +truncate table performance_schema.table_io_waits_summary_by_table; +truncate table performance_schema.table_lock_waits_summary_by_table; +create table test.setup_objects as select * from performance_schema.setup_objects; +truncate table performance_schema.setup_objects; +select * from performance_schema.setup_objects; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED +insert into performance_schema.setup_objects +values ('TABLE', 'db1', 't1', 'YES', 'YES'); +insert into performance_schema.setup_objects +values ('TABLE', 'db1', 't2', 'YES', 'YES'); +select * from performance_schema.setup_objects +order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED +TABLE db1 t1 YES YES +TABLE db1 t2 YES YES +SET sql_mode = default; +drop database if exists db1; +create database db1; +create table db1.t1 (a int, b char(10) default 'default', unique key uidx(a)); +create table db1.t2 (a int, b char(10) default 'default'); +insert into db1.t1 values('11', 'db1.t1'); +insert into db1.t1 values('12', 'db1.t1'); +insert into db1.t1 values('13', 'db1.t1'); +insert into db1.t2 values('21', 'db1.t2'); +insert into db1.t2 values('22', 'db1.t2'); +insert into db1.t2 values('23', 'db1.t2'); +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE +from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1'; +OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_READ COUNT_WRITE +db1 t1 3 0 3 +db1 t2 3 0 3 +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE +from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1'; +OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_READ COUNT_WRITE +db1 t1 3 0 3 +db1 t2 3 0 3 +truncate table db1.t1; +truncate table db1.t2; +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE +from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1'; +OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_READ COUNT_WRITE +db1 t1 4 0 4 +db1 t2 4 0 4 +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE +from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1'; +OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_READ COUNT_WRITE +db1 t1 3 0 3 +db1 t2 3 0 3 +update performance_schema.setup_objects +set ENABLED='NO' where OBJECT_SCHEMA = 'db1' and OBJECT_NAME='t1'; +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE +from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1'; +OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_READ COUNT_WRITE +db1 t2 4 0 4 +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE +from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1'; +OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_READ COUNT_WRITE +db1 t2 3 0 3 +update performance_schema.setup_objects +set ENABLED='YES' where OBJECT_SCHEMA = 'db1' and OBJECT_NAME='t1'; +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE +from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1'; +OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_READ COUNT_WRITE +db1 t1 1 0 1 +db1 t2 4 0 4 +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE +from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1'; +OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_READ COUNT_WRITE +db1 t1 0 0 0 +db1 t2 3 0 3 +truncate table performance_schema.setup_objects; +select count(*) from performance_schema.setup_objects; +count(*) +0 +drop database db1; +truncate table performance_schema.setup_objects; +insert into performance_schema.setup_objects select * from test.setup_objects; +drop table test.setup_objects; +update performance_schema.setup_instruments set enabled='YES', timed='YES'; diff --git a/mysql-test/suite/perfschema/r/setup_objects.result b/mysql-test/suite/perfschema/r/setup_objects.result index e623aeb8521..f40a727df7f 100644 --- a/mysql-test/suite/perfschema/r/setup_objects.result +++ b/mysql-test/suite/perfschema/r/setup_objects.result @@ -25,6 +25,9 @@ insert into performance_schema.setup_objects values ('TABLE', 'db4', 't1', 'NO', 'YES'); insert into performance_schema.setup_objects values ('TABLE', 'db4', '%', 'YES', 'NO'); +SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. insert into performance_schema.setup_objects values ('SOMETHING', 'bad1', 'bad1', 'YES', 'NO'); ERROR 23000: Cannot add or update a child row: a foreign key constraint fails () @@ -81,6 +84,7 @@ TABLE db3 t1 YES YES TABLE db3 t2 NO NO TABLE db4 % YES NO TABLE db4 t1 NO YES +SET sql_mode = default; drop database if exists db1; drop database if exists db2; drop database if exists db3; diff --git a/mysql-test/suite/perfschema/r/short_option_1.result b/mysql-test/suite/perfschema/r/short_option_1.result index a64ff442dec..0f2d0c00f19 100644 --- a/mysql-test/suite/perfschema/r/short_option_1.result +++ b/mysql-test/suite/perfschema/r/short_option_1.result @@ -3,24 +3,24 @@ result Ok, the server started select @@SQL_MODE; @@SQL_MODE -REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI -show variables like 'sql_mode'; +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI +show global variables like 'sql_mode'; Variable_name Value -sql_mode REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI +sql_mode REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI select @@character_set_server; @@character_set_server utf8 -show variables like 'character_set_system'; +show global variables like 'character_set_system'; Variable_name Value character_set_system utf8 -show variables like 'log'; +show global variables like 'log'; Variable_name Value -show variables like 'general_log'; +show global variables like 'general_log'; Variable_name Value general_log ON -show variables like 'new'; +show global variables like 'new'; Variable_name Value new ON -show variables like 'log_warnings'; +show global variables like 'log_warnings'; Variable_name Value -log_warnings 3 +log_warnings 2 diff --git a/mysql-test/suite/perfschema/r/short_option_2.result b/mysql-test/suite/perfschema/r/short_option_2.result index 0587fdef73b..36d353481b7 100644 --- a/mysql-test/suite/perfschema/r/short_option_2.result +++ b/mysql-test/suite/perfschema/r/short_option_2.result @@ -3,7 +3,9 @@ result Ok, the server started select @@SQL_MODE; @@SQL_MODE -REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI select @@log_warnings; @@log_warnings -5 +2 +Warnings: +Warning 1287 '@@log_warnings' is deprecated and will be removed in a future release. Please use log_error_verbosity instead diff --git a/mysql-test/suite/perfschema/r/show_aggregate.result b/mysql-test/suite/perfschema/r/show_aggregate.result new file mode 100644 index 00000000000..5f1f70f4bb0 --- /dev/null +++ b/mysql-test/suite/perfschema/r/show_aggregate.result @@ -0,0 +1,524 @@ + +================================================================================ +SETUP +================================================================================ +# Save current SHOW_COMPATIBILITY_56 setting +SELECT @@global.show_compatibility_56 INTO @show_compatibility_56_save; +SET @@global.show_compatibility_56=OFF; +SET @@session.sql_log_bin=OFF; + +# CREATE 3 CLIENTS, 3 CONNECTIONS, RESULTS TABLE +connection default; +USE test; + +# Create results table +CREATE TABLE test.status_results +(variable_name VARCHAR(64), start INT DEFAULT 0, stop INT DEFAULT 0, delta INT DEFAULT 0, +t1 INT DEFAULT 0, t2 INT DEFAULT 0, t3 INT DEFAULT 0, thread INT DEFAULT 0, +u1 INT DEFAULT 0, u2 INT DEFAULT 0, u3 INT DEFAULT 0, user INT DEFAULT 0, +h1 INT DEFAULT 0, h2 INT DEFAULT 0, h3 INT DEFAULT 0, host INT DEFAULT 0, +a1 INT DEFAULT 0, a2 INT DEFAULT 0, a3 INT DEFAULT 0, acct INT DEFAULT 0); +INSERT INTO test.status_results (variable_name, start) +SELECT sg.variable_name, sg.variable_value+0 FROM performance_schema.global_status sg +WHERE variable_name IN ('handler_delete', 'handler_rollback'); + +# Create test tables +CREATE TABLE t1 (s1 int) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1), (2), (2), (3), (3), (3); +CREATE TABLE t2 (s1 int) ENGINE=InnoDB; +CREATE TABLE t3 (s1 int) ENGINE=InnoDB; + +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +GRANT ALL ON *.* to 'user1'@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +GRANT ALL ON *.* to 'user2'@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +GRANT ALL ON *.* to 'user3'@localhost; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +set sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. + +================================================================================ +CONNECTION 1: DELETE 1, ROLLBACK x 1 +================================================================================ +connect con1, localhost, user1,,; +SET @@session.sql_log_bin=OFF; +DELETE FROM t1 WHERE s1 = 1; +START TRANSACTION; +INSERT INTO t1 VALUES (1); +ROLLBACK; + +================================================================================ +CONNECTION 2: DELETE 2, ROLLBACK x 2 +================================================================================ +connect con2, localhost, user2,,; +SET @@session.sql_log_bin=OFF; +DELETE FROM t1 WHERE s1 = 2; + +START TRANSACTION; +INSERT INTO t1 VALUES (2); +ROLLBACK; + +START TRANSACTION; +INSERT INTO t1 VALUES (2); +ROLLBACK; + +================================================================================ +CONNECTION 3: DELETE 3, ROLLBACK x 3 +================================================================================ +connect con3, localhost, user3,,; +SET @@session.sql_log_bin=OFF; +DELETE FROM t1 WHERE s1 = 3; + +START TRANSACTION; +INSERT INTO t1 VALUES (3); +ROLLBACK; + +START TRANSACTION; +INSERT INTO t1 VALUES (3); +ROLLBACK; + +START TRANSACTION; +INSERT INTO t1 VALUES (3); +ROLLBACK; + +================================================================================ +CONNECTION DEFAULT: Gather results, compare session and global status counts +================================================================================ +connection default; +# Get thread ids for each connection. +USE performance_schema; +SELECT thread_id INTO @con1_id FROM threads WHERE processlist_user IN ('user1'); +SELECT thread_id INTO @con2_id FROM threads WHERE processlist_user IN ('user2'); +SELECT thread_id INTO @con3_id FROM threads WHERE processlist_user IN ('user3'); +#================= +# Global results +#================= +USE test; +UPDATE test.status_results sr, performance_schema.global_status sg +SET sr.stop = sg.variable_value +WHERE sr.variable_name = sg.variable_name +AND sg.variable_name IN ('handler_delete', 'handler_rollback'); + +# Global deltas: END - START. +UPDATE test.status_results sr +SET sr.delta = sr.stop - sr.start; +#================= +# Status by thread +#================= +# Thread results from CON1. +UPDATE test.status_results sr, performance_schema.status_by_thread sbt +SET sr.t1 = sbt.variable_value +WHERE sr.variable_name = sbt.variable_name +AND sbt.variable_name IN ('handler_delete', 'handler_rollback') +AND sbt.thread_id = @con1_id; + +# Thread results from CON2. +UPDATE test.status_results sr, performance_schema.status_by_thread sbt +SET sr.t2 = sbt.variable_value +WHERE sr.variable_name = sbt.variable_name +AND sbt.variable_name IN ('handler_delete', 'handler_rollback') +AND sbt.thread_id = @con2_id; + +# Thread results from CON3. +UPDATE test.status_results sr, performance_schema.status_by_thread sbt +SET sr.t3 = sbt.variable_value +WHERE sr.variable_name = sbt.variable_name +AND sbt.variable_name IN ('handler_delete', 'handler_rollback') +AND sbt.thread_id = @con3_id; + +# Thread totals for 3 connections. +UPDATE test.status_results sr +SET sr.thread = sr.t1 + sr.t2 + sr.t3; +#================= +# Status by user +#================= +# User1 +UPDATE test.status_results sr, performance_schema.status_by_user sbu +SET sr.u1 = sbu.variable_value +WHERE sr.variable_name = sbu.variable_name +AND sbu.variable_name IN ('handler_delete', 'handler_rollback') +AND sbu.user IN ('user1'); + +# User2 +UPDATE test.status_results sr, performance_schema.status_by_user sbu +SET sr.u2 = sbu.variable_value +WHERE sr.variable_name = sbu.variable_name +AND sbu.variable_name IN ('handler_delete', 'handler_rollback') +AND sbu.user IN ('user2'); + +# User3 +UPDATE test.status_results sr, performance_schema.status_by_user sbu +SET sr.u3 = sbu.variable_value +WHERE sr.variable_name = sbu.variable_name +AND sbu.variable_name IN ('handler_delete', 'handler_rollback') +AND sbu.user IN ('user3'); + +# Status totals for 3 users. +UPDATE test.status_results sr +SET sr.user = sr.u1 + sr.u2 + sr.u3; +#=========================== +# Status by host (localhost) +#=========================== + +# host1 = localhost +UPDATE test.status_results sr, performance_schema.status_by_host sbh +SET sr.h1 = sbh.variable_value +WHERE sr.variable_name = sbh.variable_name +AND sbh.variable_name IN ('handler_delete', 'handler_rollback') +AND sbh.host IN ('localhost'); + +# Status totals for 'localhost' only. +UPDATE test.status_results sr +SET sr.host = sr.h1 + sr.h2 + sr.h3; +#================== +# Status by account +#================== +# User1@localhost +UPDATE test.status_results sr, performance_schema.status_by_account sba +SET sr.a1 = sba.variable_value +WHERE sr.variable_name = sba.variable_name +AND sba.variable_name IN ('handler_delete', 'handler_rollback') +AND sba.user IN ('user1'); + +# User2@localhost +UPDATE test.status_results sr, performance_schema.status_by_account sba +SET sr.a2 = sba.variable_value +WHERE sr.variable_name = sba.variable_name +AND sba.variable_name IN ('handler_delete', 'handler_rollback') +AND sba.user IN ('user2'); + +# User3@localhost +UPDATE test.status_results sr, performance_schema.status_by_account sba +SET sr.a3 = sba.variable_value +WHERE sr.variable_name = sba.variable_name +AND sba.variable_name IN ('handler_delete', 'handler_rollback') +AND sba.user IN ('user3'); + + +# Status totals for 3 accounts. +UPDATE test.status_results sr +SET sr.acct = sr.a1 + sr.a2 + sr.a3; + +================================================================================ +TEST 1: STATUS_BY_THREAD: Verify expected status counts per thread (1,2,3) +================================================================================ +# +# Review per-thread status counts +# +USE performance_schema; +SELECT * FROM status_by_thread WHERE thread_id IN (@con1_id, @con2_id, @con3_id) AND variable_name IN ('handler_delete', 'handler_rollback') ORDER BY thread_id; +THREAD_ID VARIABLE_NAME VARIABLE_VALUE +thread_id Handler_delete 1 +thread_id Handler_rollback 1 +thread_id Handler_delete 2 +thread_id Handler_rollback 2 +thread_id Handler_delete 3 +thread_id Handler_rollback 3 +# +# Verify expected counts for 'handler_delete' per thread +# +SELECT *, IF (variable_value = 1,'OK','ERROR') AS Expected FROM status_by_thread WHERE thread_id = @con1_id AND variable_name IN ('handler_delete'); +THREAD_ID VARIABLE_NAME VARIABLE_VALUE Expected +connect_1 Handler_delete 1 OK + +SELECT *, IF (variable_value = 2,'OK','ERROR') AS Expected FROM status_by_thread WHERE thread_id = @con2_id AND variable_name IN ('handler_delete'); +THREAD_ID VARIABLE_NAME VARIABLE_VALUE Expected +connnect_2 Handler_delete 2 OK + +SELECT *, IF (variable_value = 3,'OK','ERROR') AS Expected FROM status_by_thread WHERE thread_id = @con3_id AND variable_name IN ('handler_delete'); +THREAD_ID VARIABLE_NAME VARIABLE_VALUE Expected +connnect_3 Handler_delete 3 OK +# +# STATUS_BY_THREAD vs. GLOBAL_STATUS +# +SELECT variable_name, t1, t2, t3, delta, thread, IF(thread=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; +variable_name t1 t2 t3 delta thread Expected +Handler_delete 1 2 3 6 6 OK +Handler_rollback 1 2 3 6 6 OK + +================================================================================ +TEST 2: STATUS_BY_USER: Verify expected status counts per user (1,2,3) +================================================================================ +SELECT *, IF (variable_value = 1,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user1') AND variable_name IN ('handler_delete'); +USER VARIABLE_NAME VARIABLE_VALUE Expected +user1 Handler_delete 1 OK + +SELECT *, IF (variable_value = 2,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user2') AND variable_name IN ('handler_delete'); +USER VARIABLE_NAME VARIABLE_VALUE Expected +user2 Handler_delete 2 OK + +SELECT *, IF (variable_value = 3,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user3') AND variable_name IN ('handler_delete'); +USER VARIABLE_NAME VARIABLE_VALUE Expected +user3 Handler_delete 3 OK +# +# STATUS_BY_USER vs. GLOBAL_STATUS +# +SELECT variable_name, u1, u2, u3, delta, user, IF(user=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; +variable_name u1 u2 u3 delta user Expected +Handler_delete 1 2 3 6 6 OK +Handler_rollback 1 2 3 6 6 OK + +================================================================================ +TEST 3: STATUS_BY_ACCOUNT: Verify expected status counts per user, host (1,2,3) +================================================================================ +SELECT *, IF (variable_value = 1,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user1') AND variable_name IN ('handler_delete'); +USER HOST VARIABLE_NAME VARIABLE_VALUE Expected +user1 localhost Handler_delete 1 OK + +SELECT *, IF (variable_value = 2,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user2') AND variable_name IN ('handler_delete'); +USER HOST VARIABLE_NAME VARIABLE_VALUE Expected +user2 localhost Handler_delete 2 OK + +SELECT *, IF (variable_value = 3,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user3') AND variable_name IN ('handler_delete'); +USER HOST VARIABLE_NAME VARIABLE_VALUE Expected +user3 localhost Handler_delete 3 OK +# +# STATUS_BY_ACCOUNT vs. GLOBAL_STATUS +# +SELECT variable_name, a1, a2, a3, delta, acct, IF(acct=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; +variable_name a1 a2 a3 delta acct Expected +Handler_delete 1 2 3 6 6 OK +Handler_rollback 1 2 3 6 6 OK +================================================================================ +TEST 4: STATUS_BY_HOST: Verify expected status counts per host (6) +================================================================================ +SELECT *, IF (variable_value = 6,'OK','ERROR') AS Expected FROM status_by_host WHERE host IN ('localhost') AND variable_name IN ('handler_delete'); +HOST VARIABLE_NAME VARIABLE_VALUE Expected +localhost Handler_delete 6 OK +# +# STATUS_BY_HOST vs. GLOBAL_STATUS +# +# Special case: No way to isolate pre-existing 'localhost' activity, so +# just check global totals = sum(status_by_host). +# +SELECT variable_name, h1, h2, h3, delta, host, IF(host=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; +variable_name h1 h2 h3 delta host Expected +Handler_delete 6 0 0 6 6 OK +Handler_rollback 6 0 0 6 6 OK + +================================================================================ +DISCONNECT ALL USERS AND RUN THE TESTS AGAIN. RESULTS SHOULD NOT CHANGE. +================================================================================ +connection default; +disconnect con1; +disconnect con2; +disconnect con3; + +USE test; + +# Clear results table, leave initial global_status counts +UPDATE test.status_results +SET stop=0, delta=0, +t1=0, t2=0, t3=0, thread=0, +u1=0, u2=0, u3=0, user=0, +h1=0, h2=0, h3=0, host=0, +a1=0, a2=0, a3=0, acct=0; + +#================= +# Global results +#================= +USE test; +UPDATE test.status_results sr, performance_schema.global_status sg +SET sr.stop = sg.variable_value +WHERE sr.variable_name = sg.variable_name +AND sg.variable_name IN ('handler_delete', 'handler_rollback'); + +# Global deltas: END - START. +UPDATE test.status_results sr +SET sr.delta = sr.stop - sr.start; +#================= +# Status by thread +#================= +# Thread results from CON1. +UPDATE test.status_results sr, performance_schema.status_by_thread sbt +SET sr.t1 = sbt.variable_value +WHERE sr.variable_name = sbt.variable_name +AND sbt.variable_name IN ('handler_delete', 'handler_rollback') +AND sbt.thread_id = @con1_id; + +# Thread results from CON2. +UPDATE test.status_results sr, performance_schema.status_by_thread sbt +SET sr.t2 = sbt.variable_value +WHERE sr.variable_name = sbt.variable_name +AND sbt.variable_name IN ('handler_delete', 'handler_rollback') +AND sbt.thread_id = @con2_id; + +# Thread results from CON3. +UPDATE test.status_results sr, performance_schema.status_by_thread sbt +SET sr.t3 = sbt.variable_value +WHERE sr.variable_name = sbt.variable_name +AND sbt.variable_name IN ('handler_delete', 'handler_rollback') +AND sbt.thread_id = @con3_id; + +# Thread totals for 3 connections. +UPDATE test.status_results sr +SET sr.thread = sr.t1 + sr.t2 + sr.t3; +#================= +# Status by user +#================= +# User1 +UPDATE test.status_results sr, performance_schema.status_by_user sbu +SET sr.u1 = sbu.variable_value +WHERE sr.variable_name = sbu.variable_name +AND sbu.variable_name IN ('handler_delete', 'handler_rollback') +AND sbu.user IN ('user1'); + +# User2 +UPDATE test.status_results sr, performance_schema.status_by_user sbu +SET sr.u2 = sbu.variable_value +WHERE sr.variable_name = sbu.variable_name +AND sbu.variable_name IN ('handler_delete', 'handler_rollback') +AND sbu.user IN ('user2'); + +# User3 +UPDATE test.status_results sr, performance_schema.status_by_user sbu +SET sr.u3 = sbu.variable_value +WHERE sr.variable_name = sbu.variable_name +AND sbu.variable_name IN ('handler_delete', 'handler_rollback') +AND sbu.user IN ('user3'); + +# Status totals for 3 users. +UPDATE test.status_results sr +SET sr.user = sr.u1 + sr.u2 + sr.u3; +#=========================== +# Status by host (localhost) +#=========================== + +# host1 = localhost +UPDATE test.status_results sr, performance_schema.status_by_host sbh +SET sr.h1 = sbh.variable_value +WHERE sr.variable_name = sbh.variable_name +AND sbh.variable_name IN ('handler_delete', 'handler_rollback') +AND sbh.host IN ('localhost'); + +# Status totals for 'localhost' only. +UPDATE test.status_results sr +SET sr.host = sr.h1 + sr.h2 + sr.h3; +#================== +# Status by account +#================== +# User1@localhost +UPDATE test.status_results sr, performance_schema.status_by_account sba +SET sr.a1 = sba.variable_value +WHERE sr.variable_name = sba.variable_name +AND sba.variable_name IN ('handler_delete', 'handler_rollback') +AND sba.user IN ('user1'); + +# User2@localhost +UPDATE test.status_results sr, performance_schema.status_by_account sba +SET sr.a2 = sba.variable_value +WHERE sr.variable_name = sba.variable_name +AND sba.variable_name IN ('handler_delete', 'handler_rollback') +AND sba.user IN ('user2'); + +# User3@localhost +UPDATE test.status_results sr, performance_schema.status_by_account sba +SET sr.a3 = sba.variable_value +WHERE sr.variable_name = sba.variable_name +AND sba.variable_name IN ('handler_delete', 'handler_rollback') +AND sba.user IN ('user3'); + + +# Status totals for 3 accounts. +UPDATE test.status_results sr +SET sr.acct = sr.a1 + sr.a2 + sr.a3; +USE performance_schema; + +================================================================================ +TEST X: STATUS_BY_THREAD: Connections are gone--nothing to verify. +================================================================================ + +================================================================================ +TEST 5: STATUS_BY_USER: Verify expected status counts per user (1,2,3) +================================================================================ +SELECT *, IF (variable_value = 1,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user1') AND variable_name IN ('handler_delete'); +USER VARIABLE_NAME VARIABLE_VALUE Expected +user1 Handler_delete 1 OK + +SELECT *, IF (variable_value = 2,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user2') AND variable_name IN ('handler_delete'); +USER VARIABLE_NAME VARIABLE_VALUE Expected +user2 Handler_delete 2 OK + +SELECT *, IF (variable_value = 3,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user3') AND variable_name IN ('handler_delete'); +USER VARIABLE_NAME VARIABLE_VALUE Expected +user3 Handler_delete 3 OK +# +# STATUS_BY_USER vs. GLOBAL_STATUS +# +SELECT variable_name, u1, u2, u3, delta, user, IF(user=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; +variable_name u1 u2 u3 delta user Expected +Handler_delete 1 2 3 6 6 OK +Handler_rollback 1 2 3 6 6 OK + +================================================================================ +TEST 6: STATUS_BY_ACCOUNT: Verify expected status counts per user:host (1,2,3) +================================================================================ +SELECT *, IF (variable_value = 1,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user1') AND variable_name IN ('handler_delete'); +USER HOST VARIABLE_NAME VARIABLE_VALUE Expected +user1 localhost Handler_delete 1 OK + +SELECT *, IF (variable_value = 2,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user2') AND variable_name IN ('handler_delete'); +USER HOST VARIABLE_NAME VARIABLE_VALUE Expected +user2 localhost Handler_delete 2 OK + +SELECT *, IF (variable_value = 3,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user3') AND variable_name IN ('handler_delete'); +USER HOST VARIABLE_NAME VARIABLE_VALUE Expected +user3 localhost Handler_delete 3 OK +# +# STATUS_BY_ACCOUNT vs. GLOBAL_STATUS +# +SELECT variable_name, a1, a2, a3, delta, acct, IF(acct=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; +variable_name a1 a2 a3 delta acct Expected +Handler_delete 1 2 3 6 6 OK +Handler_rollback 1 2 3 6 6 OK +================================================================================ +TEST 7: STATUS_BY_HOST: Verify expected status counts per host (6) +================================================================================ +SELECT *, IF (variable_value = 6,'OK','ERROR') AS Expected FROM status_by_host WHERE host IN ('localhost') AND variable_name IN ('handler_delete'); +HOST VARIABLE_NAME VARIABLE_VALUE Expected +localhost Handler_delete 6 OK +# +# STATUS_BY_HOST vs. GLOBAL_STATUS +# +# Special case: No way to isolate pre-existing 'localhost' activity, so +# just check global totals = sum(status_by_host). +# +SELECT variable_name, h1, h2, h3, delta, host, IF(host=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; +variable_name h1 h2 h3 delta host Expected +Handler_delete 6 0 0 6 6 OK +Handler_rollback 6 0 0 6 6 OK +================================================================================ +CLEANUP +================================================================================ +DROP TABLE test.t1; +DROP TABLE test.t2; +DROP TABLE test.t3; +DROP TABLE test.status_results; +DROP USER 'user1'@localhost; +DROP USER 'user2'@localhost; +DROP USER 'user3'@localhost; + +# Restore SHOW_COMPATIBILITY_56 setting +SET @@global.show_compatibility_56 = @show_compatibility_56_save; diff --git a/mysql-test/suite/perfschema/r/show_coverage.result b/mysql-test/suite/perfschema/r/show_coverage.result new file mode 100644 index 00000000000..1f620449bbf --- /dev/null +++ b/mysql-test/suite/perfschema/r/show_coverage.result @@ -0,0 +1,115 @@ +select @@global.show_compatibility_56 into @show_compatibility_56_save; + +================================================================================ +SHOW_COMPATIBILITY_56 = ON +================================================================================ +set global show_compatibility_56 = ON; + +# TEST 1 +# Handling of SHOW STATUS/VARIABLES ... WHERE +# +SHOW STATUS WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW GLOBAL STATUS WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW SESSION STATUS WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW SESSION VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +# TEST 2 +# CREATE..SELECT -- Expect correct ER_WARN_DEPRECATED_SYNTAX +# +USE test; +CREATE TABLE t0 SELECT * FROM information_schema.global_status WHERE variable_name = 'COM_SELECT'; +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead +DROP TABLE t0; + +================================================================================ +SHOW_COMPATIBILITY_56 = OFF +================================================================================ +set global show_compatibility_56 = OFF; + +# TEST 3 +# Select status and system variable tables using ORDER BY to exercise the +# rnd_pos() method +# +use performance_schema; +select * from global_variables order by variable_name; +select * from variables_by_thread order by variable_name; +select * from session_variables order by variable_name; +select * from global_status order by variable_name; +select * from session_status order by variable_name; +select * from status_by_thread order by variable_name; +select * from status_by_user order by variable_name; +select * from status_by_host order by variable_name; +select * from status_by_account order by variable_name; + +# TEST 4 +# Handling of SHOW STATUS/VARIABLES ... WHERE +# +SHOW STATUS WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW GLOBAL STATUS WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW SESSION STATUS WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW SESSION VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +# TEST 5 +# Confirm FLUSH STATUS resets counters for all threads. +# + +# Create a new connection + +# Record thread id + +# Increase bytes_received for new connection +USE test; +SHOW TABLES; +Tables_in_test +USE performance_schema; + +# Record bytes_received for other connection +SELECT variable_value FROM status_by_thread +WHERE variable_name = "bytes_received" and thread_id = @thread_id INTO @bytes_before; + +# Reset status counters +FLUSH STATUS; + +# Record bytes_received after reset +SELECT variable_value FROM status_by_thread +WHERE variable_name = "bytes_received" and thread_id = @thread_id INTO @bytes_after; + +# Expect bytes_before > bytes_after +SELECT @bytes_before > @bytes_after; +@bytes_before > @bytes_after +1 + +# Expect bytes_after is zero +SELECT @bytes_after; +@bytes_after +0 + +# CLEANUP +set @@global.show_compatibility_56 = @show_compatibility_56_save; diff --git a/mysql-test/suite/perfschema/r/show_misc.result b/mysql-test/suite/perfschema/r/show_misc.result new file mode 100644 index 00000000000..ba0606121b2 --- /dev/null +++ b/mysql-test/suite/perfschema/r/show_misc.result @@ -0,0 +1,94 @@ +select @@global.show_compatibility_56 into @show_compatibility_56_save; +================================================================================ +SHOW_COMPATIBILITY_56 = ON +================================================================================ +set global show_compatibility_56 = on; +select 1; +1 +1 +SHOW STATUS LIKE 'Last_query_partial_plans'; +Variable_name Value +Last_query_partial_plans 0 +select 2; +2 +2 +SHOW STATUS LIKE 'Last_query_cost'; +Variable_name Value +Last_query_cost 0.000000 + +================================================================================ +SHOW_COMPATIBILITY_56 = OFF +================================================================================ +set global show_compatibility_56 = off; +select 1; +1 +1 +SHOW STATUS LIKE 'Last_query_partial_plans'; +Variable_name Value +Last_query_partial_plans 0 +select 2; +2 +2 +SHOW STATUS LIKE 'Last_query_cost'; +Variable_name Value +Last_query_cost 0.000000 +================================================================================ +SHOW_COMPATIBILITY_56 = ON +================================================================================ +flush status; +set global show_compatibility_56 = on; +SHOW STATUS LIKE 'Created_tmp_tables'; +Variable_name Value +Created_tmp_tables 0 + +================================================================================ +SHOW_COMPATIBILITY_56 = OFF +================================================================================ +set global show_compatibility_56 = off; +SHOW STATUS LIKE 'Created_tmp_tables'; +Variable_name Value +Created_tmp_tables 0 + +================================================================================ +Bug#21789221 SHOW STATUS FAILS WITH LOCK TABLES AND SHOW_COMPATIBILITY_56=OFF +================================================================================ +Verify that SHOW STATUS and SHOW VARIABLES works under LOCK TABLES mode + +CREATE TABLE test.t1 (s1 INT); +LOCK TABLE test.t1 READ; + +SHOW GLOBAL STATUS WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW SESSION STATUS WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW SESSION VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +UNLOCK TABLES; + +LOCK TABLE test.t1 WRITE; + +SHOW GLOBAL STATUS WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW SESSION STATUS WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +SHOW SESSION VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +Variable_name Value + +UNLOCK TABLES; +DROP TABLE test.t1; + +================================================================================ +CLEAN UP +================================================================================ +set @@global.show_compatibility_56 = @show_compatibility_56_save; diff --git a/mysql-test/suite/perfschema/r/show_plugin.result b/mysql-test/suite/perfschema/r/show_plugin.result new file mode 100644 index 00000000000..83e1d664f1a --- /dev/null +++ b/mysql-test/suite/perfschema/r/show_plugin.result @@ -0,0 +1,892 @@ + +================================================================================ +SETUP +================================================================================ +# Save the initial number of concurrent sessions + +# Save current SHOW_COMPATIBILITY_56 setting +SELECT @@global.show_compatibility_56 INTO @show_compatibility_56_save; +# +# SET COMPATIBILITY MODE = OFF +# +SET @@global.show_compatibility_56 = OFF; + +# Verify EXAMPLE plugin is not loaded +SELECT COUNT(*) = 0 AS "Expect 1" FROM information_schema.plugins WHERE plugin_name = "EXAMPLE"; +Expect 1 +1 + +# Create one session to force local and global system variables; +connect con0, localhost, root,,; +connection default; + +================================================================================ +TEST 1- NO PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value + +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +================================================================================ +TEST 2 - PLUGIN LOAD, UNLOAD, RELOAD +================================================================================ +================================================================================ +2.1 - INSTALL PLUGIN +================================================================================ +INSTALL PLUGIN example SONAME 'ha_example.so'; + +================================================================================ +2.1a - FORCE SYNC OF LOCAL AND GLOBAL SYSTEM VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 8, double_var is 8.500000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 8, double_var is 8.500000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 8.500000 +example_double_var 8.500000 +example_enum_var e1 +example_ulong_var 8 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 8.500000 +example_double_var 8.500000 +example_enum_var e1 +example_ulong_var 8 + +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 0, ulong_var is 8, double_var is 8.500000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 0, ulong_var is 8, double_var is 8.500000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 8.500000 +example_double_var 8.500000 +example_enum_var e1 +example_ulong_var 8 + +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 8.500000 +example_double_var 8.500000 +example_enum_var e1 +example_ulong_var 8 +disconnect con0; + +================================================================================ +2.2 - SET PLUGIN VARS +================================================================================ +# GLOBAL +SET GLOBAL example_ulong_var = 100; +SET GLOBAL example_enum_var = e1; +SET GLOBAL example_double_var = 100.9990; +SET GLOBAL example_double_thdvar = 101.9991; +# SESSION +SET SESSION example_double_thdvar = 102.9992; + +================================================================================ +2.3 - VERIFY UPDATED PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 100, double_var is 100.999000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 100, double_var is 100.999000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 101.999100 +example_double_var 100.999000 +example_enum_var e1 +example_ulong_var 100 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 102.999200 +example_double_var 100.999000 +example_enum_var e1 +example_ulong_var 100 + +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 0, ulong_var is 100, double_var is 100.999000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 0, ulong_var is 100, double_var is 100.999000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 101.999100 +example_double_var 100.999000 +example_enum_var e1 +example_ulong_var 100 + +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 102.999200 +example_double_var 100.999000 +example_enum_var e1 +example_ulong_var 100 + +================================================================================ +2.4 - UNINSTALL PLUGIN +================================================================================ +UNINSTALL PLUGIN example; + +================================================================================ +2.5 - VERIFY NO PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value + +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +================================================================================ +2.6 - REINSTALL PLUGIN +================================================================================ +# Reinstall EXAMPLE plugin +INSTALL PLUGIN example SONAME 'ha_example.so'; + +================================================================================ +2.7 - SET PLUGIN VARS AGAIN +================================================================================ +# GLOBAL +SET GLOBAL example_ulong_var = 200; +SET GLOBAL example_enum_var = e2; +SET GLOBAL example_double_var = 200.8880; +SET GLOBAL example_double_thdvar = 201.8881; +# SESSION +SET SESSION example_double_thdvar = 202.8882; + +================================================================================ +2.8 - VERIFY PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 1, ulong_var is 200, double_var is 200.888000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 1, ulong_var is 200, double_var is 200.888000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 201.888100 +example_double_var 200.888000 +example_enum_var e2 +example_ulong_var 200 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 202.888200 +example_double_var 200.888000 +example_enum_var e2 +example_ulong_var 200 + +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 1, ulong_var is 200, double_var is 200.888000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 1, ulong_var is 200, double_var is 200.888000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 201.888100 +example_double_var 200.888000 +example_enum_var e2 +example_ulong_var 200 + +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 202.888200 +example_double_var 200.888000 +example_enum_var e2 +example_ulong_var 200 + +================================================================================ +2.9 - UNINSTALL PLUGIN +================================================================================ +UNINSTALL PLUGIN example; + +================================================================================ +2.10 - VERIFY NO PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value + +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +================================================================================ +TEST 3 - SESSION PLUGIN VARS ON MULTIPLE CONNECTIONS +================================================================================ + +================================================================================ +3.1 - INSTALL PLUGIN +================================================================================ +INSTALL PLUGIN example SONAME 'ha_example.so'; + +================================================================================ +3.2 - SET GLOBAL AND DEFAULT CONNECTION VARS +================================================================================ +connection default; +SET GLOBAL example_ulong_var = 300; +SET GLOBAL example_enum_var = e1; +SET GLOBAL example_double_var = 301.0000; +SET GLOBAL example_double_thdvar = 302.0000; +SET SESSION example_double_thdvar = 300.0000; + +================================================================================ +3.3 - CONNECT 3 CLIENTS, SET LOCAL PLUGIN VARS +================================================================================ +connect con1, localhost, root,,; +SET SESSION example_double_thdvar = 300.1111; + +connect con2, localhost, root,,; +SET SESSION example_double_thdvar = 300.2222; + +connect con3, localhost, root,,; +SET SESSION example_double_thdvar = 300.3333; + +connection default; + +================================================================================ +3.4 - VERIFY GLOBAL AND SESSION PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 302.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 300.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 302.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 300.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +# Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; +variable_name variable_value +example_double_thdvar 300.000000 +example_double_thdvar 300.111100 +example_double_thdvar 300.222200 +example_double_thdvar 300.333300 + +================================================================================ +3.5 - DISCONNECT CLIENTS +================================================================================ +connection con1; +disconnect con1; +connection con2; +disconnect con2; +connection con3; +disconnect con3; +connection default; + +================================================================================ +3.6 - VERIFY SESSION VARS ARE REMOVED +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 302.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 300.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 302.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 300.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +# Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; +variable_name variable_value +example_double_thdvar 300.000000 + +================================================================================ +3.7 - RECONNECT 3 CLIENTS, SET SESSION VARS FOR EACH +================================================================================ +connect con1, localhost, root,,; +SET SESSION example_double_thdvar = 311.1111; + +connect con2, localhost, root,,; +SET SESSION example_double_thdvar = 322.2222; + +connect con3, localhost, root,,; +SET SESSION example_double_thdvar = 333.3333; + +connection default; + +================================================================================ +3.8 - VERIFY GLOBAL AND SESSION VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 302.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 300.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 302.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +example_double_thdvar 300.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +# Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; +variable_name variable_value +example_double_thdvar 300.000000 +example_double_thdvar 311.111100 +example_double_thdvar 322.222200 +example_double_thdvar 333.333300 + +================================================================================ +3.9 - UNINSTALL PLUGIN, LEAVE CLIENTS CONNECTED +================================================================================ +UNINSTALL PLUGIN example; + +================================================================================ +3.10 - VERIFY SESSION VARS ARE REMOVED +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value + +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +# VARIABLES BY THREAD +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; +variable_name variable_value + +================================================================================ +3.11 - DISCONNECT CLIENTS +================================================================================ +connection con1; +disconnect con1; +connection con2; +disconnect con2; +connection con3; +disconnect con3; +connection default; + +================================================================================ +3.12 - VERIFY CLIENTS ARE REMOVED +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value + +SELECT variable_name, variable_value FROM performance_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM performance_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +# VARIABLES BY THREAD +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; +variable_name variable_value + +================================================================================ +TEST 4 - BUG#18008907: DEADLOCK WITH CHANGE_USER, SHOW VARIABLES, INSTALL PLUGIN +================================================================================ + +CREATE PROCEDURE install_no_such_plugin() +BEGIN +INSTALL PLUGIN no_such_plugin SONAME 'no_such_object'; +END| + +CREATE PROCEDURE show_vars() +BEGIN +-- select on information_schema.global_variables +-- will fail, still need to cover execution of the code +-- to verify potential dead locks. +declare continue handler for sqlexception +begin +end; +SELECT COUNT(*) FROM information_schema.global_variables; +SELECT COUNT(*) FROM performance_schema.global_variables; +END| + +================================================================================ +4.1 - DEADLOCK SCENARIO 1: +con1 - has LOCK_system_variables_hash and waits on LOCK_plugin AND +default - has LOCK_plugin and waits on LOCK_system_variables_hash +================================================================================ +connect con1, localhost, root,,; +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL install_plugin WAIT_FOR cont_show_vars'; +call show_vars();; +connection default; +SET DEBUG_SYNC='now WAIT_FOR install_plugin'; +SET DEBUG_SYNC='acquired_LOCK_plugin SIGNAL cont_show_vars'; +call install_no_such_plugin();; +connection con1; + +# Without fix, reap will hang. +COUNT(*) +# +SET DEBUG_SYNC='RESET'; +connection default; +ERROR HY000: Can't open shared library + +SET DEBUG_SYNC='RESET'; + +================================================================================ +4.2 - DEADLOCK SCENARIO 2: +default - has LOCK_system_variables_hash, waits on LOCK_global_system_variables +con1 - has LOCK_plugin, waits on LOCK_system_variables_hash AND +con2 - has LOCK_global_system_variables, waits on LOCK_plugin +================================================================================ +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL install_plugin WAIT_FOR nothing TIMEOUT 10'; +call show_vars();; +connection con1; +SET DEBUG_SYNC='now WAIT_FOR install_plugin'; +SET DEBUG_SYNC='acquired_LOCK_plugin SIGNAL create_connection WAIT_FOR nothing TIMEOUT 10'; +call install_no_such_plugin();; +connect con2, localhost, root,,; +SET DEBUG_SYNC='now WAIT_FOR create_connection'; + +# Without fix, deadlock situation will occur on timeout of debug_syncs in +# default and con1. Because of this, change_user operation hangs. +change_user +connection con1; +ERROR HY000: Can't open shared library + +connection default; +COUNT(*) +# + +disconnect con2; + +================================================================================ +4.3 - DEADLOCK SCENARIO 3: CONCURRENT SHOW VARIABLES AND UNINSTALL PLUGIN +================================================================================ +# +# INSTALL PLUGIN +# +INSTALL PLUGIN example SONAME 'ha_example.so'; +connection con1; + +# Acquiring LOCK_system_variables_hash and LOCK_plugin_delete +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL uninstall_plugin WAIT_FOR go'; +call show_vars();; +connect con2, localhost, root,,; +# +# UNINSTALL PLUGIN +# +SET DEBUG_SYNC='now WAIT_FOR uninstall_plugin'; +UNINSTALL PLUGIN example;; +connection default; + +# Uninstall will wait until SHOW VARIABLES releases LOCK_plugin_delete. +SET DEBUG_SYNC='now SIGNAL go'; +# Connect con1 - reap +connection con1; +COUNT(*) +# +# Connect con2 - reap +connection con2; + +================================================================================ +TEST 5 - BUG#22225549 MYSQL_CHANGE_USER/MYSQL_RESET_CONNECTION + SET INNODB... +Update to plugin-defined session variable triggers resync with global +variables and deadlocks on THD::LOCK_thd_sysvar. +================================================================================ +SELECT @@global.show_compatibility_56; +@@global.show_compatibility_56 +0 +select @@session.innodb_strict_mode; +@@session.innodb_strict_mode +1 +select user(), current_user(); +user() current_user() +root@localhost root@localhost +change_user root +# +# Trigger a resync of session variables with global variables. +# +set @@session.innodb_strict_mode=off; + +# Restore + +set @@session.innodb_strict_mode=1; +select @@session.innodb_strict_mode; +@@session.innodb_strict_mode +1 + +================================================================================ +CLEAN UP +================================================================================ +connection default; + +DROP PROCEDURE show_vars; +DROP PROCEDURE install_no_such_plugin; +SET DEBUG_SYNC='RESET'; + +disconnect con1; +disconnect con2; + +# Restore SHOW_COMPATIBILITY_56 setting +SET @@global.show_compatibility_56 = @show_compatibility_56_save; + +# Wait till we reached the initial number of concurrent sessions diff --git a/mysql-test/suite/perfschema/r/show_plugin_56.result b/mysql-test/suite/perfschema/r/show_plugin_56.result new file mode 100644 index 00000000000..d6e33cc98b6 --- /dev/null +++ b/mysql-test/suite/perfschema/r/show_plugin_56.result @@ -0,0 +1,871 @@ + +================================================================================ +SETUP +================================================================================ +# Save the initial number of concurrent sessions + +# Save current SHOW_COMPATIBILITY_56 setting +SELECT @@global.show_compatibility_56 INTO @show_compatibility_56_save; +# +# SET COMPATIBILITY MODE = ON +# +SET @@global.show_compatibility_56 = ON; + +# Verify EXAMPLE plugin is not loaded +SELECT COUNT(*) = 0 AS "Expect 1" FROM information_schema.plugins WHERE plugin_name = "EXAMPLE"; +Expect 1 +1 + +# Create one session to force local and global system variables; +connect con0, localhost, root,,; +connection default; + +================================================================================ +TEST 1- NO PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value + +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +================================================================================ +TEST 2 - PLUGIN LOAD, UNLOAD, RELOAD +================================================================================ +================================================================================ +2.1 - INSTALL PLUGIN +================================================================================ +INSTALL PLUGIN example SONAME 'ha_example.so'; + +================================================================================ +2.1a - FORCE SYNC OF LOCAL AND GLOBAL SYSTEM VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 8, double_var is 8.500000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 8, double_var is 8.500000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 8.500000 +example_double_var 8.500000 +example_enum_var e1 +example_ulong_var 8 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 8.500000 +example_double_var 8.500000 +example_enum_var e1 +example_ulong_var 8 + +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 0, ulong_var is 8, double_var is 8.500000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 0, ulong_var is 8, double_var is 8.500000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e1 +EXAMPLE_DOUBLE_THDVAR 8.500000 +EXAMPLE_ULONG_VAR 8 +EXAMPLE_DOUBLE_VAR 8.500000 + +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e1 +EXAMPLE_DOUBLE_THDVAR 8.500000 +EXAMPLE_ULONG_VAR 8 +EXAMPLE_DOUBLE_VAR 8.500000 +disconnect con0; + +================================================================================ +2.2 - SET PLUGIN VARS +================================================================================ +# GLOBAL +SET GLOBAL example_ulong_var = 100; +SET GLOBAL example_enum_var = e1; +SET GLOBAL example_double_var = 100.9990; +SET GLOBAL example_double_thdvar = 101.9991; +# SESSION +SET SESSION example_double_thdvar = 102.9992; + +================================================================================ +2.3 - VERIFY UPDATED PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 100, double_var is 100.999000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 100, double_var is 100.999000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 101.999100 +example_double_var 100.999000 +example_enum_var e1 +example_ulong_var 100 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 102.999200 +example_double_var 100.999000 +example_enum_var e1 +example_ulong_var 100 + +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 0, ulong_var is 100, double_var is 100.999000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 0, ulong_var is 100, double_var is 100.999000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e1 +EXAMPLE_DOUBLE_THDVAR 101.999100 +EXAMPLE_ULONG_VAR 100 +EXAMPLE_DOUBLE_VAR 100.999000 + +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e1 +EXAMPLE_DOUBLE_THDVAR 102.999200 +EXAMPLE_ULONG_VAR 100 +EXAMPLE_DOUBLE_VAR 100.999000 + +================================================================================ +2.4 - UNINSTALL PLUGIN +================================================================================ +UNINSTALL PLUGIN example; + +================================================================================ +2.5 - VERIFY NO PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value + +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +================================================================================ +2.6 - REINSTALL PLUGIN +================================================================================ +# Reinstall EXAMPLE plugin +INSTALL PLUGIN example SONAME 'ha_example.so'; + +================================================================================ +2.7 - SET PLUGIN VARS AGAIN +================================================================================ +# GLOBAL +SET GLOBAL example_ulong_var = 200; +SET GLOBAL example_enum_var = e2; +SET GLOBAL example_double_var = 200.8880; +SET GLOBAL example_double_thdvar = 201.8881; +# SESSION +SET SESSION example_double_thdvar = 202.8882; + +================================================================================ +2.8 - VERIFY PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 1, ulong_var is 200, double_var is 200.888000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 1, ulong_var is 200, double_var is 200.888000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 201.888100 +example_double_var 200.888000 +example_enum_var e2 +example_ulong_var 200 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 202.888200 +example_double_var 200.888000 +example_enum_var e2 +example_ulong_var 200 + +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 1, ulong_var is 200, double_var is 200.888000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 1, ulong_var is 200, double_var is 200.888000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e2 +EXAMPLE_DOUBLE_THDVAR 201.888100 +EXAMPLE_ULONG_VAR 200 +EXAMPLE_DOUBLE_VAR 200.888000 + +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e2 +EXAMPLE_DOUBLE_THDVAR 202.888200 +EXAMPLE_ULONG_VAR 200 +EXAMPLE_DOUBLE_VAR 200.888000 + +================================================================================ +2.9 - UNINSTALL PLUGIN +================================================================================ +UNINSTALL PLUGIN example; + +================================================================================ +2.10 - VERIFY NO PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value + +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +================================================================================ +TEST 3 - SESSION PLUGIN VARS ON MULTIPLE CONNECTIONS +================================================================================ + +================================================================================ +3.1 - INSTALL PLUGIN +================================================================================ +INSTALL PLUGIN example SONAME 'ha_example.so'; + +================================================================================ +3.2 - SET GLOBAL AND DEFAULT CONNECTION VARS +================================================================================ +connection default; +SET GLOBAL example_ulong_var = 300; +SET GLOBAL example_enum_var = e1; +SET GLOBAL example_double_var = 301.0000; +SET GLOBAL example_double_thdvar = 302.0000; +SET SESSION example_double_thdvar = 300.0000; + +================================================================================ +3.3 - CONNECT 3 CLIENTS, SET LOCAL PLUGIN VARS +================================================================================ +connect con1, localhost, root,,; +SET SESSION example_double_thdvar = 300.1111; + +connect con2, localhost, root,,; +SET SESSION example_double_thdvar = 300.2222; + +connect con3, localhost, root,,; +SET SESSION example_double_thdvar = 300.3333; + +connection default; + +================================================================================ +3.4 - VERIFY GLOBAL AND SESSION PLUGIN VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 302.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 300.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 0, ulong_var is 300, double_var is 301.000000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 0, ulong_var is 300, double_var is 301.000000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e1 +EXAMPLE_DOUBLE_THDVAR 302.000000 +EXAMPLE_ULONG_VAR 300 +EXAMPLE_DOUBLE_VAR 301.000000 + +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e1 +EXAMPLE_DOUBLE_THDVAR 300.000000 +EXAMPLE_ULONG_VAR 300 +EXAMPLE_DOUBLE_VAR 301.000000 + +# Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; +variable_name variable_value +example_double_thdvar 300.000000 +example_double_thdvar 300.111100 +example_double_thdvar 300.222200 +example_double_thdvar 300.333300 + +================================================================================ +3.5 - DISCONNECT CLIENTS +================================================================================ +connection con1; +disconnect con1; +connection con2; +disconnect con2; +connection con3; +disconnect con3; +connection default; + +================================================================================ +3.6 - VERIFY SESSION VARS ARE REMOVED +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 302.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 300.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 0, ulong_var is 300, double_var is 301.000000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 0, ulong_var is 300, double_var is 301.000000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e1 +EXAMPLE_DOUBLE_THDVAR 302.000000 +EXAMPLE_ULONG_VAR 300 +EXAMPLE_DOUBLE_VAR 301.000000 + +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e1 +EXAMPLE_DOUBLE_THDVAR 300.000000 +EXAMPLE_ULONG_VAR 300 +EXAMPLE_DOUBLE_VAR 301.000000 + +# Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; +variable_name variable_value +example_double_thdvar 300.000000 + +================================================================================ +3.7 - RECONNECT 3 CLIENTS, SET SESSION VARS FOR EACH +================================================================================ +connect con1, localhost, root,,; +SET SESSION example_double_thdvar = 311.1111; + +connect con2, localhost, root,,; +SET SESSION example_double_thdvar = 322.2222; + +connect con3, localhost, root,,; +SET SESSION example_double_thdvar = 333.3333; + +connection default; + +================================================================================ +3.8 - VERIFY GLOBAL AND SESSION VARS +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value +example_func_example enum_var is 0, ulong_var is 300, double_var is 301.000000, really +example_status_array_var1 100 +example_status_array_var2 20.010000 +example_status_var3 three hundred +example_status_var4 ON +example_status_var5 OFF +example_status_var6 8250 + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 302.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value +example_double_thdvar 300.000000 +example_double_var 301.000000 +example_enum_var e1 +example_ulong_var 300 + +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 0, ulong_var is 300, double_var is 301.000000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_FUNC_EXAMPLE enum_var is 0, ulong_var is 300, double_var is 301.000000, really +EXAMPLE_STATUS_ARRAY_VAR1 100 +EXAMPLE_STATUS_ARRAY_VAR2 20.010000 +EXAMPLE_STATUS_VAR3 three hundred +EXAMPLE_STATUS_VAR4 ON +EXAMPLE_STATUS_VAR5 OFF +EXAMPLE_STATUS_VAR6 8250 + +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e1 +EXAMPLE_DOUBLE_THDVAR 302.000000 +EXAMPLE_ULONG_VAR 300 +EXAMPLE_DOUBLE_VAR 301.000000 + +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value +EXAMPLE_ENUM_VAR e1 +EXAMPLE_DOUBLE_THDVAR 300.000000 +EXAMPLE_ULONG_VAR 300 +EXAMPLE_DOUBLE_VAR 301.000000 + +# Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; +variable_name variable_value +example_double_thdvar 300.000000 +example_double_thdvar 311.111100 +example_double_thdvar 322.222200 +example_double_thdvar 333.333300 + +================================================================================ +3.9 - UNINSTALL PLUGIN, LEAVE CLIENTS CONNECTED +================================================================================ +UNINSTALL PLUGIN example; + +================================================================================ +3.10 - VERIFY SESSION VARS ARE REMOVED +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value + +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +# VARIABLES BY THREAD +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; +variable_name variable_value + +================================================================================ +3.11 - DISCONNECT CLIENTS +================================================================================ +connection con1; +disconnect con1; +connection con2; +disconnect con2; +connection con3; +disconnect con3; +connection default; + +================================================================================ +3.12 - VERIFY CLIENTS ARE REMOVED +================================================================================ + +SHOW GLOBAL STATUS LIKE "example_%"; +Variable_name Value + +SHOW SESSION STATUS LIKE "example_%"; +Variable_name Value + +SHOW GLOBAL VARIABLES LIKE "example_%"; +Variable_name Value + +SHOW SESSION VARIABLES LIKE "example_%"; +Variable_name Value + +SELECT variable_name, variable_value FROM information_schema.global_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.session_status WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.global_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +SELECT variable_name, variable_value FROM information_schema.session_variables WHERE variable_name LIKE "example_%"; +variable_name variable_value + +# VARIABLES BY THREAD +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; +variable_name variable_value + +================================================================================ +TEST 4 - BUG#18008907: DEADLOCK WITH CHANGE_USER, SHOW VARIABLES, INSTALL PLUGIN +================================================================================ + +CREATE PROCEDURE install_no_such_plugin() +BEGIN +INSTALL PLUGIN no_such_plugin SONAME 'no_such_object'; +END| + +CREATE PROCEDURE show_vars() +BEGIN +-- select on information_schema.global_variables +-- will fail, still need to cover execution of the code +-- to verify potential dead locks. +declare continue handler for sqlexception +begin +end; +SELECT COUNT(*) FROM information_schema.global_variables; +SELECT COUNT(*) FROM performance_schema.global_variables; +END| + +================================================================================ +4.1 - DEADLOCK SCENARIO 1: +con1 - has LOCK_system_variables_hash and waits on LOCK_plugin AND +default - has LOCK_plugin and waits on LOCK_system_variables_hash +================================================================================ +connect con1, localhost, root,,; +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL install_plugin WAIT_FOR cont_show_vars'; +call show_vars();; +connection default; +SET DEBUG_SYNC='now WAIT_FOR install_plugin'; +SET DEBUG_SYNC='acquired_LOCK_plugin SIGNAL cont_show_vars'; +call install_no_such_plugin();; +connection con1; + +# Without fix, reap will hang. +COUNT(*) +# +COUNT(*) +# +SET DEBUG_SYNC='RESET'; +connection default; +ERROR HY000: Can't open shared library + +SET DEBUG_SYNC='RESET'; + +================================================================================ +4.2 - DEADLOCK SCENARIO 2: +default - has LOCK_system_variables_hash, waits on LOCK_global_system_variables +con1 - has LOCK_plugin, waits on LOCK_system_variables_hash AND +con2 - has LOCK_global_system_variables, waits on LOCK_plugin +================================================================================ +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL install_plugin WAIT_FOR nothing TIMEOUT 10'; +call show_vars();; +connection con1; +SET DEBUG_SYNC='now WAIT_FOR install_plugin'; +SET DEBUG_SYNC='acquired_LOCK_plugin SIGNAL create_connection WAIT_FOR nothing TIMEOUT 10'; +call install_no_such_plugin();; +connect con2, localhost, root,,; +SET DEBUG_SYNC='now WAIT_FOR create_connection'; + +# Without fix, deadlock situation will occur on timeout of debug_syncs in +# default and con1. Because of this, change_user operation hangs. +change_user +connection con1; +ERROR HY000: Can't open shared library + +connection default; +COUNT(*) +# +COUNT(*) +# + +disconnect con2; + +================================================================================ +4.3 - DEADLOCK SCENARIO 3: CONCURRENT SHOW VARIABLES AND UNINSTALL PLUGIN +================================================================================ +# +# INSTALL PLUGIN +# +INSTALL PLUGIN example SONAME 'ha_example.so'; +connection con1; + +# Acquiring LOCK_system_variables_hash and LOCK_plugin_delete +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL uninstall_plugin WAIT_FOR go'; +call show_vars();; +connect con2, localhost, root,,; +# +# UNINSTALL PLUGIN +# +SET DEBUG_SYNC='now WAIT_FOR uninstall_plugin'; +UNINSTALL PLUGIN example;; +connection default; + +# Uninstall will wait until SHOW VARIABLES releases LOCK_plugin_delete. +SET DEBUG_SYNC='now SIGNAL go'; +# Connect con1 - reap +connection con1; +COUNT(*) +# +COUNT(*) +# +# Connect con2 - reap +connection con2; + +================================================================================ +CLEAN UP +================================================================================ +connection default; + +DROP PROCEDURE show_vars; +DROP PROCEDURE install_no_such_plugin; +SET DEBUG_SYNC='RESET'; + +disconnect con1; +disconnect con2; + +# Restore SHOW_COMPATIBILITY_56 setting +SET @@global.show_compatibility_56 = @show_compatibility_56_save; + +# Wait till we reached the initial number of concurrent sessions diff --git a/mysql-test/suite/perfschema/r/show_sanity.result b/mysql-test/suite/perfschema/r/show_sanity.result new file mode 100644 index 00000000000..d8969f91c19 --- /dev/null +++ b/mysql-test/suite/perfschema/r/show_sanity.result @@ -0,0 +1,843 @@ +create table test.sanity( +`SHOW_MODE` varchar(48) NOT NULL, +`SOURCE` varchar(64) NOT NULL, +`VARIABLE_NAME` varchar(64) NOT NULL); +select thread_id from performance_schema.threads +where processlist_id = connection_id() +into @my_tid; +select @@global.show_compatibility_56 into @show_compatibility_56_save; +set @my_user='root'; +set @my_host='localhost'; + +================================================================================ +SHOW_COMPATIBILITY_56 = ON +================================================================================ +set global show_compatibility_56 = on; + +# STEP 1-1 +insert into test.sanity +select "5.6", "I_S.GLOBAL_VARIABLES", variable_name +from information_schema.global_variables; +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_VARIABLES' is deprecated and will be removed in a future release. Please use performance_schema.global_variables instead + +# STEP 1-2 +insert into test.sanity +select "5.6", "I_S.SESSION_VARIABLES", variable_name +from information_schema.session_variables; +Warnings: +Warning 1287 'INFORMATION_SCHEMA.SESSION_VARIABLES' is deprecated and will be removed in a future release. Please use performance_schema.session_variables instead + +# STEP 1-3 +insert into test.sanity +select "5.6", "P_S.GLOBAL_VARIABLES", variable_name +from performance_schema.global_variables; + +# STEP 1-4 +insert into test.sanity +select "5.6", "P_S.VARIABLES_BY_THREAD", variable_name +from performance_schema.variables_by_thread +where thread_id = @my_tid; + +# STEP 1-5 +insert into test.sanity +select "5.6", "P_S.SESSION_VARIABLES", variable_name +from performance_schema.session_variables; + +# STEP 1-6 +insert into test.sanity +select "5.6", "I_S.GLOBAL_STATUS", variable_name +from information_schema.global_status; +Warnings: +Warning 1287 'INFORMATION_SCHEMA.GLOBAL_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.global_status instead + +# STEP 1-7 +insert into test.sanity +select "5.6", "I_S.SESSION_STATUS", variable_name +from information_schema.session_status; +Warnings: +Warning 1287 'INFORMATION_SCHEMA.SESSION_STATUS' is deprecated and will be removed in a future release. Please use performance_schema.session_status instead + +# STEP 1-8 +insert into test.sanity +select "5.6", "P_S.GLOBAL_STATUS", variable_name +from performance_schema.global_status; + +# STEP 1-9 +# EMPTY, NO WARNINGS (not available in 5.6 mode) +select * +from performance_schema.status_by_thread; +THREAD_ID VARIABLE_NAME VARIABLE_VALUE + +# STEP 1-10 +insert into test.sanity +select "5.6", "P_S.SESSION_STATUS", variable_name +from performance_schema.session_status; + +# STEP 1-11 +# EMPTY, NO WARNINGS (not available in 5.6 mode) +select * +from performance_schema.status_by_account; +USER HOST VARIABLE_NAME VARIABLE_VALUE + +# STEP 1-12 +# EMPTY, NO WARNINGS (not available in 5.6 mode) +select * +from performance_schema.status_by_user; +USER VARIABLE_NAME VARIABLE_VALUE + +# STEP 1-13 +# EMPTY, NO WARNINGS (not available in 5.6 mode) +select * +from performance_schema.status_by_host; +HOST VARIABLE_NAME VARIABLE_VALUE + +================================================================================ +SHOW_COMPATIBILITY_56 = OFF +================================================================================ +set global show_compatibility_56 = off; + +# STEP 2-1 +# FAILS WITH ERROR +select * +from information_schema.global_variables; +ERROR HY000: The 'INFORMATION_SCHEMA.GLOBAL_VARIABLES' feature is disabled; see the documentation for 'show_compatibility_56' + +# STEP 2-2 +# FAILS WITH ERROR +select * +from information_schema.session_variables; +ERROR HY000: The 'INFORMATION_SCHEMA.SESSION_VARIABLES' feature is disabled; see the documentation for 'show_compatibility_56' + +# STEP 2-3 +insert into test.sanity +select "5.7", "P_S.GLOBAL_VARIABLES", variable_name +from performance_schema.global_variables; + +# STEP 2-4 +insert into test.sanity +select "5.7", "P_S.VARIABLES_BY_THREAD", variable_name +from performance_schema.variables_by_thread +where thread_id = @my_tid; + +# STEP 2-5 +insert into test.sanity +select "5.7", "P_S.SESSION_VARIABLES", variable_name +from performance_schema.session_variables; + +# STEP 2-6 +# FAILS WITH ERROR +select * +from information_schema.global_status; +ERROR HY000: The 'INFORMATION_SCHEMA.GLOBAL_STATUS' feature is disabled; see the documentation for 'show_compatibility_56' + +# STEP 2-7 +# FAILS WITH ERROR +select * +from information_schema.session_status; +ERROR HY000: The 'INFORMATION_SCHEMA.SESSION_STATUS' feature is disabled; see the documentation for 'show_compatibility_56' + +# STEP 2-8 +insert into test.sanity +select "5.7", "P_S.GLOBAL_STATUS", variable_name +from performance_schema.global_status; + +# STEP 2-9 +insert into test.sanity +select "5.7", "P_S.STATUS_BY_THREAD", variable_name +from performance_schema.status_by_thread +where thread_id = @my_tid; + +# STEP 2-10 +insert into test.sanity +select "5.7", "P_S.SESSION_STATUS", variable_name +from performance_schema.session_status; + +# STEP 2-11 +insert into test.sanity +select "5.7", "P_S.STATUS_BY_ACCOUNT", variable_name +from performance_schema.status_by_account +where `user` = @my_user and `host` = @my_host; + +# STEP 2-12 +insert into test.sanity +select "5.7", "P_S.STATUS_BY_USER", variable_name +from performance_schema.status_by_user +where `user` = @my_user; + +# STEP 2-13 +insert into test.sanity +select "5.7", "P_S.STATUS_BY_HOST", variable_name +from performance_schema.status_by_host +where `host` = @my_host; + +# STEP 2-14 +# Known global variables in 5.6 that should not display in session queries. +# These should be global-only system variables. + +# STEP 2-15 +# Known global status in 5.6 that should not exist in session queries. +# These should be global-only status variables. + +# STEP 2-15A +# COM counters appear in I_S.SESSION_STATUS, but not in P_S.SESSION_STATUS + +# STEP 2-15B +# These slave status counters appear in I_S.SESSION_STATUS, but not in P_S.SESSION_STATUS +insert into test.sanity values +("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_HEARTBEAT_PERIOD"), +("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_LAST_HEARTBEAT"), +("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_RECEIVED_HEARTBEATS"), +("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_RETRIED_TRANSACTIONS"), +("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_RUNNING") +; + +# STEP 2-16 +# Known session-only status in 5.6 that should not exist in global queries. +insert into test.sanity values +("JUNK: SESSION-ONLY", "I_S.GLOBAL_STATUS", "COMPRESSION"), +("JUNK: SESSION-ONLY", "I_S.GLOBAL_STATUS", "LAST_QUERY_COST"), +("JUNK: SESSION-ONLY", "I_S.GLOBAL_STATUS", "LAST_QUERY_PARTIAL_PLANS") +; + +# STEP 2-16A +# COM counters appear in I_S.GLOBAL_STATUS but not in P_S.GLOBAL_STATUS + +# STEP 2-16B +# These slave status counters appear in I_S.GLOBAL_STATUS, but not in P_S.GLOBAL_STATUS +insert into test.sanity values +("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_HEARTBEAT_PERIOD"), +("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_LAST_HEARTBEAT"), +("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_RECEIVED_HEARTBEATS"), +("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_RETRIED_TRANSACTIONS"), +("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_RUNNING") +; + +# STEP 2-17 +# Status variables that should not exist in queries that aggregate across threads. +# Criteria: Session-only OR non-aggregatable. +insert into test.sanity values +("JUNK", "NO AGGREGATE", "COMPRESSION"), +("JUNK", "NO AGGREGATE", "LAST_QUERY_COST"), +("JUNK", "NO AGGREGATE", "LAST_QUERY_PARTIAL_PLANS"), +("JUNK", "NO AGGREGATE", "OPEN_TABLES"), +("JUNK", "NO AGGREGATE", "QUERIES"), +("JUNK", "NO AGGREGATE", "SLOW_LAUNCH_THREADS"), +("JUNK", "NO AGGREGATE", "SSL_CIPHER"), +("JUNK", "NO AGGREGATE", "SSL_CIPHER_LIST"), +("JUNK", "NO AGGREGATE", "SSL_DEFAULT_TIMEOUT"), +("JUNK", "NO AGGREGATE", "SSL_SERVER_NOT_AFTER"), +("JUNK", "NO AGGREGATE", "SSL_SERVER_NOT_BEFORE"), +("JUNK", "NO AGGREGATE", "SSL_SESSIONS_REUSED"), +("JUNK", "NO AGGREGATE", "SSL_VERIFY_DEPTH"), +("JUNK", "NO AGGREGATE", "SSL_VERIFY_MODE"), +("JUNK", "NO AGGREGATE", "SSL_VERSION") +; + +================================================================================ +TEST 1A +Present in 5.6 P_S.GLOBAL_VARIABLES (1-3) +Missing in 5.6 I_S.GLOBAL_VARIABLES (1-1) +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "P_S.GLOBAL_VARIABLES" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "I_S.GLOBAL_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 1B +Present in 5.7 P_S.GLOBAL_VARIABLES (2-3) +Missing in 5.6 I_S.GLOBAL_VARIABLES (1-1) +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.GLOBAL_VARIABLES" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "I_S.GLOBAL_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 2A +Present in 5.6 I_S.GLOBAL_VARIABLES (1-1) +Missing in 5.6 P_S.GLOBAL_VARIABLES (1-3) +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "I_S.GLOBAL_VARIABLES" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "P_S.GLOBAL_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME +5.6 I_S.GLOBAL_VARIABLES SQL_LOG_BIN + +================================================================================ +TEST 2B +Present in 5.6 I_S.GLOBAL_VARIABLES (1-1) +Missing in 5.7 P_S.GLOBAL_VARIABLES (2-3) +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "I_S.GLOBAL_VARIABLES" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.GLOBAL_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME +5.6 I_S.GLOBAL_VARIABLES SQL_LOG_BIN + +================================================================================ +TEST 3A +Present in 5.6 P_S.SESSION_VARIABLES (1-5) +Missing in 5.6 I_S.SESSION_VARIABLES (1-2) +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "P_S.SESSION_VARIABLES" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 3B +Present in 5.7 P_S.SESSION_VARIABLES (2-5) +Missing in 5.6 I_S.SESSION_VARIABLES (1-2) +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_VARIABLES" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 4A +Present in 5.6 I_S.SESSION_VARIABLES (1-2) +Missing in 5.6 P_S.SESSION_VARIABLES (1-5) +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "P_S.SESSION_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME +5.6 I_S.SESSION_VARIABLES GTID_EXECUTED + +================================================================================ +TEST 4B +Present in 5.6 I_S.SESSION_VARIABLES (1-2) +Missing in 5.7 P_S.SESSION_VARIABLES (2-5) +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME +5.6 I_S.SESSION_VARIABLES GTID_EXECUTED + +================================================================================ +TEST 5A +Present in 5.6 P_S.VARIABLES_BY_THREAD (1-4) +Missing in 5.6 I_S.SESSION_VARIABLES (1-2) +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "P_S.VARIABLES_BY_THREAD" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 5B +Present in 5.7 P_S.VARIABLES_BY_THREAD (2-4) +Missing in 5.6 I_S.SESSION_VARIABLES (1-2) +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.VARIABLES_BY_THREAD" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 5C +Present in 5.6 I_S.SESSION_VARIABLES (1-2) +Missing in 5.6 P_S.VARIABLES_BY_THREAD (1-4) +EXPECT NOTHING BESIDE KNOWN GLOBAL VARIABLES (2-14) +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "P_S.VARIABLES_BY_THREAD") +and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "JUNK: GLOBAL-ONLY" + and source = "I_S.SESSION_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME +5.6 I_S.SESSION_VARIABLES GTID_EXECUTED +5.6 I_S.SESSION_VARIABLES LOG_STATEMENTS_UNSAFE_FOR_BINLOG +5.6 I_S.SESSION_VARIABLES TLS_VERSION + +================================================================================ +TEST 5D +Present in 5.6 I_S.SESSION_VARIABLES (1-2) +Missing in 5.7 P_S.VARIABLES_BY_THREAD (2-5) +EXPECT NOTHING BESIDE KNOWN GLOBAL VARIABLES (2-14) +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.VARIABLES_BY_THREAD") +and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "JUNK: GLOBAL-ONLY" + and source = "I_S.SESSION_VARIABLES") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME +5.6 I_S.SESSION_VARIABLES GTID_EXECUTED +5.6 I_S.SESSION_VARIABLES LOG_STATEMENTS_UNSAFE_FOR_BINLOG +5.6 I_S.SESSION_VARIABLES TLS_VERSION + +================================================================================ +TEST 5E +KNOWN GLOBAL VARIABLES (2-14) +Expect missing in 5.6 P_S.VARIABLES_BY_THREAD (1-4) +================================================================================ +select * from test.sanity +where show_mode = "JUNK: GLOBAL-ONLY" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "P_S.VARIABLES_BY_THREAD") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 5F +KNOWN GLOBAL VARIABLES (2-14) +Expect missing in 5.7 P_S.VARIABLES_BY_THREAD (2-5) +================================================================================ +select * from test.sanity +where show_mode = "JUNK: GLOBAL-ONLY" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.VARIABLES_BY_THREAD") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 6A +Present in 5.7 P_S.GLOBAL_STATUS (2-8) +Missing in 5.6 I_S.GLOBAL_STATUS (1-6) +EXPECT NOTHING +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.GLOBAL_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "I_S.GLOBAL_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 6B +Present in 5.7 P_S.GLOBAL_STATUS (2-8) +Missing in 5.6 P_S.GLOBAL_STATUS (1-8) +EXPECT NOTHING +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.GLOBAL_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "P_S.GLOBAL_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 6C +Present in 5.6 P_S.GLOBAL_STATUS (1-8) +Missing in 5.7 P_S.GLOBAL_STATUS (2-8) +EXPECT NOTHING +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "P_S.GLOBAL_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.GLOBAL_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 7 +Present in 5.6 I_S.GLOBAL_STATUS (1-6) +Missing in 5.7 P_S.GLOBAL_STATUS (2-8) +EXPECT NOTHING AFTER REMOVING KNOWN SESSION-ONLY, COM COUNTERS AND SLAVE-ONLY (2-16 & 2-16A & 2-16B) +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "I_S.GLOBAL_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where (show_mode = "JUNK: SESSION-ONLY" or show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY") +and source = "I_S.GLOBAL_STATUS") +and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.GLOBAL_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME +5.6 I_S.GLOBAL_STATUS COM_SHUTDOWN + +================================================================================ +TEST 8 +KNOWN SESSION-ONLY (2-16) +KNOWN COM COUNTERS (2-16A) +KNOWN SLAVE-ONLY (2-16B) +Status variables that should NOT be present in 5.7 P_S.GLOBAL_STATUS (2-8) +EXPECT NOTHING +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.GLOBAL_STATUS" + and upper(variable_name) in ( +select upper(variable_name) from test.sanity +where (show_mode = "JUNK: SESSION-ONLY" or show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY") +and source = "I_S.GLOBAL_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 9A +Present in 5.7 P_S.SESSION_STATUS (2-10) +Missing in 5.6 I_S.SESSION_STATUS (1-7) +EXPECT NOTHING +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "I_S.SESSION_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 9B +Present in 5.7 P_S.SESSION_STATUS (2-10) +Missing in 5.6 P_S.SESSION_STATUS (1-10) +EXPECT NOTHING +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.6" + and source = "P_S.SESSION_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 9C +Present in 5.6 P_S.SESSION_STATUS (1-10) +Missing in 5.7 P_S.SESSION_STATUS (2-10) +EXPECT NOTHING +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 10 +Present in 5.6 I_S.SESSION_STATUS (1-7) +Missing in 5.7 P_S.SESSION_STATUS (2-10) +EXPECT NOTHING AFTER REMOVING KNOWN COM COUNTERS AND SLAVE-ONLY (2-15A & 2-15B) +================================================================================ +select * from test.sanity +where show_mode = "5.6" + and source = "I_S.SESSION_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where (show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY") +and source = "I_S.SESSION_STATUS") +and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME +5.6 I_S.SESSION_STATUS COM_SHUTDOWN + +================================================================================ +TEST 11 +KNOWN COM COUNTERS (2-15A) +KNOWN SLAVE-ONLY (2-15B) +Status variables that should NOT be present in 5.7 P_S.SESSION_STATUS (2-10) +EXPECT NOTHING +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) in ( +select upper(variable_name) from test.sanity +where (show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY") +and source = "I_S.SESSION_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 12 +Present in 5.7 P_S.SESSION_STATUS (2-10) +Missing in 5.7 P_S.STATUS_BY_THREAD +EXPECT NOTHING AFTER REMOVING KNOWN GLOBAL-ONLY (2-15) +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.STATUS_BY_THREAD") +and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where (show_mode = "JUNK: GLOBAL-ONLY") +and source = "I_S.SESSION_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 13 +Present in 5.7 P_S.STATUS_BY_THREAD +Missing in 5.7 P_S.SESSION_STATUS (2-10) +EXPECT NOTHING +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.STATUS_BY_THREAD" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 14 +Present in 5.7 P_S.SESSION_STATUS (2-10) +Missing in 5.7 P_S.STATUS_BY_ACCOUNT +EXPECT NOTHING AFTER REMOVING +- KNOWN GLOBAL-ONLY (2-15) +- STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "JUNK" + and source = "NO AGGREGATE") +and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where (show_mode = "JUNK: GLOBAL-ONLY") +and source = "I_S.SESSION_STATUS") +and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.STATUS_BY_ACCOUNT") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 15 +Present in 5.7 P_S.STATUS_BY_ACCOUNT +Missing in 5.7 P_S.SESSION_STATUS (2-10) +EXPECT NOTHING +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.STATUS_BY_ACCOUNT" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 16 +KNOWN STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +Status variables that should NOT be present in 5.7 P_S.STATUS_BY_ACCOUNT +================================================================================ +select * from performance_schema.status_by_account +where upper(variable_name) in ( +select upper(variable_name) from test.sanity +where show_mode = "JUNK" + and source = "NO AGGREGATE") +order by variable_name; +USER HOST VARIABLE_NAME VARIABLE_VALUE + +================================================================================ +TEST 17 +Present in 5.7 P_S.SESSION_STATUS (2-10) +Missing in 5.7 P_S.STATUS_BY_USER +EXPECT NOTHING AFTER REMOVING +- KNOWN GLOBAL-ONLY (2-15) +- STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "JUNK" + and source = "NO AGGREGATE") +and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where (show_mode = "JUNK: GLOBAL-ONLY") +and source = "I_S.SESSION_STATUS") +and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.STATUS_BY_USER") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 18 +Present in 5.7 P_S.STATUS_BY_USER +Missing in 5.7 P_S.SESSION_STATUS (2-10) +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.STATUS_BY_USER" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 19 +KNOWN STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +Status variables that should NOT be present in 5.7 P_S.STATUS_BY_USER +================================================================================ +select * from performance_schema.status_by_user +where upper(variable_name) in ( +select upper(variable_name) from test.sanity +where show_mode = "JUNK" + and source = "NO AGGREGATE") +order by variable_name; +USER VARIABLE_NAME VARIABLE_VALUE + +================================================================================ +TEST 20 +Present in 5.7 P_S.SESSION_STATUS (2-10) +Missing in 5.7 P_S.STATUS_BY_HOST +EXPECT NOTHING AFTER REMOVING +- KNOWN GLOBAL-ONLY (2-15) +- STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "JUNK" + and source = "NO AGGREGATE") +and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where (show_mode = "JUNK: GLOBAL-ONLY") +and source = "I_S.SESSION_STATUS") +and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.STATUS_BY_HOST") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 21 +Present in 5.7 P_S.STATUS_BY_HOST +Missing in 5.7 P_S.SESSION_STATUS (2-10) +================================================================================ +select * from test.sanity +where show_mode = "5.7" + and source = "P_S.STATUS_BY_HOST" + and upper(variable_name) not in ( +select upper(variable_name) from test.sanity +where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") +order by show_mode, source, variable_name; +SHOW_MODE SOURCE VARIABLE_NAME + +================================================================================ +TEST 22 +KNOWN STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +Status variables that should NOT be present in 5.7 P_S.STATUS_BY_HOST +================================================================================ +select * from performance_schema.status_by_host +where upper(variable_name) in ( +select upper(variable_name) from test.sanity +where show_mode = "JUNK" + and source = "NO AGGREGATE") +order by variable_name; +HOST VARIABLE_NAME VARIABLE_VALUE + +================================================================================ +CLEAN UP +================================================================================ +set @@global.show_compatibility_56 = @show_compatibility_56_save; +drop table test.sanity; diff --git a/mysql-test/suite/perfschema/r/sizing_default.result b/mysql-test/suite/perfschema/r/sizing_default.result deleted file mode 100644 index 1ca202e821f..00000000000 --- a/mysql-test/suite/perfschema/r/sizing_default.result +++ /dev/null @@ -1,69 +0,0 @@ -show variables like "table_definition_cache"; -Variable_name Value -table_definition_cache 1400 -show variables like "table_open_cache"; -Variable_name Value -table_open_cache 2000 -show variables like "max_connections"; -Variable_name Value -max_connections 151 -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; -Variable_name Value -performance_schema ON -performance_schema_accounts_size 100 -performance_schema_digests_size 10000 -performance_schema_events_stages_history_long_size 10000 -performance_schema_events_stages_history_size 10 -performance_schema_events_statements_history_long_size 10000 -performance_schema_events_statements_history_size 10 -performance_schema_events_waits_history_long_size 10000 -performance_schema_events_waits_history_size 10 -performance_schema_hosts_size 100 -performance_schema_max_cond_classes 80 -performance_schema_max_cond_instances 3504 -performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 -performance_schema_max_file_handles 32768 -performance_schema_max_file_instances 7693 -performance_schema_max_mutex_classes 200 -performance_schema_max_mutex_instances 15906 -performance_schema_max_rwlock_classes 40 -performance_schema_max_rwlock_instances 9102 -performance_schema_max_socket_classes 10 -performance_schema_max_socket_instances 322 -performance_schema_max_stage_classes 150 -performance_schema_max_table_handles 4000 -performance_schema_max_table_instances 12500 -performance_schema_max_thread_classes 50 -performance_schema_max_thread_instances 402 -performance_schema_session_connect_attrs_size 512 -performance_schema_setup_actors_size 100 -performance_schema_setup_objects_size 100 -performance_schema_users_size 100 -show status like "%performance_schema%"; -Variable_name Value -Performance_schema_accounts_lost 0 -Performance_schema_cond_classes_lost 0 -Performance_schema_cond_instances_lost 0 -Performance_schema_digest_lost 0 -Performance_schema_file_classes_lost 0 -Performance_schema_file_handles_lost 0 -Performance_schema_file_instances_lost 0 -Performance_schema_hosts_lost 0 -Performance_schema_locker_lost 0 -Performance_schema_mutex_classes_lost 0 -Performance_schema_mutex_instances_lost 0 -Performance_schema_rwlock_classes_lost 0 -Performance_schema_rwlock_instances_lost 0 -Performance_schema_session_connect_attrs_lost 0 -Performance_schema_socket_classes_lost 0 -Performance_schema_socket_instances_lost 0 -Performance_schema_stage_classes_lost 0 -Performance_schema_statement_classes_lost 0 -Performance_schema_table_handles_lost 0 -Performance_schema_table_instances_lost 0 -Performance_schema_thread_classes_lost 0 -Performance_schema_thread_instances_lost 0 -Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/sizing_growth.result b/mysql-test/suite/perfschema/r/sizing_growth.result deleted file mode 100644 index 2190e904fd4..00000000000 --- a/mysql-test/suite/perfschema/r/sizing_growth.result +++ /dev/null @@ -1,255 +0,0 @@ -flush status; -flush tables; -select * from performance_schema.mutex_instances; -select * from performance_schema.rwlock_instances; -select * from performance_schema.cond_instances; -select * from performance_schema.file_instances; -select count(*) from performance_schema.mutex_instances -into @v0_mutex_instances; -select count(*) from performance_schema.rwlock_instances -into @v0_rwlock_instances; -select count(*) from performance_schema.cond_instances -into @v0_cond_instances; -select count(*) from performance_schema.file_instances -into @v0_file_instances; -select count(*) from performance_schema.mutex_instances -into @v1_mutex_instances; -select count(*) from performance_schema.rwlock_instances -into @v1_rwlock_instances; -select count(*) from performance_schema.cond_instances -into @v1_cond_instances; -select count(*) from performance_schema.file_instances -into @v1_file_instances; -select count(name), name from performance_schema.mutex_instances -group by name; -select count(name), name from performance_schema.rwlock_instances -group by name; -select count(name), name from performance_schema.cond_instances -group by name; -select count(event_name), event_name from performance_schema.file_instances -group by event_name; -begin; -create table test.t1(a int) engine = innodb; -create table test.t2(a int) engine = innodb; -create table test.t3(a int) engine = innodb; -create table test.t4(a int) engine = innodb; -create table test.t5(a int) engine = innodb; -create table test.t6(a int) engine = innodb; -create table test.t7(a int) engine = innodb; -create table test.t8(a int) engine = innodb; -create table test.t9(a int) engine = innodb; -create table test.t10(a int) engine = innodb; -select * from test.t1; -select * from test.t2; -select * from test.t3; -select * from test.t4; -select * from test.t5; -select * from test.t6; -select * from test.t7; -select * from test.t8; -select * from test.t9; -select * from test.t10; -commit; -select count(*) from performance_schema.mutex_instances -into @v2_mutex_instances; -select count(*) from performance_schema.rwlock_instances -into @v2_rwlock_instances; -select count(*) from performance_schema.cond_instances -into @v2_cond_instances; -select count(*) from performance_schema.file_instances -into @v2_file_instances; -select count(name), name from performance_schema.mutex_instances -group by name; -select count(name), name from performance_schema.rwlock_instances -group by name; -select count(name), name from performance_schema.cond_instances -group by name; -select count(event_name), event_name from performance_schema.file_instances -group by event_name; -select @v2_mutex_instances, @v1_mutex_instances, @v0_mutex_instances; -select @v2_rwlock_instances, @v1_rwlock_instances, @v0_rwlock_instances; -select @v2_cond_instances, @v1_cond_instances, @v0_cond_instances; -select @v2_file_instances, @v1_file_instances, @v0_file_instances; -select round((@v2_mutex_instances - @v1_mutex_instances) / 10) -into @mutex_per_share; -select round((@v2_rwlock_instances - @v1_rwlock_instances) / 10) -into @rwlock_per_share; -select round((@v2_cond_instances - @v1_cond_instances) / 10) -into @cond_per_share; -select round((@v2_file_instances - @v1_file_instances) / 10) -into @file_per_share; -select "con1 connected"; -select "con2 connected"; -select "con3 connected"; -select "con4 connected"; -select "con5 connected"; -select "con6 connected"; -select "con7 connected"; -select "con8 connected"; -select "con9 connected"; -select "con10 connected"; -select count(*) from performance_schema.mutex_instances -into @v3_mutex_instances; -select count(*) from performance_schema.rwlock_instances -into @v3_rwlock_instances; -select count(*) from performance_schema.cond_instances -into @v3_cond_instances; -select count(*) from performance_schema.file_instances -into @v3_file_instances; -select count(name), name from performance_schema.mutex_instances -group by name; -select count(name), name from performance_schema.rwlock_instances -group by name; -select count(name), name from performance_schema.cond_instances -group by name; -select count(event_name), event_name from performance_schema.file_instances -group by event_name; -select @v3_mutex_instances, @v2_mutex_instances; -select @v3_rwlock_instances, @v2_rwlock_instances; -select @v3_cond_instances, @v2_cond_instances; -select @v3_file_instances, @v2_file_instances; -select round((@v3_mutex_instances - @v2_mutex_instances) / 10) -into @mutex_per_con; -select round((@v3_rwlock_instances - @v2_rwlock_instances) / 10) -into @rwlock_per_con; -select round((@v3_cond_instances - @v2_cond_instances) / 10) -into @cond_per_con; -select round((@v3_file_instances - @v2_file_instances) / 10) -into @file_per_con; -lock table test.t1 write, test.t2 write, test.t3 write, test.t4 write, -test.t5 write, test.t6 write, test.t7 write, test.t8 write, test.t9 write, -test.t10 write; -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* -from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* -from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* -from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* -from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* -from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* -from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* -from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* -from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* -from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* -from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; -select count(*) from performance_schema.mutex_instances -into @v4_mutex_instances; -select count(*) from performance_schema.rwlock_instances -into @v4_rwlock_instances; -select count(*) from performance_schema.cond_instances -into @v4_cond_instances; -select count(*) from performance_schema.file_instances -into @v4_file_instances; -select count(name), name from performance_schema.mutex_instances -group by name; -select count(name), name from performance_schema.rwlock_instances -group by name; -select count(name), name from performance_schema.cond_instances -group by name; -select count(event_name), event_name from performance_schema.file_instances -group by event_name; -select @v4_mutex_instances, @v3_mutex_instances; -select @v4_rwlock_instances, @v3_rwlock_instances; -select @v4_cond_instances, @v3_cond_instances; -select @v4_file_instances, @v3_file_instances; -select round((@v4_mutex_instances - @v3_mutex_instances) / 10) -into @mutex_per_handle; -select round((@v4_rwlock_instances - @v3_rwlock_instances) / 10) -into @rwlock_per_handle; -select round((@v4_cond_instances - @v3_cond_instances) / 10) -into @cond_per_handle; -select round((@v4_file_instances - @v3_file_instances) / 10) -into @file_per_handle; -unlock tables; -drop table test.t1; -drop table test.t2; -drop table test.t3; -drop table test.t4; -drop table test.t5; -drop table test.t6; -drop table test.t7; -drop table test.t8; -drop table test.t9; -drop table test.t10; -show status like "performance_schema%"; -Variable_name Value -Performance_schema_accounts_lost 0 -Performance_schema_cond_classes_lost 0 -Performance_schema_cond_instances_lost 0 -Performance_schema_digest_lost 0 -Performance_schema_file_classes_lost 0 -Performance_schema_file_handles_lost 0 -Performance_schema_file_instances_lost 0 -Performance_schema_hosts_lost 0 -Performance_schema_locker_lost 0 -Performance_schema_mutex_classes_lost 0 -Performance_schema_mutex_instances_lost 0 -Performance_schema_rwlock_classes_lost 0 -Performance_schema_rwlock_instances_lost 0 -Performance_schema_session_connect_attrs_lost 0 -Performance_schema_socket_classes_lost 0 -Performance_schema_socket_instances_lost 0 -Performance_schema_stage_classes_lost 0 -Performance_schema_statement_classes_lost 0 -Performance_schema_table_handles_lost 0 -Performance_schema_table_instances_lost 0 -Performance_schema_thread_classes_lost 0 -Performance_schema_thread_instances_lost 0 -Performance_schema_users_lost 0 -select @rwlock_per_share <= 3; -@rwlock_per_share <= 3 -1 -select @cond_per_share; -@cond_per_share -0 -select @file_per_share <= 3; -@file_per_share <= 3 -1 -select @mutex_per_con; -@mutex_per_con -3 -select @rwlock_per_con; -@rwlock_per_con -1 -select @cond_per_con; -@cond_per_con -2 -select @file_per_con; -@file_per_con -0 -select @mutex_per_handle; -@mutex_per_handle -0 -select @rwlock_per_handle; -@rwlock_per_handle -0 -select @cond_per_handle; -@cond_per_handle -0 -select @file_per_handle; -@file_per_handle -0 -select if( -(@rwlock_per_share <= 3) -AND (@cond_per_share = 0) -AND (@file_per_share <= 3) -AND (@mutex_per_con = 3) -AND (@rwlock_per_con = 1) -AND (@cond_per_con = 2) -AND (@file_per_con = 0) -AND (@mutex_per_handle = 0) -AND (@rwlock_per_handle = 0) -AND (@cond_per_handle = 0) -AND (@file_per_handle = 0), -"OK: heuristics are up to date", -"FAILED: heuristics need to be updated") -as status; -status -OK: heuristics are up to date diff --git a/mysql-test/suite/perfschema/r/sizing_high.result b/mysql-test/suite/perfschema/r/sizing_high.result deleted file mode 100644 index b633d5fce8d..00000000000 --- a/mysql-test/suite/perfschema/r/sizing_high.result +++ /dev/null @@ -1,69 +0,0 @@ -show variables like "table_definition_cache"; -Variable_name Value -table_definition_cache 5000 -show variables like "table_open_cache"; -Variable_name Value -table_open_cache 400 -show variables like "max_connections"; -Variable_name Value -max_connections 200 -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; -Variable_name Value -performance_schema ON -performance_schema_accounts_size 100 -performance_schema_digests_size 10000 -performance_schema_events_stages_history_long_size 10000 -performance_schema_events_stages_history_size 10 -performance_schema_events_statements_history_long_size 10000 -performance_schema_events_statements_history_size 10 -performance_schema_events_waits_history_long_size 10000 -performance_schema_events_waits_history_size 10 -performance_schema_hosts_size 100 -performance_schema_max_cond_classes 80 -performance_schema_max_cond_instances 10900 -performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 -performance_schema_max_file_handles 32768 -performance_schema_max_file_instances 23385 -performance_schema_max_mutex_classes 200 -performance_schema_max_mutex_instances 52200 -performance_schema_max_rwlock_classes 40 -performance_schema_max_rwlock_instances 30800 -performance_schema_max_socket_classes 10 -performance_schema_max_socket_instances 420 -performance_schema_max_stage_classes 150 -performance_schema_max_table_handles 800 -performance_schema_max_table_instances 12500 -performance_schema_max_thread_classes 50 -performance_schema_max_thread_instances 500 -performance_schema_session_connect_attrs_size 512 -performance_schema_setup_actors_size 100 -performance_schema_setup_objects_size 100 -performance_schema_users_size 100 -show status like "%performance_schema%"; -Variable_name Value -Performance_schema_accounts_lost 0 -Performance_schema_cond_classes_lost 0 -Performance_schema_cond_instances_lost 0 -Performance_schema_digest_lost 0 -Performance_schema_file_classes_lost 0 -Performance_schema_file_handles_lost 0 -Performance_schema_file_instances_lost 0 -Performance_schema_hosts_lost 0 -Performance_schema_locker_lost 0 -Performance_schema_mutex_classes_lost 0 -Performance_schema_mutex_instances_lost 0 -Performance_schema_rwlock_classes_lost 0 -Performance_schema_rwlock_instances_lost 0 -Performance_schema_session_connect_attrs_lost 0 -Performance_schema_socket_classes_lost 0 -Performance_schema_socket_instances_lost 0 -Performance_schema_stage_classes_lost 0 -Performance_schema_statement_classes_lost 0 -Performance_schema_table_handles_lost 0 -Performance_schema_table_instances_lost 0 -Performance_schema_thread_classes_lost 0 -Performance_schema_thread_instances_lost 0 -Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/sizing_low.result b/mysql-test/suite/perfschema/r/sizing_low.result deleted file mode 100644 index a698f55aa07..00000000000 --- a/mysql-test/suite/perfschema/r/sizing_low.result +++ /dev/null @@ -1,70 +0,0 @@ -show variables like "table_definition_cache"; -Variable_name Value -table_definition_cache 400 -show variables like "table_open_cache"; -Variable_name Value -table_open_cache 100 -show variables like "max_connections"; -Variable_name Value -max_connections 50 -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; -Variable_name Value -performance_schema ON -performance_schema_accounts_size 10 -performance_schema_digests_size 1000 -performance_schema_events_stages_history_long_size 100 -performance_schema_events_stages_history_size 5 -performance_schema_events_statements_history_long_size 100 -performance_schema_events_statements_history_size 5 -performance_schema_events_waits_history_long_size 100 -performance_schema_events_waits_history_size 5 -performance_schema_hosts_size 20 -performance_schema_max_cond_classes 80 -performance_schema_max_cond_instances 612 -performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 -performance_schema_max_file_handles 32768 -performance_schema_max_file_instances 1556 -performance_schema_max_mutex_classes 200 -performance_schema_max_mutex_instances 2945 -performance_schema_max_rwlock_classes 40 -performance_schema_max_rwlock_instances 1612 -performance_schema_max_socket_classes 10 -performance_schema_max_socket_instances 67 -performance_schema_max_stage_classes 150 -performance_schema_max_table_handles 112 -performance_schema_max_table_instances 445 -performance_schema_max_thread_classes 50 -performance_schema_max_thread_instances 112 -performance_schema_session_connect_attrs_size 512 -performance_schema_setup_actors_size 100 -performance_schema_setup_objects_size 100 -performance_schema_users_size 5 -show status like "%performance_schema%"; -Variable_name Value -Performance_schema_accounts_lost 0 -Performance_schema_cond_classes_lost 0 -Performance_schema_cond_instances_lost 0 -Performance_schema_digest_lost 0 -Performance_schema_file_classes_lost 0 -Performance_schema_file_handles_lost 0 -Performance_schema_file_instances_lost 0 -Performance_schema_hosts_lost 0 -Performance_schema_locker_lost 0 -Performance_schema_mutex_classes_lost 0 -Performance_schema_mutex_instances_lost 0 -Performance_schema_rwlock_classes_lost 0 -Performance_schema_rwlock_instances_lost 0 -Performance_schema_session_connect_attrs_lost 0 -Performance_schema_socket_classes_lost 0 -Performance_schema_socket_instances_lost 0 -Performance_schema_stage_classes_lost 0 -Performance_schema_statement_classes_lost 0 -Performance_schema_table_handles_lost 0 -Performance_schema_table_instances_lost 0 -Performance_schema_thread_classes_lost 0 -Performance_schema_thread_instances_lost 0 -Performance_schema_users_lost 0 -CALL mtr.add_suppression("innodb_open_files should not be greater than the open_files_limit."); diff --git a/mysql-test/suite/perfschema/r/sizing_med.result b/mysql-test/suite/perfschema/r/sizing_med.result deleted file mode 100644 index 2eda017467a..00000000000 --- a/mysql-test/suite/perfschema/r/sizing_med.result +++ /dev/null @@ -1,69 +0,0 @@ -show variables like "table_definition_cache"; -Variable_name Value -table_definition_cache 401 -show variables like "table_open_cache"; -Variable_name Value -table_open_cache 401 -show variables like "max_connections"; -Variable_name Value -max_connections 152 -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; -Variable_name Value -performance_schema ON -performance_schema_accounts_size 100 -performance_schema_digests_size 5000 -performance_schema_events_stages_history_long_size 1000 -performance_schema_events_stages_history_size 10 -performance_schema_events_statements_history_long_size 1000 -performance_schema_events_statements_history_size 10 -performance_schema_events_waits_history_long_size 1000 -performance_schema_events_waits_history_size 10 -performance_schema_hosts_size 100 -performance_schema_max_cond_classes 80 -performance_schema_max_cond_instances 1079 -performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 -performance_schema_max_file_handles 32768 -performance_schema_max_file_instances 1754 -performance_schema_max_mutex_classes 200 -performance_schema_max_mutex_instances 4230 -performance_schema_max_rwlock_classes 40 -performance_schema_max_rwlock_instances 2222 -performance_schema_max_socket_classes 10 -performance_schema_max_socket_instances 232 -performance_schema_max_stage_classes 150 -performance_schema_max_table_handles 573 -performance_schema_max_table_instances 556 -performance_schema_max_thread_classes 50 -performance_schema_max_thread_instances 289 -performance_schema_session_connect_attrs_size 512 -performance_schema_setup_actors_size 100 -performance_schema_setup_objects_size 100 -performance_schema_users_size 100 -show status like "%performance_schema%"; -Variable_name Value -Performance_schema_accounts_lost 0 -Performance_schema_cond_classes_lost 0 -Performance_schema_cond_instances_lost 0 -Performance_schema_digest_lost 0 -Performance_schema_file_classes_lost 0 -Performance_schema_file_handles_lost 0 -Performance_schema_file_instances_lost 0 -Performance_schema_hosts_lost 0 -Performance_schema_locker_lost 0 -Performance_schema_mutex_classes_lost 0 -Performance_schema_mutex_instances_lost 0 -Performance_schema_rwlock_classes_lost 0 -Performance_schema_rwlock_instances_lost 0 -Performance_schema_session_connect_attrs_lost 0 -Performance_schema_socket_classes_lost 0 -Performance_schema_socket_instances_lost 0 -Performance_schema_stage_classes_lost 0 -Performance_schema_statement_classes_lost 0 -Performance_schema_table_handles_lost 0 -Performance_schema_table_instances_lost 0 -Performance_schema_thread_classes_lost 0 -Performance_schema_thread_instances_lost 0 -Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/sizing_off.result b/mysql-test/suite/perfschema/r/sizing_off.result deleted file mode 100644 index b4ca7b1b9be..00000000000 --- a/mysql-test/suite/perfschema/r/sizing_off.result +++ /dev/null @@ -1,60 +0,0 @@ -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; -Variable_name Value -performance_schema OFF -performance_schema_accounts_size -1 -performance_schema_digests_size -1 -performance_schema_events_stages_history_long_size -1 -performance_schema_events_stages_history_size -1 -performance_schema_events_statements_history_long_size -1 -performance_schema_events_statements_history_size -1 -performance_schema_events_waits_history_long_size -1 -performance_schema_events_waits_history_size -1 -performance_schema_hosts_size -1 -performance_schema_max_cond_classes 80 -performance_schema_max_cond_instances -1 -performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 -performance_schema_max_file_handles 32768 -performance_schema_max_file_instances -1 -performance_schema_max_mutex_classes 200 -performance_schema_max_mutex_instances -1 -performance_schema_max_rwlock_classes 40 -performance_schema_max_rwlock_instances -1 -performance_schema_max_socket_classes 10 -performance_schema_max_socket_instances -1 -performance_schema_max_stage_classes 150 -performance_schema_max_table_handles -1 -performance_schema_max_table_instances -1 -performance_schema_max_thread_classes 50 -performance_schema_max_thread_instances -1 -performance_schema_session_connect_attrs_size -1 -performance_schema_setup_actors_size 100 -performance_schema_setup_objects_size 100 -performance_schema_users_size -1 -show status like "performance_schema%"; -Variable_name Value -Performance_schema_accounts_lost 0 -Performance_schema_cond_classes_lost 0 -Performance_schema_cond_instances_lost 0 -Performance_schema_digest_lost 0 -Performance_schema_file_classes_lost 0 -Performance_schema_file_handles_lost 0 -Performance_schema_file_instances_lost 0 -Performance_schema_hosts_lost 0 -Performance_schema_locker_lost 0 -Performance_schema_mutex_classes_lost 0 -Performance_schema_mutex_instances_lost 0 -Performance_schema_rwlock_classes_lost 0 -Performance_schema_rwlock_instances_lost 0 -Performance_schema_session_connect_attrs_lost 0 -Performance_schema_socket_classes_lost 0 -Performance_schema_socket_instances_lost 0 -Performance_schema_stage_classes_lost 0 -Performance_schema_statement_classes_lost 0 -Performance_schema_table_handles_lost 0 -Performance_schema_table_instances_lost 0 -Performance_schema_thread_classes_lost 0 -Performance_schema_thread_instances_lost 0 -Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result b/mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result index a273bbde92c..af8eea0a795 100644 --- a/mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result +++ b/mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result @@ -33,12 +33,30 @@ ERROR 28000: Access denied for user 'boot0123456789'@'localhost' (using password # 2.5 Connect should pass, host = localhost # length of user name = 10 character # length of default db = 9 character +SET @orig_sql_mode= @@sql_mode; +SET sql_mode= (SELECT replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. GRANT ALL PRIVILEGES ON *.* TO 'root012345'@'localhost'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +SET sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. DROP USER 'root012345'@'localhost'; # 2.6 Connect should pass, host = localhost # length of user name = 14 character # length of default db = 9 character +SET @orig_sql_mode= @@sql_mode; +SET sql_mode= (SELECT replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. GRANT ALL PRIVILEGES ON *.* to 'root0123456789'@'localhost'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +SET sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. DROP USER 'root0123456789'@'localhost'; # 2.7 Connect should pass, host = my_localhost # length of user name = 4 character @@ -193,7 +211,9 @@ col2 # server_unix_socket are already checked # - the stability of results is already checked # So we con go with the results of the first run. -# 4.6.1 The SUM_OF_BYTES_WRITE value is the same for all Connects. +# 4.6.1 The SUM_OF_BYTES_WRITE value depends on length of database +# since the database name is written in OK packet. +# Hence the value 2. # 4.6.2 The SUM_OF_BYTES_WRITE value hast to be > 100. # 4.6.3 COUNT_READ, COUNT_WRITE and COUNT_MISC have to be to be > 0 # 4.6.4 Checks based on comparison of results for connects diff --git a/mysql-test/suite/perfschema/r/socket_summary_by_instance_func_win.result b/mysql-test/suite/perfschema/r/socket_summary_by_instance_func_win.result index 2bdc2524bbc..16e6214bc53 100644 --- a/mysql-test/suite/perfschema/r/socket_summary_by_instance_func_win.result +++ b/mysql-test/suite/perfschema/r/socket_summary_by_instance_func_win.result @@ -33,12 +33,30 @@ ERROR 28000: Access denied for user 'boot0123456789'@'localhost' (using password # 2.5 Connect should pass, host = localhost # length of user name = 10 character # length of default db = 9 character +SET @orig_sql_mode= @@sql_mode; +SET sql_mode= (SELECT replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. GRANT ALL PRIVILEGES ON *.* TO 'root012345'@'localhost'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +SET sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. DROP USER 'root012345'@'localhost'; # 2.6 Connect should pass, host = localhost # length of user name = 14 character # length of default db = 9 character +SET @orig_sql_mode= @@sql_mode; +SET sql_mode= (SELECT replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. GRANT ALL PRIVILEGES ON *.* to 'root0123456789'@'localhost'; +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +SET sql_mode= @orig_sql_mode; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. DROP USER 'root0123456789'@'localhost'; # 2.7 Connect should pass, host = my_localhost # length of user name = 4 character @@ -196,7 +214,9 @@ col2 # server_unix_socket are already checked # - the stability of results is already checked # So we con go with the results of the first run. -# 4.6.1 The SUM_OF_BYTES_WRITE value is the same for all Connects. +# 4.6.1 The SUM_OF_BYTES_WRITE value depends on length of database +# since the database name is written in OK packet. +# Hence the value 2. # 4.6.2 The SUM_OF_BYTES_WRITE value hast to be > 100. # 4.6.3 COUNT_READ, COUNT_WRITE and COUNT_MISC have to be to be > 0 # 4.6.4 Checks based on comparison of results for connects diff --git a/mysql-test/suite/perfschema/r/stage_mdl_function.result b/mysql-test/suite/perfschema/r/stage_mdl_function.result index 456afd3f4c1..2c2a0397ba4 100644 --- a/mysql-test/suite/perfschema/r/stage_mdl_function.result +++ b/mysql-test/suite/perfschema/r/stage_mdl_function.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. drop function if exists test.f1; create function test.f1() returns int return 1; @@ -14,20 +26,13 @@ username event_name nesting_event_type user1 stage/sql/init STATEMENT user1 stage/sql/System lock STATEMENT user1 stage/sql/optimizing STATEMENT -user1 stage/sql/executing STATEMENT -user1 stage/sql/Opening tables STATEMENT -user1 stage/sql/end STATEMENT -user1 stage/sql/query end STATEMENT -user1 stage/sql/closing tables STATEMENT -user1 stage/sql/freeing items STATEMENT -user1 stage/sql/cleaning up STATEMENT call dump_one_thread('user2'); username event_name sql_text user2 statement/sql/drop_function drop function test.f1 username event_name nesting_event_type user2 stage/sql/Waiting for stored function metadata lock STATEMENT username event_name nesting_event_type -user2 stage/sql/init STATEMENT +user2 stage/sql/starting STATEMENT select f1(); f1() 1 diff --git a/mysql-test/suite/perfschema/r/stage_mdl_global.result b/mysql-test/suite/perfschema/r/stage_mdl_global.result index de5df8f189a..2ccae46d736 100644 --- a/mysql-test/suite/perfschema/r/stage_mdl_global.result +++ b/mysql-test/suite/perfschema/r/stage_mdl_global.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. flush tables with read lock; insert into test.t1 values (1), (2), (3); call dump_one_thread('user1'); @@ -5,9 +17,9 @@ username event_name sql_text user1 statement/sql/flush flush tables with read lock username event_name nesting_event_type username event_name nesting_event_type -user1 stage/sql/init STATEMENT +user1 stage/sql/starting STATEMENT user1 stage/sql/Waiting for query cache lock STATEMENT -user1 stage/sql/init STATEMENT +user1 stage/sql/starting STATEMENT user1 stage/sql/query end STATEMENT user1 stage/sql/closing tables STATEMENT user1 stage/sql/freeing items STATEMENT @@ -18,7 +30,7 @@ user2 statement/sql/insert insert into test.t1 values (1), (2), (3) username event_name nesting_event_type user2 stage/sql/Waiting for global read lock STATEMENT username event_name nesting_event_type -user2 stage/sql/init STATEMENT +user2 stage/sql/starting STATEMENT user2 stage/sql/checking permissions STATEMENT user2 stage/sql/Opening tables STATEMENT unlock tables; diff --git a/mysql-test/suite/perfschema/r/stage_mdl_procedure.result b/mysql-test/suite/perfschema/r/stage_mdl_procedure.result index b214a8ec290..05e0e716513 100644 --- a/mysql-test/suite/perfschema/r/stage_mdl_procedure.result +++ b/mysql-test/suite/perfschema/r/stage_mdl_procedure.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. drop function if exists test.f1; drop procedure if exists test.p1; create function test.f1() returns int @@ -18,23 +30,13 @@ username event_name sql_text user1 statement/sql/select select test.f1() username event_name nesting_event_type username event_name nesting_event_type -user1 stage/sql/executing STATEMENT -user1 stage/sql/Opening tables STATEMENT -user1 stage/sql/query end STATEMENT -user1 stage/sql/closing tables STATEMENT -user1 stage/sql/Opening tables STATEMENT -user1 stage/sql/end STATEMENT -user1 stage/sql/query end STATEMENT -user1 stage/sql/closing tables STATEMENT -user1 stage/sql/freeing items STATEMENT -user1 stage/sql/cleaning up STATEMENT call dump_one_thread('user2'); username event_name sql_text user2 statement/sql/drop_procedure drop procedure test.p1 username event_name nesting_event_type user2 stage/sql/Waiting for stored procedure metadata lock STATEMENT username event_name nesting_event_type -user2 stage/sql/init STATEMENT +user2 stage/sql/starting STATEMENT select test.f1(); test.f1() 1 diff --git a/mysql-test/suite/perfschema/r/stage_mdl_table.result b/mysql-test/suite/perfschema/r/stage_mdl_table.result index 20bb91159da..41f65dd70d0 100644 --- a/mysql-test/suite/perfschema/r/stage_mdl_table.result +++ b/mysql-test/suite/perfschema/r/stage_mdl_table.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. begin; insert into test.t1 values (1), (2), (3); commit; @@ -29,7 +41,7 @@ user2 statement/sql/alter_table alter table test.t1 add column (b int) username event_name nesting_event_type user2 stage/sql/Waiting for table metadata lock STATEMENT username event_name nesting_event_type -user2 stage/sql/init STATEMENT +user2 stage/sql/starting STATEMENT user2 stage/sql/checking permissions STATEMENT user2 stage/sql/checking permissions STATEMENT user2 stage/sql/init STATEMENT diff --git a/mysql-test/suite/perfschema/r/start_server_disable_idle.result b/mysql-test/suite/perfschema/r/start_server_disable_idle.result index 382824458a0..291b2df5b6c 100644 --- a/mysql-test/suite/perfschema/r/start_server_disable_idle.result +++ b/mysql-test/suite/perfschema/r/start_server_disable_idle.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,7 +150,7 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; +show global status like "performance_schema%"; select * from performance_schema.setup_instruments where name like "idle" and enabled='YES'; NAME ENABLED TIMED diff --git a/mysql-test/suite/perfschema/r/start_server_disable_stages.result b/mysql-test/suite/perfschema/r/start_server_disable_stages.result index 6fae8be810f..fc993466da0 100644 --- a/mysql-test/suite/perfschema/r/start_server_disable_stages.result +++ b/mysql-test/suite/perfschema/r/start_server_disable_stages.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,7 +150,7 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; +show global status like "performance_schema%"; select * from performance_schema.setup_instruments where name like "stage/%" and enabled='YES'; NAME ENABLED TIMED diff --git a/mysql-test/suite/perfschema/r/start_server_disable_statements.result b/mysql-test/suite/perfschema/r/start_server_disable_statements.result index ff9c6f93268..5690b953a7c 100644 --- a/mysql-test/suite/perfschema/r/start_server_disable_statements.result +++ b/mysql-test/suite/perfschema/r/start_server_disable_statements.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,7 +150,7 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; +show global status like "performance_schema%"; select * from performance_schema.setup_instruments where name like "statement/%" and enabled='YES'; NAME ENABLED TIMED diff --git a/mysql-test/suite/perfschema/r/start_server_disable_transactions.result b/mysql-test/suite/perfschema/r/start_server_disable_transactions.result new file mode 100644 index 00000000000..6040b395754 --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_disable_transactions.result @@ -0,0 +1,171 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +select * from performance_schema.setup_instruments +where name in ('transaction') and enabled='YES'; +NAME ENABLED TIMED +select * from performance_schema.events_transactions_summary_global_by_event_name +where count_star > 0; +EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ_WRITE SUM_TIMER_READ_WRITE MIN_TIMER_READ_WRITE AVG_TIMER_READ_WRITE MAX_TIMER_READ_WRITE COUNT_READ_ONLY SUM_TIMER_READ_ONLY MIN_TIMER_READ_ONLY AVG_TIMER_READ_ONLY MAX_TIMER_READ_ONLY +select * from performance_schema.events_transactions_summary_by_thread_by_event_name +where count_star > 0; +THREAD_ID EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ_WRITE SUM_TIMER_READ_WRITE MIN_TIMER_READ_WRITE AVG_TIMER_READ_WRITE MAX_TIMER_READ_WRITE COUNT_READ_ONLY SUM_TIMER_READ_ONLY MIN_TIMER_READ_ONLY AVG_TIMER_READ_ONLY MAX_TIMER_READ_ONLY +select * from performance_schema.events_transactions_summary_by_user_by_event_name +where count_star > 0; +USER EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ_WRITE SUM_TIMER_READ_WRITE MIN_TIMER_READ_WRITE AVG_TIMER_READ_WRITE MAX_TIMER_READ_WRITE COUNT_READ_ONLY SUM_TIMER_READ_ONLY MIN_TIMER_READ_ONLY AVG_TIMER_READ_ONLY MAX_TIMER_READ_ONLY +select * from performance_schema.events_transactions_summary_by_host_by_event_name +where count_star > 0; +HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ_WRITE SUM_TIMER_READ_WRITE MIN_TIMER_READ_WRITE AVG_TIMER_READ_WRITE MAX_TIMER_READ_WRITE COUNT_READ_ONLY SUM_TIMER_READ_ONLY MIN_TIMER_READ_ONLY AVG_TIMER_READ_ONLY MAX_TIMER_READ_ONLY +select * from performance_schema.events_transactions_summary_by_account_by_event_name +where count_star > 0; +USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ_WRITE SUM_TIMER_READ_WRITE MIN_TIMER_READ_WRITE AVG_TIMER_READ_WRITE MAX_TIMER_READ_WRITE COUNT_READ_ONLY SUM_TIMER_READ_ONLY MIN_TIMER_READ_ONLY AVG_TIMER_READ_ONLY MAX_TIMER_READ_ONLY diff --git a/mysql-test/suite/perfschema/r/start_server_disable_waits.result b/mysql-test/suite/perfschema/r/start_server_disable_waits.result index 38e1f59cd39..de140166752 100644 --- a/mysql-test/suite/perfschema/r/start_server_disable_waits.result +++ b/mysql-test/suite/perfschema/r/start_server_disable_waits.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,7 +150,7 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; +show global status like "performance_schema%"; select * from performance_schema.setup_instruments where name like "wait/%" and enabled='YES'; NAME ENABLED TIMED diff --git a/mysql-test/suite/perfschema/r/start_server_innodb.result b/mysql-test/suite/perfschema/r/start_server_innodb.result index a270b4a6320..81e3742e29c 100644 --- a/mysql-test/suite/perfschema/r/start_server_innodb.result +++ b/mysql-test/suite/perfschema/r/start_server_innodb.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show status like "performance_schema%"; +show global status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -116,9 +161,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -128,6 +179,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/start_server_low_digest.result b/mysql-test/suite/perfschema/r/start_server_low_digest.result index d7eccb16445..3dff3c092eb 100644 --- a/mysql-test/suite/perfschema/r/start_server_low_digest.result +++ b/mysql-test/suite/perfschema/r/start_server_low_digest.result @@ -8,5 +8,5 @@ SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 #################################### SELECT event_name, digest, digest_text, sql_text FROM events_statements_history_long; event_name digest digest_text sql_text -statement/sql/truncate 23e0e19c4baa66c6be30e70f75e52178 TRUNCATE TABLE truncate table events_statements_history_long -statement/sql/select 6695eca04b8387c092d89fa88d767328 SELECT ? + ? + SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 +statement/sql/truncate de142fd9a2507cb67f197230081a2682 TRUNCATE TABLE truncate table events_statements_history_long +statement/sql/select 9c2f57893fb6bcec2ace71ddb389b46f SELECT ? + ? + SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 diff --git a/mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result b/mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result new file mode 100644 index 00000000000..69ec6c9cf35 --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result @@ -0,0 +1,12 @@ +USE performance_schema; +truncate table events_statements_history_long; +SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; +1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 +74 +#################################### +# QUERYING PS STATEMENT DIGEST +#################################### +SELECT event_name, digest, digest_text, sql_text FROM events_statements_history_long; +event_name digest digest_text sql_text +statement/sql/truncate de142fd9a2507cb67f197230081a2682 TRUNCATE TABLE truncat... +statement/sql/select 9c2f57893fb6bcec2ace71ddb389b46f SELECT ? + ? + SELECT ... diff --git a/mysql-test/suite/perfschema/r/start_server_low_index.result b/mysql-test/suite/perfschema/r/start_server_low_index.result new file mode 100644 index 00000000000..f583d13221b --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_low_index.result @@ -0,0 +1,284 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 38 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +drop table if exists db1.t1; +drop database if exists db1; +create database db1; +create table db1.t1 (a int, b char(10) default 'default', +unique key uidx(a)); +insert into db1.t1 values('1', 'abc'); +insert into db1.t1 values('2', 'abc'); +select * from db1.t1 where a='1'; +a b +1 abc +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +3 TABLE db1 t1 +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME +from performance_schema.table_io_waits_summary_by_index_usage +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME INDEX_NAME +2 TABLE db1 t1 NULL +1 TABLE db1 t1 uidx +flush tables; +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +1 TABLE db1 t1 +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME +from performance_schema.table_io_waits_summary_by_index_usage +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME INDEX_NAME +1 TABLE db1 t1 uidx +select variable_value > 0 from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; +variable_value > 0 +1 +FLUSH STATUS; +select variable_value from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; +variable_value +0 +create table db1.t2 (a int, b char(10) default 'default', +unique key uidx(a)); +insert into db1.t1 values('3', 'abc'); +insert into db1.t1 values('4', 'abc'); +select * from db1.t1 where a='1'; +a b +1 abc +insert into db1.t2 values('1', 'abc'); +insert into db1.t2 values('2', 'abc'); +select * from db1.t2 where a='1'; +a b +1 abc +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +4 TABLE db1 t1 +3 TABLE db1 t2 +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME +from performance_schema.table_io_waits_summary_by_index_usage +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME INDEX_NAME +2 TABLE db1 t1 NULL +2 TABLE db1 t1 uidx +2 TABLE db1 t2 NULL +1 TABLE db1 t2 (index 0) +flush tables; +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +2 TABLE db1 t1 +0 TABLE db1 t2 +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME +from performance_schema.table_io_waits_summary_by_index_usage +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME INDEX_NAME +2 TABLE db1 t1 uidx +select variable_value > 0 from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; +variable_value > 0 +1 +FLUSH STATUS; +update performance_schema.setup_objects set ENABLED='NO' where OBJECT_TYPE='TABLE'; +insert into db1.t1 values('5', 'abc'); +insert into db1.t1 values('6', 'abc'); +select * from db1.t1 where a='1'; +a b +1 abc +insert into db1.t2 values('3', 'abc'); +insert into db1.t2 values('4', 'abc'); +select * from db1.t2 where a='1'; +a b +1 abc +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME +from performance_schema.table_io_waits_summary_by_index_usage +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME INDEX_NAME +flush tables; +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME +from performance_schema.table_io_waits_summary_by_index_usage +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME INDEX_NAME +select variable_value from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; +variable_value +0 +drop database db1; +update performance_schema.setup_objects set ENABLED='YES' + where OBJECT_TYPE='TABLE' and OBJECT_SCHEMA="%"; diff --git a/mysql-test/suite/perfschema/r/start_server_low_table_lock.result b/mysql-test/suite/perfschema/r/start_server_low_table_lock.result new file mode 100644 index 00000000000..a20d79330d8 --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_low_table_lock.result @@ -0,0 +1,241 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 1 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +drop table if exists db1.t1; +drop database if exists db1; +create database db1; +create table db1.t1 (a int, b char(10) default 'default'); +insert into db1.t1 values('1', 'abc'); +insert into db1.t1 values('2', 'abc'); +select * from db1.t1 where a='1'; +a b +1 abc +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +3 TABLE db1 t1 +flush tables; +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +3 TABLE db1 t1 +select variable_value from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_TABLE_LOCK_STAT_LOST'; +variable_value +0 +create table db1.t2 (a int, b char(10) default 'default', +unique key uidx(a)); +insert into db1.t1 values('3', 'abc'); +insert into db1.t1 values('4', 'abc'); +select * from db1.t1 where a='1'; +a b +1 abc +insert into db1.t2 values('1', 'abc'); +insert into db1.t2 values('2', 'abc'); +select * from db1.t2 where a='1'; +a b +1 abc +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +6 TABLE db1 t1 +3 TABLE db1 t2 +flush tables; +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +6 TABLE db1 t1 +0 TABLE db1 t2 +select variable_value > 0 from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_TABLE_LOCK_STAT_LOST'; +variable_value > 0 +1 +flush status; +update performance_schema.setup_objects set ENABLED='NO' + where OBJECT_TYPE='TABLE' and OBJECT_SCHEMA="%"; +insert into db1.t1 values('5', 'abc'); +insert into db1.t1 values('6', 'abc'); +select * from db1.t1 where a='1'; +a b +1 abc +insert into db1.t2 values('3', 'abc'); +insert into db1.t2 values('4', 'abc'); +select * from db1.t2 where a='1'; +a b +1 abc +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +flush tables; +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME +from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +COUNT_STAR OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME +select variable_value from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_TABLE_LOCK_STAT_LOST'; +variable_value +0 +drop database db1; +update performance_schema.setup_objects set ENABLED='YES' + where OBJECT_TYPE='TABLE' and OBJECT_SCHEMA="%"; diff --git a/mysql-test/suite/perfschema/r/start_server_no_account.result b/mysql-test/suite/perfschema/r/start_server_no_account.result index 05d67d88a8b..733804c80a7 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_account.result +++ b/mysql-test/suite/perfschema/r/start_server_no_account.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 0 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_accounts_size"; +show global status like "performance_schema%"; +show global variables like "performance_schema_accounts_size"; Variable_name Value performance_schema_accounts_size 0 select count(*) from performance_schema.accounts; diff --git a/mysql-test/suite/perfschema/r/start_server_no_cond_class.result b/mysql-test/suite/perfschema/r/start_server_no_cond_class.result index 574c8d4173b..2d66ef5c8d3 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_cond_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_cond_class.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 0 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_cond_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_cond_classes"; Variable_name Value performance_schema_max_cond_classes 0 select count(*) from performance_schema.setup_instruments @@ -120,6 +165,6 @@ variable_value > 0 select count(*) from performance_schema.cond_instances; count(*) 0 -show status like "performance_schema_cond_instances_lost"; +show global status like "performance_schema_cond_instances_lost"; Variable_name Value Performance_schema_cond_instances_lost 0 diff --git a/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result b/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result index ea5c7a69125..10df353cb40 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 0 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,18 +150,18 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_cond_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_cond_classes"; Variable_name Value performance_schema_max_cond_classes 80 select count(*) > 0 from performance_schema.setup_instruments where name like "wait/synch/cond/%"; count(*) > 0 1 -show status like "performance_schema_cond_classes_lost"; +show global status like "performance_schema_cond_classes_lost"; Variable_name Value Performance_schema_cond_classes_lost 0 -show variables like "performance_schema_max_cond_instances"; +show global variables like "performance_schema_max_cond_instances"; Variable_name Value performance_schema_max_cond_instances 0 select count(*) from performance_schema.cond_instances; diff --git a/mysql-test/suite/perfschema/r/start_server_no_digests.result b/mysql-test/suite/perfschema/r/start_server_no_digests.result index 4f6fa9bc5da..c7de8e90403 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_digests.result +++ b/mysql-test/suite/perfschema/r/start_server_no_digests.result @@ -79,7 +79,7 @@ CREATE TABLE dup_table (c char(4)); CREATE TABLE dup_table (c char(4)); ERROR 42S01: Table 'dup_table' already exists DROP TABLE dup_table; -INSERT INTO t11 VALUES("MySQL"); +INSERT IGNORE INTO t11 VALUES("MySQL"); Warnings: Warning 1265 Data truncated for column 'c' at row 1 PREPARE stmt FROM "SELECT * FROM t12"; @@ -112,7 +112,7 @@ DROP TRIGGER trg; SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS, SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest; SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS -SHOW VARIABLES LIKE "performance_schema_digests_size"; +SHOW GLOBAL VARIABLES LIKE "performance_schema_digests_size"; Variable_name Value performance_schema_digests_size 0 SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest; diff --git a/mysql-test/suite/perfschema/r/start_server_no_file_class.result b/mysql-test/suite/perfschema/r/start_server_no_file_class.result index 0f93054bfd4..314a3a06b5f 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_file_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_file_class.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,6 +114,8 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 @@ -89,15 +125,24 @@ performance_schema_max_digest_length 1024 performance_schema_max_file_classes 0 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_file_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_file_classes"; Variable_name Value performance_schema_max_file_classes 0 select count(*) from performance_schema.setup_instruments @@ -120,6 +165,6 @@ variable_value > 0 select count(*) from performance_schema.file_instances; count(*) 0 -show status like "performance_schema_file_instances_lost"; +show global status like "performance_schema_file_instances_lost"; Variable_name Value Performance_schema_file_instances_lost 0 diff --git a/mysql-test/suite/perfschema/r/start_server_no_file_inst.result b/mysql-test/suite/perfschema/r/start_server_no_file_inst.result index 71004d68f5e..951963b75c4 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_file_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_file_inst.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 0 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,18 +150,18 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_file_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_file_classes"; Variable_name Value -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 select count(*) > 0 from performance_schema.setup_instruments where name like "wait/io/file/%"; count(*) > 0 1 -show status like "performance_schema_file_classes_lost"; +show global status like "performance_schema_file_classes_lost"; Variable_name Value Performance_schema_file_classes_lost 0 -show variables like "performance_schema_max_file_instances"; +show global variables like "performance_schema_max_file_instances"; Variable_name Value performance_schema_max_file_instances 0 select count(*) from performance_schema.file_instances; diff --git a/mysql-test/suite/perfschema/r/start_server_no_host.result b/mysql-test/suite/perfschema/r/start_server_no_host.result index 329f74a4fff..7417569e0c9 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_host.result +++ b/mysql-test/suite/perfschema/r/start_server_no_host.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 0 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_hosts_size"; +show global status like "performance_schema%"; +show global variables like "performance_schema_hosts_size"; Variable_name Value performance_schema_hosts_size 0 select count(*) from performance_schema.hosts; diff --git a/mysql-test/suite/perfschema/r/start_server_no_index.result b/mysql-test/suite/perfschema/r/start_server_no_index.result new file mode 100644 index 00000000000..394ab639ff6 --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_no_index.result @@ -0,0 +1,189 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 0 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +drop table if exists db1.t1; +drop database if exists db1; +create database db1; +create table db1.t1 (a int, b char(10) default 'default', +unique key uidx(a)); +insert into db1.t1 values('1', 'abc'); +insert into db1.t1 values('2', 'abc'); +select * from db1.t1 where a='1'; +a b +1 abc +select COUNT_STAR from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1'; +COUNT_STAR +3 +select COUNT_STAR from performance_schema.table_io_waits_summary_by_index_usage +where INDEX_NAME!='NULL'; +COUNT_STAR +1 +FLUSH TABLES; +select COUNT_STAR from performance_schema.table_io_waits_summary_by_table +where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1'; +COUNT_STAR +0 +select COUNT_STAR from performance_schema.table_io_waits_summary_by_index_usage +where INDEX_NAME!='NULL'; +COUNT_STAR +select variable_value > 0 from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; +variable_value > 0 +1 +FLUSH STATUS; +select variable_value from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; +variable_value +0 +drop database db1; diff --git a/mysql-test/suite/perfschema/r/start_server_no_mdl.result b/mysql-test/suite/perfschema/r/start_server_no_mdl.result new file mode 100644 index 00000000000..7ad5c986ff4 --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_no_mdl.result @@ -0,0 +1,165 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 0 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +select count(*) from performance_schema.metadata_locks; +count(*) +0 +select variable_value > 0 from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_METADATA_LOCK_LOST'; +variable_value > 0 +1 +FLUSH STATUS; +select variable_value from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_METADATA_LOCK_LOST'; +variable_value +0 diff --git a/mysql-test/suite/perfschema/r/start_server_no_memory_class.result b/mysql-test/suite/perfschema/r/start_server_no_memory_class.result new file mode 100644 index 00000000000..54e050e118f --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_no_memory_class.result @@ -0,0 +1,239 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 0 +performance_schema_max_metadata_locks 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_memory_classes"; +Variable_name Value +performance_schema_max_memory_classes 0 +select name from performance_schema.setup_instruments +where name like "memory/performance_schema/%" + order by name; +name +memory/performance_schema/accounts +memory/performance_schema/cond_class +memory/performance_schema/cond_instances +memory/performance_schema/events_stages_history +memory/performance_schema/events_stages_history_long +memory/performance_schema/events_stages_summary_by_account_by_event_name +memory/performance_schema/events_stages_summary_by_host_by_event_name +memory/performance_schema/events_stages_summary_by_thread_by_event_name +memory/performance_schema/events_stages_summary_by_user_by_event_name +memory/performance_schema/events_stages_summary_global_by_event_name +memory/performance_schema/events_statements_current +memory/performance_schema/events_statements_current.sqltext +memory/performance_schema/events_statements_current.tokens +memory/performance_schema/events_statements_history +memory/performance_schema/events_statements_history.sqltext +memory/performance_schema/events_statements_history.tokens +memory/performance_schema/events_statements_history_long +memory/performance_schema/events_statements_history_long.sqltext +memory/performance_schema/events_statements_history_long.tokens +memory/performance_schema/events_statements_summary_by_account_by_event_name +memory/performance_schema/events_statements_summary_by_digest +memory/performance_schema/events_statements_summary_by_digest.tokens +memory/performance_schema/events_statements_summary_by_host_by_event_name +memory/performance_schema/events_statements_summary_by_program +memory/performance_schema/events_statements_summary_by_thread_by_event_name +memory/performance_schema/events_statements_summary_by_user_by_event_name +memory/performance_schema/events_statements_summary_global_by_event_name +memory/performance_schema/events_transactions_history +memory/performance_schema/events_transactions_history_long +memory/performance_schema/events_transactions_summary_by_account_by_event_name +memory/performance_schema/events_transactions_summary_by_host_by_event_name +memory/performance_schema/events_transactions_summary_by_thread_by_event_name +memory/performance_schema/events_transactions_summary_by_user_by_event_name +memory/performance_schema/events_waits_history +memory/performance_schema/events_waits_history_long +memory/performance_schema/events_waits_summary_by_account_by_event_name +memory/performance_schema/events_waits_summary_by_host_by_event_name +memory/performance_schema/events_waits_summary_by_thread_by_event_name +memory/performance_schema/events_waits_summary_by_user_by_event_name +memory/performance_schema/file_class +memory/performance_schema/file_handle +memory/performance_schema/file_instances +memory/performance_schema/hosts +memory/performance_schema/memory_class +memory/performance_schema/memory_summary_by_account_by_event_name +memory/performance_schema/memory_summary_by_host_by_event_name +memory/performance_schema/memory_summary_by_thread_by_event_name +memory/performance_schema/memory_summary_by_user_by_event_name +memory/performance_schema/memory_summary_global_by_event_name +memory/performance_schema/metadata_locks +memory/performance_schema/mutex_class +memory/performance_schema/mutex_instances +memory/performance_schema/prepared_statements_instances +memory/performance_schema/rwlock_class +memory/performance_schema/rwlock_instances +memory/performance_schema/scalable_buffer +memory/performance_schema/session_connect_attrs +memory/performance_schema/setup_actors +memory/performance_schema/setup_objects +memory/performance_schema/socket_class +memory/performance_schema/socket_instances +memory/performance_schema/stage_class +memory/performance_schema/statement_class +memory/performance_schema/table_handles +memory/performance_schema/table_io_waits_summary_by_index_usage +memory/performance_schema/table_lock_waits_summary_by_table +memory/performance_schema/table_shares +memory/performance_schema/threads +memory/performance_schema/thread_class +memory/performance_schema/users +select count(*) from performance_schema.setup_instruments +where name like "memory/%" + and name not like "memory/performance_schema/%"; +count(*) +0 +select variable_value > 0 from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_MEMORY_CLASSES_LOST'; +variable_value > 0 +1 diff --git a/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result b/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result index cda2719cc37..c0ccb0dbfdc 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_mutex_class.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 0 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_mutex_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_mutex_classes"; Variable_name Value performance_schema_max_mutex_classes 0 select count(*) from performance_schema.setup_instruments @@ -120,6 +165,6 @@ variable_value > 0 select count(*) from performance_schema.mutex_instances; count(*) 0 -show status like "performance_schema_mutex_instances_lost"; +show global status like "performance_schema_mutex_instances_lost"; Variable_name Value Performance_schema_mutex_instances_lost 0 diff --git a/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result b/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result index 0ea5fe44521..17e0da8163c 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 0 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,18 +150,18 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_mutex_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_mutex_classes"; Variable_name Value performance_schema_max_mutex_classes 200 select count(*) > 0 from performance_schema.setup_instruments where name like "wait/synch/mutex/%"; count(*) > 0 1 -show status like "performance_schema_mutex_classes_lost"; +show global status like "performance_schema_mutex_classes_lost"; Variable_name Value Performance_schema_mutex_classes_lost 0 -show variables like "performance_schema_max_mutex_instances"; +show global variables like "performance_schema_max_mutex_instances"; Variable_name Value performance_schema_max_mutex_instances 0 select count(*) from performance_schema.mutex_instances; diff --git a/mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result b/mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result new file mode 100644 index 00000000000..0502645c735 --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result @@ -0,0 +1,216 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 0 +performance_schema_max_program_instances 5000 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +CREATE DATABASE db; +USE db; +show global variables like "performance_schema_max_prepared_statements_instances"; +Variable_name Value +performance_schema_max_prepared_statements_instances 0 +select count(*) from performance_schema.prepared_statements_instances; +count(*) +0 +truncate table performance_schema.prepared_statements_instances; +CREATE TABLE t1 (a INT NOT NULL); +INSERT INTO t1 VALUES (4), (8), (11), (32), (80); +PREPARE st1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse'; +SET @table = 't1'; +SET @s = CONCAT('SELECT * FROM ', @table); +PREPARE st2 FROM @s; +PREPARE st3 FROM 'INSERT INTO t1 SELECT * FROM t1 WHERE a<=?'; +PREPARE st4 FROM +'(SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a'; +show global status like "%performance_schema_prepared_statements_lost%"; +Variable_name Value +Performance_schema_prepared_statements_lost 4 +SET @a = 3; +SET @b = 4; +EXECUTE st1 USING @a, @b; +hypotenuse +5 +EXECUTE st2; +a +4 +8 +11 +32 +80 +SET @c=3; +EXECUTE st3 using @c; +EXECUTE st4; +a +4 +8 +11 +14 +18 +21 +32 +42 +80 +90 +show global status like "%performance_schema_prepared_statements_lost%"; +Variable_name Value +Performance_schema_prepared_statements_lost 4 +DEALLOCATE PREPARE st1; +DEALLOCATE PREPARE st2; +DEALLOCATE PREPARE st3; +DEALLOCATE PREPARE st4; +DROP TABLE t1; +show global status like "%performance_schema_prepared_statements_lost%"; +Variable_name Value +Performance_schema_prepared_statements_lost 4 +flush status; +show global status like "%performance_schema_prepared_statements_lost%"; +Variable_name Value +Performance_schema_prepared_statements_lost 0 +DROP DATABASE db; diff --git a/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result b/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result index 29a17e6a3ac..d7a3205dbab 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 0 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_rwlock_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_rwlock_classes"; Variable_name Value performance_schema_max_rwlock_classes 0 select count(*) from performance_schema.setup_instruments @@ -120,6 +165,6 @@ variable_value > 0 select count(*) from performance_schema.rwlock_instances; count(*) 0 -show status like "performance_schema_rwlock_instances_lost"; +show global status like "performance_schema_rwlock_instances_lost"; Variable_name Value Performance_schema_rwlock_instances_lost 0 diff --git a/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result b/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result index 8b214077f37..7ba50ac5de5 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 0 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,18 +150,18 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_rwlock_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_rwlock_classes"; Variable_name Value performance_schema_max_rwlock_classes 40 select count(*) > 0 from performance_schema.setup_instruments where name like "wait/synch/rwlock/%"; count(*) > 0 1 -show status like "performance_schema_rwlock_classes_lost"; +show global status like "performance_schema_rwlock_classes_lost"; Variable_name Value Performance_schema_rwlock_classes_lost 0 -show variables like "performance_schema_max_rwlock_instances"; +show global variables like "performance_schema_max_rwlock_instances"; Variable_name Value performance_schema_max_rwlock_instances 0 select count(*) from performance_schema.rwlock_instances; diff --git a/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result b/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result index 3a0588d616d..15e7e0ae064 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result +++ b/mysql-test/suite/perfschema/r/start_server_no_setup_actors.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 0 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_setup_actors_size"; +show global status like "performance_schema%"; +show global variables like "performance_schema_setup_actors_size"; Variable_name Value performance_schema_setup_actors_size 0 select count(*) from performance_schema.setup_actors; diff --git a/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result b/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result index 89763379b99..8bc7d44ac22 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result +++ b/mysql-test/suite/perfschema/r/start_server_no_setup_objects.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 0 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_setup_objects_size"; +show global status like "performance_schema%"; +show global variables like "performance_schema_setup_objects_size"; Variable_name Value performance_schema_setup_objects_size 0 select count(*) from performance_schema.setup_objects; diff --git a/mysql-test/suite/perfschema/r/start_server_no_socket_class.result b/mysql-test/suite/perfschema/r/start_server_no_socket_class.result index 0b14c6caf15..bf63f46abae 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_socket_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_socket_class.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 0 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_socket_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_socket_classes"; Variable_name Value performance_schema_max_socket_classes 0 select count(*) from performance_schema.setup_instruments @@ -120,6 +165,6 @@ variable_value > 0 select count(*) from performance_schema.socket_instances; count(*) 0 -show status like "performance_schema_socket_instances_lost"; +show global status like "performance_schema_socket_instances_lost"; Variable_name Value Performance_schema_socket_instances_lost 0 diff --git a/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result b/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result index 599e09f6c99..c0b811b557c 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_socket_inst.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 0 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,18 +150,18 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_socket_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_socket_classes"; Variable_name Value performance_schema_max_socket_classes 10 select count(*) > 0 from performance_schema.setup_instruments where name like "wait/io/socket/%"; count(*) > 0 1 -show status like "performance_schema_socket_classes_lost"; +show global status like "performance_schema_socket_classes_lost"; Variable_name Value Performance_schema_socket_classes_lost 0 -show variables like "performance_schema_max_socket_instances"; +show global variables like "performance_schema_max_socket_instances"; Variable_name Value performance_schema_max_socket_instances 0 select count(*) from performance_schema.socket_instances; diff --git a/mysql-test/suite/perfschema/r/start_server_no_stage_class.result b/mysql-test/suite/perfschema/r/start_server_no_stage_class.result index 1d53efc500c..241ad9647a6 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_stage_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_stage_class.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 0 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_stage_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_stage_classes"; Variable_name Value performance_schema_max_stage_classes 0 select count(*) from performance_schema.setup_instruments diff --git a/mysql-test/suite/perfschema/r/start_server_no_stages_history.result b/mysql-test/suite/perfschema/r/start_server_no_stages_history.result index 370ec61ff67..9ff926c4b88 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_stages_history.result +++ b/mysql-test/suite/perfschema/r/start_server_no_stages_history.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 0 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_events_stages_history_size"; +show global status like "performance_schema%"; +show global variables like "performance_schema_events_stages_history_size"; Variable_name Value performance_schema_events_stages_history_size 0 select count(*) from performance_schema.events_stages_history; diff --git a/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result index d8018e0ba44..85470ae08f7 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result +++ b/mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 0 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_events_stages_history_long_size"; +show global status like "performance_schema%"; +show global variables like "performance_schema_events_stages_history_long_size"; Variable_name Value performance_schema_events_stages_history_long_size 0 select count(*) from performance_schema.events_stages_history_long; diff --git a/mysql-test/suite/perfschema/r/start_server_no_statement_class.result b/mysql-test/suite/perfschema/r/start_server_no_statement_class.result index a617e7edb0a..d0d9a478512 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_statement_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_statement_class.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 0 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_statement_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_statement_classes"; Variable_name Value performance_schema_max_statement_classes 0 select count(*) from performance_schema.setup_instruments diff --git a/mysql-test/suite/perfschema/r/start_server_no_statements_history.result b/mysql-test/suite/perfschema/r/start_server_no_statements_history.result index 8d196aa9a4a..3733a288952 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_statements_history.result +++ b/mysql-test/suite/perfschema/r/start_server_no_statements_history.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 0 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_events_statements_history_size"; +show global status like "performance_schema%"; +show global variables like "performance_schema_events_statements_history_size"; Variable_name Value performance_schema_events_statements_history_size 0 select count(*) from performance_schema.events_statements_history; diff --git a/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result index 360e8db910b..e6912b93e61 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result +++ b/mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 0 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_events_statements_history_long_size"; +show global status like "performance_schema%"; +show global variables like "performance_schema_events_statements_history_long_size"; Variable_name Value performance_schema_events_statements_history_long_size 0 select count(*) from performance_schema.events_statements_history_long; diff --git a/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result b/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result index 01b7233582e..d432d236f82 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result +++ b/mysql-test/suite/perfschema/r/start_server_no_table_hdl.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 0 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,11 +150,11 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_table_instances"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_table_instances"; Variable_name Value performance_schema_max_table_instances 500 -show variables like "performance_schema_max_table_handles"; +show global variables like "performance_schema_max_table_handles"; Variable_name Value performance_schema_max_table_handles 0 drop table if exists test.instrument_me; @@ -121,7 +166,7 @@ a 2 3 drop table test.instrument_me; -show variables like "performance_schema_max_table_instances"; +show global variables like "performance_schema_max_table_instances"; Variable_name Value performance_schema_max_table_instances 500 select variable_value > 0 from information_schema.global_status diff --git a/mysql-test/suite/perfschema/r/start_server_no_table_inst.result b/mysql-test/suite/perfschema/r/start_server_no_table_inst.result index 5608c324321..469d6cd2c89 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_table_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_table_inst.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 0 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 0 +performance_schema_max_table_lock_stat 0 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,11 +150,11 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_table_instances"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_table_instances"; Variable_name Value performance_schema_max_table_instances 0 -show variables like "performance_schema_max_table_handles"; +show global variables like "performance_schema_max_table_handles"; Variable_name Value performance_schema_max_table_handles 1000 drop table if exists test.instrument_me; @@ -125,6 +170,6 @@ select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_TABLE_INSTANCES_LOST'; variable_value > 0 1 -show status like "performance_schema_table_handles_lost"; +show global status like "performance_schema_table_handles_lost"; Variable_name Value Performance_schema_table_handles_lost 0 diff --git a/mysql-test/suite/perfschema/r/start_server_no_table_lock.result b/mysql-test/suite/perfschema/r/start_server_no_table_lock.result new file mode 100644 index 00000000000..e4e1e11e42d --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_no_table_lock.result @@ -0,0 +1,181 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 0 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +drop table if exists db1.t1; +drop database if exists db1; +create database db1; +create table db1.t1 (a int, b char(10) default 'default'); +insert into db1.t1 values('1', 'abc'); +insert into db1.t1 values('2', 'abc'); +select * from db1.t1 where a='1'; +a b +1 abc +select COUNT_STAR from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1'; +COUNT_STAR +3 +FLUSH TABLES; +select COUNT_STAR from performance_schema.table_lock_waits_summary_by_table +where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1'; +COUNT_STAR +0 +select variable_value > 0 from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_TABLE_LOCK_STAT_LOST'; +variable_value > 0 +1 +FLUSH STATUS; +select variable_value from information_schema.global_status +where variable_name like 'PERFORMANCE_SCHEMA_TABLE_LOCK_STAT_LOST'; +variable_value +0 +drop database db1; diff --git a/mysql-test/suite/perfschema/r/start_server_no_thread_class.result b/mysql-test/suite/perfschema/r/start_server_no_thread_class.result index b1a7758a9d8..33f2f0edd93 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_thread_class.result +++ b/mysql-test/suite/perfschema/r/start_server_no_thread_class.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 0 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_thread_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_thread_classes"; Variable_name Value performance_schema_max_thread_classes 0 select count(*) from performance_schema.setup_instruments @@ -120,6 +165,6 @@ variable_value > 0 select count(*) from performance_schema.threads; count(*) 0 -show status like "performance_schema_thread_instances_lost"; +show global status like "performance_schema_thread_instances_lost"; Variable_name Value Performance_schema_thread_instances_lost 0 diff --git a/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result b/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result index ad0353589ad..222e9e9c7bf 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result +++ b/mysql-test/suite/perfschema/r/start_server_no_thread_inst.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 0 performance_schema_session_connect_attrs_size 2048 @@ -105,14 +150,14 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_max_thread_classes"; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_thread_classes"; Variable_name Value performance_schema_max_thread_classes 50 -show status like "performance_schema_thread_classes_lost"; +show global status like "performance_schema_thread_classes_lost"; Variable_name Value Performance_schema_thread_classes_lost 0 -show variables like "performance_schema_max_thread_instances"; +show global variables like "performance_schema_max_thread_instances"; Variable_name Value performance_schema_max_thread_instances 0 select count(*) from performance_schema.threads; diff --git a/mysql-test/suite/perfschema/r/start_server_no_transactions_history.result b/mysql-test/suite/perfschema/r/start_server_no_transactions_history.result new file mode 100644 index 00000000000..ae7a5dbf92c --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_no_transactions_history.result @@ -0,0 +1,160 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 0 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +show global variables like "performance_schema_events_transactions_history_size"; +Variable_name Value +performance_schema_events_transactions_history_size 0 +select count(*) from performance_schema.events_transactions_history; +count(*) +0 +truncate table performance_schema.events_transactions_history; diff --git a/mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result new file mode 100644 index 00000000000..8029fcb7723 --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_no_transactions_history_long.result @@ -0,0 +1,160 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 0 +performance_schema_events_transactions_history_size 10 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +show global variables like "performance_schema_events_transactions_history_long_size"; +Variable_name Value +performance_schema_events_transactions_history_long_size 0 +select count(*) from performance_schema.events_transactions_history_long; +count(*) +0 +truncate table performance_schema.events_transactions_history_long; diff --git a/mysql-test/suite/perfschema/r/start_server_no_user.result b/mysql-test/suite/perfschema/r/start_server_no_user.result index 2e1c097e28b..b0d4d942dbd 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_user.result +++ b/mysql-test/suite/perfschema/r/start_server_no_user.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 0 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_users_size"; +show global status like "performance_schema%"; +show global variables like "performance_schema_users_size"; Variable_name Value performance_schema_users_size 0 select count(*) from performance_schema.users; diff --git a/mysql-test/suite/perfschema/r/start_server_no_waits_history.result b/mysql-test/suite/perfschema/r/start_server_no_waits_history.result index a3a9cbeee11..24bcab8c332 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_waits_history.result +++ b/mysql-test/suite/perfschema/r/start_server_no_waits_history.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 0 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_events_waits_history_size"; +show global status like "performance_schema%"; +show global variables like "performance_schema_events_waits_history_size"; Variable_name Value performance_schema_events_waits_history_size 0 select count(*) from performance_schema.events_waits_history; diff --git a/mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result b/mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result index e5465aa6bbb..8d2bf728dc3 100644 --- a/mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result +++ b/mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 0 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema_events_waits_history_long_size"; +show global status like "performance_schema%"; +show global variables like "performance_schema_events_waits_history_long_size"; Variable_name Value performance_schema_events_waits_history_long_size 0 select count(*) from performance_schema.events_waits_history_long; diff --git a/mysql-test/suite/perfschema/r/start_server_nothing.result b/mysql-test/suite/perfschema/r/start_server_nothing.result index d28eed31e7d..c6f19355595 100644 --- a/mysql-test/suite/perfschema/r/start_server_nothing.result +++ b/mysql-test/suite/perfschema/r/start_server_nothing.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 -0 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,22 +84,38 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 0 -performance_schema_digests_size 200 +performance_schema_digests_size 0 performance_schema_events_stages_history_long_size 0 performance_schema_events_stages_history_size 0 performance_schema_events_statements_history_long_size 0 performance_schema_events_statements_history_size 0 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 0 performance_schema_events_waits_history_size 0 performance_schema_hosts_size 0 @@ -89,15 +125,24 @@ performance_schema_max_digest_length 1024 performance_schema_max_file_classes 0 performance_schema_max_file_handles 0 performance_schema_max_file_instances 0 +performance_schema_max_index_stat 0 +performance_schema_max_memory_classes 0 +performance_schema_max_metadata_locks 0 performance_schema_max_mutex_classes 0 performance_schema_max_mutex_instances 0 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 0 performance_schema_max_rwlock_classes 0 performance_schema_max_rwlock_instances 0 performance_schema_max_socket_classes 0 performance_schema_max_socket_instances 0 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 0 +performance_schema_max_statement_classes 0 +performance_schema_max_statement_stack 1 performance_schema_max_table_handles 0 performance_schema_max_table_instances 0 +performance_schema_max_table_lock_stat 0 performance_schema_max_thread_classes 0 performance_schema_max_thread_instances 0 performance_schema_session_connect_attrs_size 0 @@ -105,16 +150,18 @@ performance_schema_setup_actors_size 0 performance_schema_setup_objects_size 0 performance_schema_users_size 0 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show variables like "performance_schema%"; +show global status like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 0 -performance_schema_digests_size 200 +performance_schema_digests_size 0 performance_schema_events_stages_history_long_size 0 performance_schema_events_stages_history_size 0 performance_schema_events_statements_history_long_size 0 performance_schema_events_statements_history_size 0 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 0 performance_schema_events_waits_history_size 0 performance_schema_hosts_size 0 @@ -124,27 +171,108 @@ performance_schema_max_digest_length 1024 performance_schema_max_file_classes 0 performance_schema_max_file_handles 0 performance_schema_max_file_instances 0 +performance_schema_max_index_stat 0 +performance_schema_max_memory_classes 0 +performance_schema_max_metadata_locks 0 performance_schema_max_mutex_classes 0 performance_schema_max_mutex_instances 0 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 0 performance_schema_max_rwlock_classes 0 performance_schema_max_rwlock_instances 0 performance_schema_max_socket_classes 0 performance_schema_max_socket_instances 0 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 0 performance_schema_max_statement_classes 0 +performance_schema_max_statement_stack 1 performance_schema_max_table_handles 0 performance_schema_max_table_instances 0 +performance_schema_max_table_lock_stat 0 performance_schema_max_thread_classes 0 performance_schema_max_thread_instances 0 performance_schema_session_connect_attrs_size 0 performance_schema_setup_actors_size 0 performance_schema_setup_objects_size 0 performance_schema_users_size 0 -select * from performance_schema.setup_instruments; +select * from performance_schema.setup_instruments +order by name; NAME ENABLED TIMED +idle YES YES +memory/performance_schema/accounts YES NO +memory/performance_schema/cond_class YES NO +memory/performance_schema/cond_instances YES NO +memory/performance_schema/events_stages_history YES NO +memory/performance_schema/events_stages_history_long YES NO +memory/performance_schema/events_stages_summary_by_account_by_event_name YES NO +memory/performance_schema/events_stages_summary_by_host_by_event_name YES NO +memory/performance_schema/events_stages_summary_by_thread_by_event_name YES NO +memory/performance_schema/events_stages_summary_by_user_by_event_name YES NO +memory/performance_schema/events_stages_summary_global_by_event_name YES NO +memory/performance_schema/events_statements_current YES NO +memory/performance_schema/events_statements_current.sqltext YES NO +memory/performance_schema/events_statements_current.tokens YES NO +memory/performance_schema/events_statements_history YES NO +memory/performance_schema/events_statements_history.sqltext YES NO +memory/performance_schema/events_statements_history.tokens YES NO +memory/performance_schema/events_statements_history_long YES NO +memory/performance_schema/events_statements_history_long.sqltext YES NO +memory/performance_schema/events_statements_history_long.tokens YES NO +memory/performance_schema/events_statements_summary_by_account_by_event_name YES NO +memory/performance_schema/events_statements_summary_by_digest YES NO +memory/performance_schema/events_statements_summary_by_digest.tokens YES NO +memory/performance_schema/events_statements_summary_by_host_by_event_name YES NO +memory/performance_schema/events_statements_summary_by_program YES NO +memory/performance_schema/events_statements_summary_by_thread_by_event_name YES NO +memory/performance_schema/events_statements_summary_by_user_by_event_name YES NO +memory/performance_schema/events_statements_summary_global_by_event_name YES NO +memory/performance_schema/events_transactions_history YES NO +memory/performance_schema/events_transactions_history_long YES NO +memory/performance_schema/events_transactions_summary_by_account_by_event_name YES NO +memory/performance_schema/events_transactions_summary_by_host_by_event_name YES NO +memory/performance_schema/events_transactions_summary_by_thread_by_event_name YES NO +memory/performance_schema/events_transactions_summary_by_user_by_event_name YES NO +memory/performance_schema/events_waits_history YES NO +memory/performance_schema/events_waits_history_long YES NO +memory/performance_schema/events_waits_summary_by_account_by_event_name YES NO +memory/performance_schema/events_waits_summary_by_host_by_event_name YES NO +memory/performance_schema/events_waits_summary_by_thread_by_event_name YES NO +memory/performance_schema/events_waits_summary_by_user_by_event_name YES NO +memory/performance_schema/file_class YES NO +memory/performance_schema/file_handle YES NO +memory/performance_schema/file_instances YES NO +memory/performance_schema/hosts YES NO +memory/performance_schema/memory_class YES NO +memory/performance_schema/memory_summary_by_account_by_event_name YES NO +memory/performance_schema/memory_summary_by_host_by_event_name YES NO +memory/performance_schema/memory_summary_by_thread_by_event_name YES NO +memory/performance_schema/memory_summary_by_user_by_event_name YES NO +memory/performance_schema/memory_summary_global_by_event_name YES NO +memory/performance_schema/metadata_locks YES NO +memory/performance_schema/mutex_class YES NO +memory/performance_schema/mutex_instances YES NO +memory/performance_schema/prepared_statements_instances YES NO +memory/performance_schema/rwlock_class YES NO +memory/performance_schema/rwlock_instances YES NO +memory/performance_schema/scalable_buffer YES NO +memory/performance_schema/session_connect_attrs YES NO +memory/performance_schema/setup_actors YES NO +memory/performance_schema/setup_objects YES NO +memory/performance_schema/socket_class YES NO +memory/performance_schema/socket_instances YES NO +memory/performance_schema/stage_class YES NO +memory/performance_schema/statement_class YES NO +memory/performance_schema/table_handles YES NO +memory/performance_schema/table_io_waits_summary_by_index_usage YES NO +memory/performance_schema/table_lock_waits_summary_by_table YES NO +memory/performance_schema/table_shares YES NO +memory/performance_schema/threads YES NO +memory/performance_schema/thread_class YES NO +memory/performance_schema/users YES NO +transaction YES YES wait/io/table/sql/handler YES YES +wait/lock/metadata/sql/mdl YES YES wait/lock/table/sql/handler YES YES -idle YES YES select TIMER_NAME from performance_schema.performance_timers; TIMER_NAME CYCLE @@ -160,6 +288,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -172,16 +303,17 @@ idle wait stage statement +transaction select * from performance_schema.accounts; USER HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS select * from performance_schema.cond_instances; NAME OBJECT_INSTANCE_BEGIN select * from performance_schema.events_stages_current; -THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT NESTING_EVENT_ID NESTING_EVENT_TYPE +THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT WORK_COMPLETED WORK_ESTIMATED NESTING_EVENT_ID NESTING_EVENT_TYPE select * from performance_schema.events_stages_history; -THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT NESTING_EVENT_ID NESTING_EVENT_TYPE +THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT WORK_COMPLETED WORK_ESTIMATED NESTING_EVENT_ID NESTING_EVENT_TYPE select * from performance_schema.events_stages_history_long; -THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT NESTING_EVENT_ID NESTING_EVENT_TYPE +THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT WORK_COMPLETED WORK_ESTIMATED NESTING_EVENT_ID NESTING_EVENT_TYPE select * from performance_schema.events_stages_summary_by_account_by_event_name; USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT select * from performance_schema.events_stages_summary_by_host_by_event_name; @@ -193,11 +325,11 @@ USER EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIME select * from performance_schema.events_stages_summary_global_by_event_name; EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT select * from performance_schema.events_statements_current; -THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE +THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE NESTING_EVENT_LEVEL select * from performance_schema.events_statements_history; -THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE +THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE NESTING_EVENT_LEVEL select * from performance_schema.events_statements_history_long; -THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE +THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME SOURCE TIMER_START TIMER_END TIMER_WAIT LOCK_TIME SQL_TEXT DIGEST DIGEST_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN MYSQL_ERRNO RETURNED_SQLSTATE MESSAGE_TEXT ERRORS WARNINGS ROWS_AFFECTED ROWS_SENT ROWS_EXAMINED CREATED_TMP_DISK_TABLES CREATED_TMP_TABLES SELECT_FULL_JOIN SELECT_FULL_RANGE_JOIN SELECT_RANGE SELECT_RANGE_CHECK SELECT_SCAN SORT_MERGE_PASSES SORT_RANGE SORT_ROWS SORT_SCAN NO_INDEX_USED NO_GOOD_INDEX_USED NESTING_EVENT_ID NESTING_EVENT_TYPE NESTING_EVENT_LEVEL select * from performance_schema.events_statements_summary_by_account_by_event_name; USER HOST EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT SUM_LOCK_TIME SUM_ERRORS SUM_WARNINGS SUM_ROWS_AFFECTED SUM_ROWS_SENT SUM_ROWS_EXAMINED SUM_CREATED_TMP_DISK_TABLES SUM_CREATED_TMP_TABLES SUM_SELECT_FULL_JOIN SUM_SELECT_FULL_RANGE_JOIN SUM_SELECT_RANGE SUM_SELECT_RANGE_CHECK SUM_SELECT_SCAN SUM_SORT_MERGE_PASSES SUM_SORT_RANGE SUM_SORT_ROWS SUM_SORT_SCAN SUM_NO_INDEX_USED SUM_NO_GOOD_INDEX_USED select * from performance_schema.events_statements_summary_by_host_by_event_name; @@ -229,35 +361,40 @@ EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAI wait/io/table/sql/handler 0 0 0 0 0 wait/lock/table/sql/handler 0 0 0 0 0 idle 0 0 0 0 0 +wait/lock/metadata/sql/mdl 0 0 0 0 0 select * from performance_schema.file_instances; FILE_NAME EVENT_NAME OPEN_COUNT select * from performance_schema.file_summary_by_event_name; EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC select * from performance_schema.file_summary_by_instance; FILE_NAME EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC -select * from performance_schema.session_account_connect_attrs; -PROCESSLIST_ID ATTR_NAME ATTR_VALUE ORDINAL_POSITION -select * from performance_schema.session_connect_attrs; -PROCESSLIST_ID ATTR_NAME ATTR_VALUE ORDINAL_POSITION -select * from performance_schema.socket_instances; -EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE -select * from performance_schema.socket_summary_by_instance; -EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC -select * from performance_schema.socket_summary_by_event_name; -EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC select * from performance_schema.hosts; HOST CURRENT_CONNECTIONS TOTAL_CONNECTIONS +select * from performance_schema.metadata_locks; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN LOCK_TYPE LOCK_DURATION LOCK_STATUS SOURCE OWNER_THREAD_ID OWNER_EVENT_ID select * from performance_schema.mutex_instances; NAME OBJECT_INSTANCE_BEGIN LOCKED_BY_THREAD_ID select * from performance_schema.objects_summary_global_by_type; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT select * from performance_schema.rwlock_instances; NAME OBJECT_INSTANCE_BEGIN WRITE_LOCKED_BY_THREAD_ID READ_LOCKED_BY_COUNT +select * from performance_schema.session_account_connect_attrs; +PROCESSLIST_ID ATTR_NAME ATTR_VALUE ORDINAL_POSITION +select * from performance_schema.session_connect_attrs; +PROCESSLIST_ID ATTR_NAME ATTR_VALUE ORDINAL_POSITION select * from performance_schema.setup_actors; -HOST USER ROLE +HOST USER ROLE ENABLED HISTORY select * from performance_schema.setup_objects; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED +select * from performance_schema.socket_instances; +EVENT_NAME OBJECT_INSTANCE_BEGIN THREAD_ID SOCKET_ID IP PORT STATE +select * from performance_schema.socket_summary_by_event_name; +EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC +select * from performance_schema.socket_summary_by_instance; +EVENT_NAME OBJECT_INSTANCE_BEGIN COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ SUM_TIMER_READ MIN_TIMER_READ AVG_TIMER_READ MAX_TIMER_READ SUM_NUMBER_OF_BYTES_READ COUNT_WRITE SUM_TIMER_WRITE MIN_TIMER_WRITE AVG_TIMER_WRITE MAX_TIMER_WRITE SUM_NUMBER_OF_BYTES_WRITE COUNT_MISC SUM_TIMER_MISC MIN_TIMER_MISC AVG_TIMER_MISC MAX_TIMER_MISC +select * from performance_schema.table_handles; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME OBJECT_INSTANCE_BEGIN OWNER_THREAD_ID OWNER_EVENT_ID INTERNAL_LOCK EXTERNAL_LOCK select * from performance_schema.threads; -THREAD_ID NAME TYPE PROCESSLIST_ID PROCESSLIST_USER PROCESSLIST_HOST PROCESSLIST_DB PROCESSLIST_COMMAND PROCESSLIST_TIME PROCESSLIST_STATE PROCESSLIST_INFO PARENT_THREAD_ID ROLE INSTRUMENTED +THREAD_ID NAME TYPE PROCESSLIST_ID PROCESSLIST_USER PROCESSLIST_HOST PROCESSLIST_DB PROCESSLIST_COMMAND PROCESSLIST_TIME PROCESSLIST_STATE PROCESSLIST_INFO PARENT_THREAD_ID ROLE INSTRUMENTED HISTORY CONNECTION_TYPE THREAD_OS_ID select * from performance_schema.users; USER CURRENT_CONNECTIONS TOTAL_CONNECTIONS diff --git a/mysql-test/suite/perfschema/r/start_server_off.result b/mysql-test/suite/perfschema/r/start_server_off.result index a5f552b4bbf..263f06125c2 100644 --- a/mysql-test/suite/perfschema/r/start_server_off.result +++ b/mysql-test/suite/perfschema/r/start_server_off.result @@ -4,6 +4,7 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) @@ -11,8 +12,8 @@ count(*) select count(*) from performance_schema.setup_consumers; count(*) 0 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 0 select count(*) from performance_schema.setup_timers; count(*) @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,49 +84,78 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema OFF -performance_schema_accounts_size 100 -performance_schema_digests_size 200 -performance_schema_events_stages_history_long_size 1000 -performance_schema_events_stages_history_size 10 -performance_schema_events_statements_history_long_size 1000 -performance_schema_events_statements_history_size 10 -performance_schema_events_waits_history_long_size 10000 -performance_schema_events_waits_history_size 10 -performance_schema_hosts_size 100 -performance_schema_max_cond_classes 80 -performance_schema_max_cond_instances 1000 -performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 -performance_schema_max_file_handles 32768 -performance_schema_max_file_instances 10000 -performance_schema_max_mutex_classes 200 -performance_schema_max_mutex_instances 5000 -performance_schema_max_rwlock_classes 40 -performance_schema_max_rwlock_instances 5000 -performance_schema_max_socket_classes 10 -performance_schema_max_socket_instances 1000 -performance_schema_max_stage_classes 150 -performance_schema_max_table_handles 1000 -performance_schema_max_table_instances 500 -performance_schema_max_thread_classes 50 -performance_schema_max_thread_instances 200 -performance_schema_session_connect_attrs_size 2048 -performance_schema_setup_actors_size 100 -performance_schema_setup_objects_size 100 -performance_schema_users_size 100 +performance_schema_accounts_size 0 +performance_schema_digests_size 0 +performance_schema_events_stages_history_long_size 0 +performance_schema_events_stages_history_size 0 +performance_schema_events_statements_history_long_size 0 +performance_schema_events_statements_history_size 0 +performance_schema_events_transactions_history_long_size 0 +performance_schema_events_transactions_history_size 0 +performance_schema_events_waits_history_long_size 0 +performance_schema_events_waits_history_size 0 +performance_schema_hosts_size 0 +performance_schema_max_cond_classes 0 +performance_schema_max_cond_instances 0 +performance_schema_max_digest_length 0 +performance_schema_max_file_classes 0 +performance_schema_max_file_handles 0 +performance_schema_max_file_instances 0 +performance_schema_max_index_stat 0 +performance_schema_max_memory_classes 0 +performance_schema_max_metadata_locks 0 +performance_schema_max_mutex_classes 0 +performance_schema_max_mutex_instances 0 +performance_schema_max_prepared_statements_instances 0 +performance_schema_max_program_instances 0 +performance_schema_max_rwlock_classes 0 +performance_schema_max_rwlock_instances 0 +performance_schema_max_socket_classes 0 +performance_schema_max_socket_instances 0 +performance_schema_max_sql_text_length 0 +performance_schema_max_stage_classes 0 +performance_schema_max_statement_classes 0 +performance_schema_max_statement_stack 0 +performance_schema_max_table_handles 0 +performance_schema_max_table_instances 0 +performance_schema_max_table_lock_stat 0 +performance_schema_max_thread_classes 0 +performance_schema_max_thread_instances 0 +performance_schema_session_connect_attrs_size 0 +performance_schema_setup_actors_size 0 +performance_schema_setup_objects_size 0 +performance_schema_users_size 0 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show status like "performance_schema%"; +show global status like "performance_schema%"; +select * from information_schema.engines +where engine = "PERFORMANCE_SCHEMA"; +ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS +PERFORMANCE_SCHEMA YES Performance Schema NO NO NO +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -116,9 +165,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -128,6 +183,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -136,21 +192,21 @@ NAME ENABLED select * from performance_schema.setup_instruments; NAME ENABLED TIMED select * from performance_schema.setup_actors; -HOST USER ROLE +HOST USER ROLE ENABLED HISTORY select * from performance_schema.setup_objects; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED select * from performance_schema.setup_timers; NAME TIMER_NAME insert into performance_schema.setup_objects values ('TABLE', 'myschema', 'myobject', 'YES', 'YES'); ERROR HY000: Invalid performance_schema usage. -insert into performance_schema.setup_actors values ('myhost', 'mysuser', 'myrole'); +insert into performance_schema.setup_actors values ('myhost', 'mysuser', 'myrole', 'YES', 'YES'); ERROR HY000: Invalid performance_schema usage. select * from performance_schema.setup_objects; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED update performance_schema.setup_objects set OBJECT_NAME = 'myobject'; delete from performance_schema.setup_objects; select * from performance_schema.setup_actors; -HOST USER ROLE +HOST USER ROLE ENABLED HISTORY update performance_schema.setup_actors set HOST = 'myhost'; delete from performance_schema.setup_actors; truncate performance_schema.events_stages_history_long; @@ -158,3 +214,76 @@ truncate performance_schema.events_statements_history_long; truncate performance_schema.events_waits_history_long; truncate performance_schema.setup_objects; truncate performance_schema.setup_actors; +select @@global.show_compatibility_56 into @show_compatibility_56_save; +set global show_compatibility_56 = OFF; +show global status like "performance_schema%"; +Variable_name Value +Performance_schema_accounts_lost 0 +Performance_schema_cond_classes_lost 0 +Performance_schema_cond_instances_lost 0 +Performance_schema_digest_lost 0 +Performance_schema_file_classes_lost 0 +Performance_schema_file_handles_lost 0 +Performance_schema_file_instances_lost 0 +Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 +Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 +Performance_schema_mutex_classes_lost 0 +Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 +Performance_schema_rwlock_classes_lost 0 +Performance_schema_rwlock_instances_lost 0 +Performance_schema_session_connect_attrs_lost 0 +Performance_schema_socket_classes_lost 0 +Performance_schema_socket_instances_lost 0 +Performance_schema_stage_classes_lost 0 +Performance_schema_statement_classes_lost 0 +Performance_schema_table_handles_lost 0 +Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 +Performance_schema_thread_classes_lost 0 +Performance_schema_thread_instances_lost 0 +Performance_schema_users_lost 0 +show session status like "performance_schema%"; +Variable_name Value +Performance_schema_accounts_lost 0 +Performance_schema_cond_classes_lost 0 +Performance_schema_cond_instances_lost 0 +Performance_schema_digest_lost 0 +Performance_schema_file_classes_lost 0 +Performance_schema_file_handles_lost 0 +Performance_schema_file_instances_lost 0 +Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 +Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 +Performance_schema_mutex_classes_lost 0 +Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 +Performance_schema_rwlock_classes_lost 0 +Performance_schema_rwlock_instances_lost 0 +Performance_schema_session_connect_attrs_lost 0 +Performance_schema_socket_classes_lost 0 +Performance_schema_socket_instances_lost 0 +Performance_schema_stage_classes_lost 0 +Performance_schema_statement_classes_lost 0 +Performance_schema_table_handles_lost 0 +Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 +Performance_schema_thread_classes_lost 0 +Performance_schema_thread_instances_lost 0 +Performance_schema_users_lost 0 +show global variables like "show_compatibility_56"; +Variable_name Value +show_compatibility_56 OFF +show session variables like "show_compatibility_56"; +Variable_name Value +show_compatibility_56 OFF +set @@global.show_compatibility_56 = @show_compatibility_56_save; diff --git a/mysql-test/suite/perfschema/r/start_server_on.result b/mysql-test/suite/perfschema/r/start_server_on.result index a270b4a6320..81e3742e29c 100644 --- a/mysql-test/suite/perfschema/r/start_server_on.result +++ b/mysql-test/suite/perfschema/r/start_server_on.result @@ -4,19 +4,20 @@ information_schema mtr mysql performance_schema +sys test select count(*) from performance_schema.performance_timers; count(*) 5 select count(*) from performance_schema.setup_consumers; count(*) -12 -select count(*) > 3 from performance_schema.setup_instruments; -count(*) > 3 +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 1 select count(*) from performance_schema.setup_timers; count(*) -4 +5 select * from performance_schema.accounts; select * from performance_schema.cond_instances; select * from performance_schema.events_stages_current; @@ -36,6 +37,14 @@ select * from performance_schema.events_statements_summary_by_host_by_event_name select * from performance_schema.events_statements_summary_by_thread_by_event_name; select * from performance_schema.events_statements_summary_by_user_by_event_name; select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; select * from performance_schema.events_waits_current; select * from performance_schema.events_waits_history; select * from performance_schema.events_waits_history_long; @@ -45,11 +54,22 @@ select * from performance_schema.events_waits_summary_by_instance; select * from performance_schema.events_waits_summary_by_thread_by_event_name; select * from performance_schema.events_waits_summary_by_user_by_event_name; select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; select * from performance_schema.host_cache; select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.performance_timers; @@ -64,14 +84,28 @@ select * from performance_schema.setup_timers; select * from performance_schema.socket_instances; select * from performance_schema.socket_summary_by_instance; select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; select * from performance_schema.table_io_waits_summary_by_index_usage; select * from performance_schema.table_io_waits_summary_by_table; select * from performance_schema.table_lock_waits_summary_by_table; select * from performance_schema.threads; select * from performance_schema.users; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -80,24 +114,35 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 @@ -105,8 +150,8 @@ performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 show engine PERFORMANCE_SCHEMA status; -show status like "performance_schema%"; -show status like "performance_schema%"; +show global status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -116,9 +161,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -128,6 +179,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/start_server_zero_digest_sql_length.result b/mysql-test/suite/perfschema/r/start_server_zero_digest_sql_length.result new file mode 100644 index 00000000000..c21d16fca0b --- /dev/null +++ b/mysql-test/suite/perfschema/r/start_server_zero_digest_sql_length.result @@ -0,0 +1,12 @@ +USE performance_schema; +truncate table events_statements_history_long; +SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; +1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 +74 +#################################### +# QUERYING PS STATEMENT DIGEST +#################################### +SELECT event_name, digest, digest_text, sql_text FROM events_statements_history_long; +event_name digest digest_text sql_text +statement/sql/truncate NULL NULL NULL +statement/sql/select NULL NULL NULL diff --git a/mysql-test/suite/perfschema/r/statement_digest.result b/mysql-test/suite/perfschema/r/statement_digest.result index 2c053942f19..f4deac546e3 100644 --- a/mysql-test/suite/perfschema/r/statement_digest.result +++ b/mysql-test/suite/perfschema/r/statement_digest.result @@ -1,3 +1,6 @@ +SET sql_mode='NO_ENGINE_SUBSTITUTION'; +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. #################################### # SETUP #################################### @@ -79,7 +82,7 @@ CREATE TABLE dup_table (c char(4)); CREATE TABLE dup_table (c char(4)); ERROR 42S01: Table 'dup_table' already exists DROP TABLE dup_table; -INSERT INTO t11 VALUES("MySQL"); +INSERT IGNORE INTO t11 VALUES("MySQL"); Warnings: Warning 1265 Data truncated for column 'c' at row 1 PREPARE stmt FROM "SELECT * FROM t12"; @@ -112,41 +115,41 @@ DROP TRIGGER trg; SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS, SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest; SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS -statements_digest 01cfd3c48ebe150803a02f0b32ab4f7b TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 0 0 0 -statements_digest 4a958a8b2138b7ae3b65a0edde877dca SELECT ? FROM `t1` 2 0 0 0 -statements_digest 1f346cc75586f18fdded6e2f518e7d25 SELECT ?, ... FROM `t1` 2 0 0 0 -statements_digest 9ed289e97245aee8872bd79573ff71dc SELECT ? FROM `t2` 1 0 0 0 -statements_digest ec5d6ae42b4292cce44168c701fde301 SELECT ?, ... FROM `t2` 2 0 0 0 -statements_digest c689b670f102bc028f36273ed00244de INSERT INTO `t1` VALUES (?) 2 2 0 0 -statements_digest baf2d67435fc5a66f517bd655c9154a3 INSERT INTO `t2` VALUES (?) 1 1 0 0 -statements_digest cba557f7a643fac3a34563f74c57f040 INSERT INTO `t3` VALUES (...) 4 4 0 0 -statements_digest 26f967699697844ef6757a283c0432e0 INSERT INTO `t4` VALUES (...) 1 1 0 0 -statements_digest 1565e5ec0755d0d212e84567fdb86500 INSERT INTO `t5` VALUES (...) 1 1 0 0 -statements_digest 931de69cfc4123c9f5ebeb8da2e6fb0e INSERT INTO `t1` VALUES (?) /* , ... */ 2 7 0 0 -statements_digest 81d8a0e0212bb8e02ad8f5e84d8c819a INSERT INTO `t3` VALUES (...) /* , ... */ 1 3 0 0 -statements_digest 793ba1cc016c6e3c45c63023531955ad INSERT INTO `t5` VALUES (...) /* , ... */ 1 3 0 0 -statements_digest d44b7d3c3f03b5b9605c9cffb537b083 INSERT INTO `t6` VALUES (...) 5 5 0 0 -statements_digest f2d57cea9e78e7b37c4509c0564dd1cc SELECT ? + ? 3 0 0 0 -statements_digest 02396199eed2345830efcf00e51107ee SELECT ? 1 0 0 0 -statements_digest d02f821e8ce0a27519c833324368696d CREATE SCHEMA `statements_digest_temp` 2 2 0 0 -statements_digest 5ea9da83763ff4b01e34c408d865568f DROP SCHEMA `statements_digest_temp` 2 0 0 0 -statements_digest ac9dfca3fe35b0d4c43a6bf62a3489b5 SELECT ? FROM `no_such_table` 1 0 0 1 -statements_digest 9fd65056536a8d74ea107b68849cfd27 CREATE TABLE `dup_table` ( `c` CHARACTER (?) ) 2 0 0 1 -statements_digest f259e984954d6d77a9f94230726e1c0f DROP TABLE `dup_table` 1 0 0 0 -statements_digest 17c0f9e5abf747e425ae24b66d44cf01 INSERT INTO `t11` VALUES (?) 1 1 1 0 -statements_digest cee5b131782212e0ba1cd76ba28485c4 SHOW WARNINGS 1 0 0 0 -statements_digest 44d441f36c0487f8b32b6cb1e37f7c3f PREPARE `stmt` FROM ? 1 0 0 0 -statements_digest 73bf0dc38bbbc571613bdb78e85ddb18 EXECUTE `stmt` 2 0 0 0 -statements_digest 8a87274dfc2961861326c1591f0df4bc DEALLOCATE PREPARE `stmt` 1 0 0 0 -statements_digest 639ff9b1728335f463d2ed4134c7ec26 CREATE PROCEDURE `p1` ( ) BEGIN SELECT * FROM `t12` ; END 1 0 0 0 -statements_digest 627bb08bd333aa83cb4bbad88ab6e6b8 CALL `p1` ( ) 2 0 0 0 -statements_digest 949464b6c55462d9d7ad3f0a7608db10 DROP PROCEDURE `p1` 1 0 0 0 -statements_digest bfc5c562a60a60857a026a17434e77bb CREATE FUNCTION `func` ( `a` INTEGER , `b` INTEGER ) RETURNS INTEGER (?) RETURN `a` + `b` 1 0 0 0 -statements_digest cf6fe4a8895dabaf9c30615b49bce6db SELECT `func` (...) 2 0 0 0 -statements_digest 4b2d4d67e2faa0b938156e60e1f2023b DROP FUNCTION `func` 1 0 0 0 -statements_digest b859e51c90bdd984a1226ecf25fd80de CREATE TRIGGER `trg` BEFORE INSERT ON `t12` FOR EACH ROW SET @? := ? 1 0 0 0 -statements_digest cb2f065274b3e03693cb7d5396d4d978 INSERT INTO `t12` VALUES (?) 2 2 0 0 -statements_digest 903b51b5db2d5393542a7fc2614049fd DROP TRIGGER `trg` 1 0 0 0 +statements_digest 21b6affb55f3e69c598b47257f4d0ec6 TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 0 0 0 +statements_digest 2ebcc6539c5c79b27a33707fbd4d70b0 SELECT ? FROM `t1` 2 0 0 0 +statements_digest 811c314bb8f68f4fdef9e30fa64acb0b SELECT ?, ... FROM `t1` 2 0 0 0 +statements_digest bc458c25be72e6f386b5c646bfd2a4ac SELECT ? FROM `t2` 1 0 0 0 +statements_digest ca8daaee4f2bac8419836ba3b57a945c SELECT ?, ... FROM `t2` 2 0 0 0 +statements_digest 15dbcb0276d0a32884e54f872e7550de INSERT INTO `t1` VALUES (?) 2 2 0 0 +statements_digest 69ed8a7ce05b795006d86cbbd31e0caa INSERT INTO `t2` VALUES (?) 1 1 0 0 +statements_digest a33fb1d856859fc46057c7dc869ce164 INSERT INTO `t3` VALUES (...) 4 4 0 0 +statements_digest a77bacee82e346244fbd5d405e9acf7d INSERT INTO `t4` VALUES (...) 1 1 0 0 +statements_digest 5546a45fece520aaa0140e6ac7a554ca INSERT INTO `t5` VALUES (...) 1 1 0 0 +statements_digest 45552b7cbc35f439bb0b2cc12b4d7004 INSERT INTO `t1` VALUES (?) /* , ... */ 2 7 0 0 +statements_digest 5e2ca7e5378a50395344cf8fb33c1289 INSERT INTO `t3` VALUES (...) /* , ... */ 1 3 0 0 +statements_digest 5a2455a3ad5daf8ad20bad0e1ba489d8 INSERT INTO `t5` VALUES (...) /* , ... */ 1 3 0 0 +statements_digest db2e552003c59f77b27e8a43513fa6df INSERT INTO `t6` VALUES (...) 5 5 0 0 +statements_digest 6d48e7bf6ebe1075c954ca4440c313f5 SELECT ? + ? 3 0 0 0 +statements_digest f29eded39dd5fa102f18987679dd0c14 SELECT ? 1 0 0 0 +statements_digest 3aeae35a7cad6d77a59795daa475ec95 CREATE SCHEMA `statements_digest_temp` 2 2 0 0 +statements_digest 853fcddb9ccd2b9bc89b2b9ebb86b63a DROP SCHEMA `statements_digest_temp` 2 0 0 0 +statements_digest 35c43fea9b2c2899c5ae8576b1b00879 SELECT ? FROM `no_such_table` 1 0 0 1 +statements_digest 0d6c1e5ce78bfc10f8f9d1c34883e431 CREATE TABLE `dup_table` ( `c` CHARACTER (?) ) 2 0 0 1 +statements_digest fba453490c48b500dc5497587ac52232 DROP TABLE `dup_table` 1 0 0 0 +statements_digest 8da8c367b38b366598c96c1f573b06ff INSERT IGNORE INTO `t11` VALUES (?) 1 1 1 0 +statements_digest feaff321c54a9c8e1e9508628f7a5a05 SHOW WARNINGS 1 0 0 0 +statements_digest da3836703213b71919f6583391fb7de4 PREPARE `stmt` FROM ? 1 0 0 0 +statements_digest b5243e9f1b9b0bbcc8cafd6e5acc78f7 EXECUTE `stmt` 2 0 0 0 +statements_digest 1943fb11508045f36626b11b1c2311b4 DEALLOCATE PREPARE `stmt` 1 0 0 0 +statements_digest 25794340d6b31e52b8a65f672acd1a02 CREATE PROCEDURE `p1` ( ) BEGIN SELECT * FROM `t12` ; END 1 0 0 0 +statements_digest 89b975550f7e8236ee7cc9dc1662cd04 CALL `p1` ( ) 2 0 0 0 +statements_digest c5ab254ec788be45b08ba6f3b41008b4 DROP PROCEDURE `p1` 1 0 0 0 +statements_digest 85e6b42a2024f757b5e43dd231827068 CREATE FUNCTION `func` ( `a` INTEGER , `b` INTEGER ) RETURNS INTEGER (?) RETURN `a` + `b` 1 0 0 0 +statements_digest 6de36a178c9394679a4b8d8d1113a65d SELECT `func` (...) 2 0 0 0 +statements_digest 98683f018cbb76cd482f47a48921513c DROP FUNCTION `func` 1 0 0 0 +statements_digest 3e0d38357bc7322944bdd51b4281f144 CREATE TRIGGER `trg` BEFORE INSERT ON `t12` FOR EACH ROW SET @? := ? 1 0 0 0 +statements_digest 2ea818b323d4449e3474db5f70e1bdea INSERT INTO `t12` VALUES (?) 2 2 0 0 +statements_digest 4dd34f225aced9cd2f50dafe64e01f1b DROP TRIGGER `trg` 1 0 0 0 #################################### # CLEANUP #################################### @@ -159,3 +162,4 @@ DROP TABLE IF EXISTS t6; DROP TABLE IF EXISTS t11; DROP TABLE IF EXISTS t12; DROP DATABASE IF EXISTS statements_digest; +SET sql_mode=default; diff --git a/mysql-test/suite/perfschema/r/statement_digest_consumers.result b/mysql-test/suite/perfschema/r/statement_digest_consumers.result index dcc8f43f27b..e980940e8bc 100644 --- a/mysql-test/suite/perfschema/r/statement_digest_consumers.result +++ b/mysql-test/suite/perfschema/r/statement_digest_consumers.result @@ -19,6 +19,9 @@ events_stages_history_long YES events_statements_current NO events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -93,7 +96,7 @@ CREATE TABLE dup_table (c char(4)); CREATE TABLE dup_table (c char(4)); ERROR 42S01: Table 'dup_table' already exists DROP TABLE dup_table; -INSERT INTO t11 VALUES("MySQL"); +INSERT IGNORE INTO t11 VALUES("MySQL"); Warnings: Warning 1265 Data truncated for column 'c' at row 1 PREPARE stmt FROM "SELECT * FROM t12"; @@ -125,41 +128,41 @@ DROP TRIGGER trg; #################################### SELECT schema_name, digest, digest_text, count_star FROM performance_schema.events_statements_summary_by_digest; schema_name digest digest_text count_star -statements_digest 01cfd3c48ebe150803a02f0b32ab4f7b TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 -statements_digest 4a958a8b2138b7ae3b65a0edde877dca SELECT ? FROM `t1` 2 -statements_digest 1f346cc75586f18fdded6e2f518e7d25 SELECT ?, ... FROM `t1` 2 -statements_digest 9ed289e97245aee8872bd79573ff71dc SELECT ? FROM `t2` 1 -statements_digest ec5d6ae42b4292cce44168c701fde301 SELECT ?, ... FROM `t2` 2 -statements_digest c689b670f102bc028f36273ed00244de INSERT INTO `t1` VALUES (?) 2 -statements_digest baf2d67435fc5a66f517bd655c9154a3 INSERT INTO `t2` VALUES (?) 1 -statements_digest cba557f7a643fac3a34563f74c57f040 INSERT INTO `t3` VALUES (...) 4 -statements_digest 26f967699697844ef6757a283c0432e0 INSERT INTO `t4` VALUES (...) 1 -statements_digest 1565e5ec0755d0d212e84567fdb86500 INSERT INTO `t5` VALUES (...) 1 -statements_digest 931de69cfc4123c9f5ebeb8da2e6fb0e INSERT INTO `t1` VALUES (?) /* , ... */ 2 -statements_digest 81d8a0e0212bb8e02ad8f5e84d8c819a INSERT INTO `t3` VALUES (...) /* , ... */ 1 -statements_digest 793ba1cc016c6e3c45c63023531955ad INSERT INTO `t5` VALUES (...) /* , ... */ 1 -statements_digest d44b7d3c3f03b5b9605c9cffb537b083 INSERT INTO `t6` VALUES (...) 5 -statements_digest f2d57cea9e78e7b37c4509c0564dd1cc SELECT ? + ? 3 -statements_digest 02396199eed2345830efcf00e51107ee SELECT ? 1 -statements_digest d02f821e8ce0a27519c833324368696d CREATE SCHEMA `statements_digest_temp` 2 -statements_digest 5ea9da83763ff4b01e34c408d865568f DROP SCHEMA `statements_digest_temp` 2 -statements_digest ac9dfca3fe35b0d4c43a6bf62a3489b5 SELECT ? FROM `no_such_table` 1 -statements_digest 9fd65056536a8d74ea107b68849cfd27 CREATE TABLE `dup_table` ( `c` CHARACTER (?) ) 2 -statements_digest f259e984954d6d77a9f94230726e1c0f DROP TABLE `dup_table` 1 -statements_digest 17c0f9e5abf747e425ae24b66d44cf01 INSERT INTO `t11` VALUES (?) 1 -statements_digest cee5b131782212e0ba1cd76ba28485c4 SHOW WARNINGS 1 -statements_digest 44d441f36c0487f8b32b6cb1e37f7c3f PREPARE `stmt` FROM ? 1 -statements_digest 73bf0dc38bbbc571613bdb78e85ddb18 EXECUTE `stmt` 2 -statements_digest 8a87274dfc2961861326c1591f0df4bc DEALLOCATE PREPARE `stmt` 1 -statements_digest 639ff9b1728335f463d2ed4134c7ec26 CREATE PROCEDURE `p1` ( ) BEGIN SELECT * FROM `t12` ; END 1 -statements_digest 627bb08bd333aa83cb4bbad88ab6e6b8 CALL `p1` ( ) 2 -statements_digest 949464b6c55462d9d7ad3f0a7608db10 DROP PROCEDURE `p1` 1 -statements_digest bfc5c562a60a60857a026a17434e77bb CREATE FUNCTION `func` ( `a` INTEGER , `b` INTEGER ) RETURNS INTEGER (?) RETURN `a` + `b` 1 -statements_digest cf6fe4a8895dabaf9c30615b49bce6db SELECT `func` (...) 2 -statements_digest 4b2d4d67e2faa0b938156e60e1f2023b DROP FUNCTION `func` 1 -statements_digest b859e51c90bdd984a1226ecf25fd80de CREATE TRIGGER `trg` BEFORE INSERT ON `t12` FOR EACH ROW SET @? := ? 1 -statements_digest cb2f065274b3e03693cb7d5396d4d978 INSERT INTO `t12` VALUES (?) 2 -statements_digest 903b51b5db2d5393542a7fc2614049fd DROP TRIGGER `trg` 1 +statements_digest 21b6affb55f3e69c598b47257f4d0ec6 TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 +statements_digest 2ebcc6539c5c79b27a33707fbd4d70b0 SELECT ? FROM `t1` 2 +statements_digest 811c314bb8f68f4fdef9e30fa64acb0b SELECT ?, ... FROM `t1` 2 +statements_digest bc458c25be72e6f386b5c646bfd2a4ac SELECT ? FROM `t2` 1 +statements_digest ca8daaee4f2bac8419836ba3b57a945c SELECT ?, ... FROM `t2` 2 +statements_digest 15dbcb0276d0a32884e54f872e7550de INSERT INTO `t1` VALUES (?) 2 +statements_digest 69ed8a7ce05b795006d86cbbd31e0caa INSERT INTO `t2` VALUES (?) 1 +statements_digest a33fb1d856859fc46057c7dc869ce164 INSERT INTO `t3` VALUES (...) 4 +statements_digest a77bacee82e346244fbd5d405e9acf7d INSERT INTO `t4` VALUES (...) 1 +statements_digest 5546a45fece520aaa0140e6ac7a554ca INSERT INTO `t5` VALUES (...) 1 +statements_digest 45552b7cbc35f439bb0b2cc12b4d7004 INSERT INTO `t1` VALUES (?) /* , ... */ 2 +statements_digest 5e2ca7e5378a50395344cf8fb33c1289 INSERT INTO `t3` VALUES (...) /* , ... */ 1 +statements_digest 5a2455a3ad5daf8ad20bad0e1ba489d8 INSERT INTO `t5` VALUES (...) /* , ... */ 1 +statements_digest db2e552003c59f77b27e8a43513fa6df INSERT INTO `t6` VALUES (...) 5 +statements_digest 6d48e7bf6ebe1075c954ca4440c313f5 SELECT ? + ? 3 +statements_digest f29eded39dd5fa102f18987679dd0c14 SELECT ? 1 +statements_digest 3aeae35a7cad6d77a59795daa475ec95 CREATE SCHEMA `statements_digest_temp` 2 +statements_digest 853fcddb9ccd2b9bc89b2b9ebb86b63a DROP SCHEMA `statements_digest_temp` 2 +statements_digest 35c43fea9b2c2899c5ae8576b1b00879 SELECT ? FROM `no_such_table` 1 +statements_digest 0d6c1e5ce78bfc10f8f9d1c34883e431 CREATE TABLE `dup_table` ( `c` CHARACTER (?) ) 2 +statements_digest fba453490c48b500dc5497587ac52232 DROP TABLE `dup_table` 1 +statements_digest 8da8c367b38b366598c96c1f573b06ff INSERT IGNORE INTO `t11` VALUES (?) 1 +statements_digest feaff321c54a9c8e1e9508628f7a5a05 SHOW WARNINGS 1 +statements_digest da3836703213b71919f6583391fb7de4 PREPARE `stmt` FROM ? 1 +statements_digest b5243e9f1b9b0bbcc8cafd6e5acc78f7 EXECUTE `stmt` 2 +statements_digest 1943fb11508045f36626b11b1c2311b4 DEALLOCATE PREPARE `stmt` 1 +statements_digest 25794340d6b31e52b8a65f672acd1a02 CREATE PROCEDURE `p1` ( ) BEGIN SELECT * FROM `t12` ; END 1 +statements_digest 89b975550f7e8236ee7cc9dc1662cd04 CALL `p1` ( ) 2 +statements_digest c5ab254ec788be45b08ba6f3b41008b4 DROP PROCEDURE `p1` 1 +statements_digest 85e6b42a2024f757b5e43dd231827068 CREATE FUNCTION `func` ( `a` INTEGER , `b` INTEGER ) RETURNS INTEGER (?) RETURN `a` + `b` 1 +statements_digest 6de36a178c9394679a4b8d8d1113a65d SELECT `func` (...) 2 +statements_digest 98683f018cbb76cd482f47a48921513c DROP FUNCTION `func` 1 +statements_digest 3e0d38357bc7322944bdd51b4281f144 CREATE TRIGGER `trg` BEFORE INSERT ON `t12` FOR EACH ROW SET @? := ? 1 +statements_digest 2ea818b323d4449e3474db5f70e1bdea INSERT INTO `t12` VALUES (?) 2 +statements_digest 4dd34f225aced9cd2f50dafe64e01f1b DROP TRIGGER `trg` 1 SELECT digest, digest_text FROM performance_schema.events_statements_current; digest digest_text #################################### diff --git a/mysql-test/suite/perfschema/r/statement_digest_consumers2.result b/mysql-test/suite/perfschema/r/statement_digest_consumers2.result index 434914c65e7..b59c4f06808 100644 --- a/mysql-test/suite/perfschema/r/statement_digest_consumers2.result +++ b/mysql-test/suite/perfschema/r/statement_digest_consumers2.result @@ -19,6 +19,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -93,7 +96,7 @@ CREATE TABLE dup_table (c char(4)); CREATE TABLE dup_table (c char(4)); ERROR 42S01: Table 'dup_table' already exists DROP TABLE dup_table; -INSERT INTO t11 VALUES("MySQL"); +INSERT IGNORE INTO t11 VALUES("MySQL"); Warnings: Warning 1265 Data truncated for column 'c' at row 1 PREPARE stmt FROM "SELECT * FROM t12"; diff --git a/mysql-test/suite/perfschema/r/statement_digest_long_query.result b/mysql-test/suite/perfschema/r/statement_digest_long_query.result index f125b8262f9..e7496a19743 100644 --- a/mysql-test/suite/perfschema/r/statement_digest_long_query.result +++ b/mysql-test/suite/perfschema/r/statement_digest_long_query.result @@ -1,12 +1,12 @@ USE performance_schema; truncate table events_statements_summary_by_digest; -SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; +SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 -511 +594 #################################### # QUERYING PS STATEMENT DIGEST #################################### SELECT schema_name, digest, digest_text, count_star FROM events_statements_summary_by_digest; schema_name digest digest_text count_star -performance_schema d12faab4b919fcc50abb18a009fb6b0b TRUNCATE TABLE `events_statements_summary_by_digest` 1 -performance_schema 5d9a2f95653d8ca9d9cea3eefff7e361 SELECT ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? 1 +performance_schema 7b21132f2eb5d27abf79d6f1cb853171 TRUNCATE TABLE `events_statements_summary_by_digest` 1 +performance_schema 13388524411c28030c7bbdc499ca3a3b SELECT ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? 1 diff --git a/mysql-test/suite/perfschema/r/statement_program_concurrency.result b/mysql-test/suite/perfschema/r/statement_program_concurrency.result new file mode 100644 index 00000000000..5c0607224ba --- /dev/null +++ b/mysql-test/suite/perfschema/r/statement_program_concurrency.result @@ -0,0 +1,107 @@ +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history; +# concurrency check through multi connections +CREATE DATABASE db1; +CREATE DATABASE db2; +CREATE DATABASE db3; +USE db1; +CREATE TABLE t1( +i INT NOT NULL +); +LOAD DATA INFILE '../../std_data/wl5766_data.txt' INTO TABLE t1; +CREATE PROCEDURE proc() +BEGIN +INSERT INTO t1 SELECT * FROM t1; +END| +CALL proc();; +USE db2; +CREATE TABLE t2( +i INT NOT NULL +); +LOAD DATA INFILE '../../std_data/wl5766_data.txt' INTO TABLE t2; +CREATE FUNCTION addition(x INT, y INT) RETURNS INT +BEGIN +INSERT INTO t2 SELECT * FROM t2; +RETURN x+y; +END| +SELECT addition(1234,9876);; +USE db3; +CREATE TABLE t( +i INT NOT NULL, +j INT +); +CREATE TABLE t3( +i INT NOT NULL +); +LOAD DATA INFILE '../../std_data/wl5766_data.txt' INTO TABLE t3; +INSERT INTO t VALUES ( 10,1000 ); +CREATE TRIGGER trg AFTER INSERT ON t FOR EACH ROW +INSERT INTO t3 SELECT * FROM t3; +INSERT INTO t VALUES ( 20,2000);; +addition(1234,9876) +11110 +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS +FROM performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='db1' OR OBJECT_SCHEMA='db2' OR OBJECT_SCHEMA='db3' + ORDER BY OBJECT_SCHEMA, OBJECT_NAME; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_STATEMENTS +PROCEDURE db1 proc 1 1 +FUNCTION db2 addition 1 2 +TRIGGER db3 trg 1 1 +SELECT EVENT_NAME, SQL_TEXT, CURRENT_SCHEMA, OBJECT_TYPE, OBJECT_SCHEMA, +OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL FROM +performance_schema.events_statements_history WHERE CURRENT_SCHEMA='db1' + OR CURRENT_SCHEMA='db2' OR CURRENT_SCHEMA='db3' +ORDER BY CURRENT_SCHEMA, OBJECT_NAME; +EVENT_NAME SQL_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME NESTING_EVENT_TYPE NESTING_EVENT_LEVEL +statement/sql/change_db USE db1 db1 NULL NULL NULL NULL 0 +statement/sql/create_table CREATE TABLE t1( +i INT NOT NULL +) db1 NULL NULL NULL NULL 0 +statement/sql/load LOAD DATA INFILE '../../std_data/wl5766_data.txt' INTO TABLE t1 db1 NULL NULL NULL NULL 0 +statement/sql/create_procedure CREATE PROCEDURE proc() +BEGIN +INSERT INTO t1 SELECT * FROM t1; +END db1 NULL NULL NULL NULL 0 +statement/sql/call_procedure CALL proc() db1 NULL NULL NULL NULL 0 +statement/sp/stmt INSERT INTO t1 SELECT * FROM t1 db1 PROCEDURE db1 proc STATEMENT 1 +statement/sql/change_db USE db2 db2 NULL NULL NULL NULL 0 +statement/sql/create_table CREATE TABLE t2( +i INT NOT NULL +) db2 NULL NULL NULL NULL 0 +statement/sql/load LOAD DATA INFILE '../../std_data/wl5766_data.txt' INTO TABLE t2 db2 NULL NULL NULL NULL 0 +statement/sql/create_function CREATE FUNCTION addition(x INT, y INT) RETURNS INT +BEGIN +INSERT INTO t2 SELECT * FROM t2; +RETURN x+y; +END db2 NULL NULL NULL NULL 0 +statement/sql/select SELECT addition(1234,9876) db2 NULL NULL NULL NULL 0 +statement/sp/stmt INSERT INTO t2 SELECT * FROM t2 db2 FUNCTION db2 addition TRANSACTION 1 +statement/sp/freturn NULL db2 FUNCTION db2 addition TRANSACTION 1 +statement/sql/change_db USE db3 db3 NULL NULL NULL NULL 0 +statement/sql/create_table CREATE TABLE t( +i INT NOT NULL, +j INT +) db3 NULL NULL NULL NULL 0 +statement/sql/create_table CREATE TABLE t3( +i INT NOT NULL +) db3 NULL NULL NULL NULL 0 +statement/sql/load LOAD DATA INFILE '../../std_data/wl5766_data.txt' INTO TABLE t3 db3 NULL NULL NULL NULL 0 +statement/sql/insert INSERT INTO t VALUES ( 10,1000 ) db3 NULL NULL NULL NULL 0 +statement/sql/create_trigger CREATE TRIGGER trg AFTER INSERT ON t FOR EACH ROW +INSERT INTO t3 SELECT * FROM t3 db3 NULL NULL NULL NULL 0 +statement/sql/insert INSERT INTO t VALUES ( 20,2000) db3 NULL NULL NULL NULL 0 +statement/sp/stmt INSERT INTO t3 SELECT * FROM t3 db3 TRIGGER db3 trg TRANSACTION 1 +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history; +# Clean-up +DROP PROCEDURE db1.proc; +DROP FUNCTION db2.addition; +DROP TRIGGER db3.trg; +DROP TABLE db1.t1; +DROP TABLE db2.t2; +DROP TABLE db3.t3; +DROP TABLE db3.t; +DROP DATABASE db1; +DROP DATABASE db2; +DROP DATABASE db3; diff --git a/mysql-test/suite/perfschema/r/statement_program_lost_inst.result b/mysql-test/suite/perfschema/r/statement_program_lost_inst.result new file mode 100644 index 00000000000..4ad63857ab9 --- /dev/null +++ b/mysql-test/suite/perfschema/r/statement_program_lost_inst.result @@ -0,0 +1,339 @@ +show databases; +Database +information_schema +mtr +mysql +performance_schema +sys +test +select count(*) from performance_schema.performance_timers; +count(*) +5 +select count(*) from performance_schema.setup_consumers; +count(*) +15 +select count(*) > 4 from performance_schema.setup_instruments; +count(*) > 4 +1 +select count(*) from performance_schema.setup_timers; +count(*) +5 +select * from performance_schema.accounts; +select * from performance_schema.cond_instances; +select * from performance_schema.events_stages_current; +select * from performance_schema.events_stages_history; +select * from performance_schema.events_stages_history_long; +select * from performance_schema.events_stages_summary_by_account_by_event_name; +select * from performance_schema.events_stages_summary_by_host_by_event_name; +select * from performance_schema.events_stages_summary_by_thread_by_event_name; +select * from performance_schema.events_stages_summary_by_user_by_event_name; +select * from performance_schema.events_stages_summary_global_by_event_name; +select * from performance_schema.events_statements_current; +select * from performance_schema.events_statements_history; +select * from performance_schema.events_statements_history_long; +select * from performance_schema.events_statements_summary_by_account_by_event_name; +select * from performance_schema.events_statements_summary_by_digest; +select * from performance_schema.events_statements_summary_by_host_by_event_name; +select * from performance_schema.events_statements_summary_by_thread_by_event_name; +select * from performance_schema.events_statements_summary_by_user_by_event_name; +select * from performance_schema.events_statements_summary_global_by_event_name; +select * from performance_schema.events_transactions_current; +select * from performance_schema.events_transactions_history; +select * from performance_schema.events_transactions_history_long; +select * from performance_schema.events_transactions_summary_by_account_by_event_name; +select * from performance_schema.events_transactions_summary_by_host_by_event_name; +select * from performance_schema.events_transactions_summary_by_thread_by_event_name; +select * from performance_schema.events_transactions_summary_by_user_by_event_name; +select * from performance_schema.events_transactions_summary_global_by_event_name; +select * from performance_schema.events_waits_current; +select * from performance_schema.events_waits_history; +select * from performance_schema.events_waits_history_long; +select * from performance_schema.events_waits_summary_by_account_by_event_name; +select * from performance_schema.events_waits_summary_by_host_by_event_name; +select * from performance_schema.events_waits_summary_by_instance; +select * from performance_schema.events_waits_summary_by_thread_by_event_name; +select * from performance_schema.events_waits_summary_by_user_by_event_name; +select * from performance_schema.events_waits_summary_global_by_event_name; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.file_instances; +select * from performance_schema.file_summary_by_event_name; +select * from performance_schema.file_summary_by_instance; +select * from performance_schema.host_cache; +select * from performance_schema.hosts; +select * from performance_schema.memory_summary_by_account_by_event_name; +select * from performance_schema.memory_summary_by_host_by_event_name; +select * from performance_schema.memory_summary_by_thread_by_event_name; +select * from performance_schema.memory_summary_by_user_by_event_name; +select * from performance_schema.memory_summary_global_by_event_name; +select * from performance_schema.metadata_locks; +select * from performance_schema.mutex_instances; +select * from performance_schema.objects_summary_global_by_type; +select * from performance_schema.performance_timers; +select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; +select * from performance_schema.setup_actors; +select * from performance_schema.setup_consumers; +select * from performance_schema.setup_instruments; +select * from performance_schema.setup_objects; +select * from performance_schema.setup_timers; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.table_handles; +select * from performance_schema.table_io_waits_summary_by_index_usage; +select * from performance_schema.table_io_waits_summary_by_table; +select * from performance_schema.table_lock_waits_summary_by_table; +select * from performance_schema.threads; +select * from performance_schema.users; +select * from performance_schema.replication_connection_configuration; +select * from performance_schema.replication_connection_status; +select * from performance_schema.replication_applier_configuration; +select * from performance_schema.replication_applier_status; +select * from performance_schema.replication_applier_status_by_coordinator; +select * from performance_schema.replication_applier_status_by_worker; +select * from performance_schema.global_status; +select * from performance_schema.status_by_thread; +select * from performance_schema.status_by_user; +select * from performance_schema.status_by_host; +select * from performance_schema.status_by_account; +select * from performance_schema.session_status; +select * from performance_schema.global_variables; +select * from performance_schema.variables_by_thread; +select * from performance_schema.session_variables; +show global variables like "performance_schema%"; +Variable_name Value +performance_schema ON +performance_schema_accounts_size 100 +performance_schema_digests_size 200 +performance_schema_events_stages_history_long_size 1000 +performance_schema_events_stages_history_size 10 +performance_schema_events_statements_history_long_size 1000 +performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_hosts_size 100 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_digest_length 1024 +performance_schema_max_file_classes 80 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 7 +performance_schema_max_rwlock_classes 40 +performance_schema_max_rwlock_instances 5000 +performance_schema_max_socket_classes 10 +performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 +performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 2 +performance_schema_max_table_handles 1000 +performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 200 +performance_schema_session_connect_attrs_size 2048 +performance_schema_setup_actors_size 100 +performance_schema_setup_objects_size 100 +performance_schema_users_size 100 +show engine PERFORMANCE_SCHEMA status; +show global status like "performance_schema%"; +show global variables like "performance_schema_max_program_instances"; +Variable_name Value +performance_schema_max_program_instances 7 +show global variables like "performance_schema_max_statement_stack"; +Variable_name Value +performance_schema_max_statement_stack 2 +##################### +# Setup +##################### +# SET-UP +CREATE DATABASE nested_sp; +USE nested_sp; +CREATE TABLE t1( +id CHAR(16) NOT NULL DEFAULT '', +data INT NOT NULL +); +CREATE TABLE t2( +n INT UNSIGNED NOT NULL, +f BIGINT UNSIGNED +); +############################ +# Creating Stored Programs # +############################ +CREATE PROCEDURE c1(x INT) +CALL c2("c", x)| +CREATE PROCEDURE c2(s CHAR(16), x INT) +CALL c3(x, s)| +CREATE PROCEDURE c3(x INT, s CHAR(16)) +CALL c4("level", x, s)| +CREATE PROCEDURE c4(l CHAR(8), x INT, s CHAR(16)) +INSERT INTO t1 VALUES (concat(l,s), x)| +CREATE PROCEDURE iotest(x1 CHAR(16), x2 CHAR(16), y INT) +BEGIN +CALL inc2(x2, y); +INSERT INTO t1 VALUES (x1, y); +END| +CREATE PROCEDURE inc2(x CHAR(16), y INT) +BEGIN +CALL inc(y); +INSERT INTO t1 VALUES (x, y); +END| +CREATE PROCEDURE inc(inout io INT) +SET io = io + 1| +CREATE FUNCTION mul(x INT, y INT) RETURNS INT +RETURN x*y| +CREATE FUNCTION inc(i INT) RETURNS INT +RETURN i+1| +CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN +DECLARE f BIGINT UNSIGNED DEFAULT 1; +WHILE n > 1 DO +SET f = f * n; +SET n = n - 1; +END WHILE; +RETURN f; +END| +CREATE FUNCTION fun(i INT, u INT UNSIGNED) RETURNS DOUBLE +RETURN mul(inc(i), fac(u))| +CREATE PROCEDURE ifac(n INT UNSIGNED) +BEGIN +DECLARE i BIGINT UNSIGNED DEFAULT 1; +IF n > 20 THEN +SET n = 20; # bigint overflow otherwise +END IF; +WHILE i <= n DO +BEGIN +INSERT INTO t2 VALUES (i, fac(i)); +SET i = i + 1; +END; +END WHILE; +END| +CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW +CALL ifac(10)| +TRUNCATE performance_schema.events_statements_summary_by_program; +SELECT OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA FROM +performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME; +OBJECT_TYPE OBJECT_NAME OBJECT_SCHEMA +Flush status; +show global status like "%performance_schema_program_lost%"; +Variable_name Value +Performance_schema_program_lost 0 +show global status like "%performance_schema_nested_statement_lost%"; +Variable_name Value +Performance_schema_nested_statement_lost 0 +##################### +# Executing Queries +##################### +##################### +# Executing queries # +##################### +CALL c1(42); +SELECT * FROM t1; +id data +levelc 42 +DELETE FROM t1; +CALL iotest("io1", "io2", 1); +SELECT * FROM t1 ORDER BY data DESC; +id data +io2 2 +io1 1 +DELETE FROM t1; +SELECT fun(6,10); +fun(6,10) +25401600 +INSERT INTO t1 VALUES (20,13); +SELECT * FROM t2; +n f +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +########################################### +# Quering PS statement summary table # +########################################### +SELECT OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA +FROM performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME; +OBJECT_TYPE OBJECT_NAME OBJECT_SCHEMA +PROCEDURE c1 nested_sp +PROCEDURE c2 nested_sp +PROCEDURE c3 nested_sp +PROCEDURE c4 nested_sp +FUNCTION fac nested_sp +PROCEDURE ifac nested_sp +TRIGGER trg nested_sp +show global status like "%performance_schema_program_lost%"; +Variable_name Value +Performance_schema_program_lost 6 +show global status like "%performance_schema_nested_statement_lost%"; +Variable_name Value +Performance_schema_nested_statement_lost 1062 +##################### +# Cleanup +##################### +DROP PROCEDURE c4; +DROP PROCEDURE c3; +DROP PROCEDURE c2; +DROP PROCEDURE c1; +DROP PROCEDURE inc; +DROP PROCEDURE inc2; +DROP PROCEDURE iotest; +DROP FUNCTION mul; +DROP FUNCTION inc; +DROP FUNCTION fac; +DROP FUNCTION fun; +DROP PROCEDURE ifac; +DROP TRIGGER trg; +DROP TABLE t1,t2; +DROP DATABASE nested_sp; diff --git a/mysql-test/suite/perfschema/r/statement_program_nested.result b/mysql-test/suite/perfschema/r/statement_program_nested.result new file mode 100644 index 00000000000..7b8f3099c80 --- /dev/null +++ b/mysql-test/suite/perfschema/r/statement_program_nested.result @@ -0,0 +1,2333 @@ +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; +################################################# +# Quering PS statement summary and history_long # +################################################# +# SET-UP +CREATE DATABASE nested_sp; +USE nested_sp; +CREATE TABLE t1( +id CHAR(16) NOT NULL DEFAULT '', +data INT NOT NULL +); +CREATE TABLE t2( +n INT UNSIGNED NOT NULL, +f BIGINT UNSIGNED +); +############################ +# Creating Stored Programs # +############################ +CREATE PROCEDURE c1(x INT) +CALL c2("c", x)| +CREATE PROCEDURE c2(s CHAR(16), x INT) +CALL c3(x, s)| +CREATE PROCEDURE c3(x INT, s CHAR(16)) +CALL c4("level", x, s)| +CREATE PROCEDURE c4(l CHAR(8), x INT, s CHAR(16)) +INSERT INTO t1 VALUES (concat(l,s), x)| +CREATE PROCEDURE iotest(x1 CHAR(16), x2 CHAR(16), y INT) +BEGIN +CALL inc2(x2, y); +INSERT INTO t1 VALUES (x1, y); +END| +CREATE PROCEDURE inc2(x CHAR(16), y INT) +BEGIN +CALL inc(y); +INSERT INTO t1 VALUES (x, y); +END| +CREATE PROCEDURE inc(inout io INT) +SET io = io + 1| +CREATE FUNCTION mul(x INT, y INT) RETURNS INT +RETURN x*y| +CREATE FUNCTION inc(i INT) RETURNS INT +RETURN i+1| +CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN +DECLARE f BIGINT UNSIGNED DEFAULT 1; +WHILE n > 1 DO +SET f = f * n; +SET n = n - 1; +END WHILE; +RETURN f; +END| +CREATE FUNCTION fun(i INT, u INT UNSIGNED) RETURNS DOUBLE +RETURN mul(inc(i), fac(u))| +CREATE PROCEDURE ifac(n INT UNSIGNED) +BEGIN +DECLARE i BIGINT UNSIGNED DEFAULT 1; +IF n > 20 THEN +SET n = 20; # bigint overflow otherwise +END IF; +WHILE i <= n DO +BEGIN +INSERT INTO t2 VALUES (i, fac(i)); +SET i = i + 1; +END; +END WHILE; +END| +CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW +CALL ifac(10)| +##################### +# Executing queries # +##################### +CALL c1(42); +SELECT * FROM t1; +id data +levelc 42 +DELETE FROM t1; +CALL iotest("io1", "io2", 1); +SELECT * FROM t1 ORDER BY data DESC; +id data +io2 2 +io1 1 +DELETE FROM t1; +SELECT fun(6,10); +fun(6,10) +25401600 +INSERT INTO t1 VALUES (20,13); +SELECT * FROM t2; +n f +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +SELECT EVENT_NAME, SQL_TEXT, CURRENT_SCHEMA, OBJECT_TYPE, OBJECT_SCHEMA, +OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL +FROM performance_schema.events_statements_history_long WHERE +CURRENT_SCHEMA='nested_sp' ORDER BY +OBJECT_NAME,NESTING_EVENT_LEVEL,SQL_TEXT,EVENT_NAME; +EVENT_NAME SQL_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME NESTING_EVENT_TYPE NESTING_EVENT_LEVEL +statement/sql/call_procedure CALL c1(42) nested_sp NULL NULL NULL NULL 0 +statement/sql/call_procedure CALL iotest("io1", "io2", 1) nested_sp NULL NULL NULL NULL 0 +statement/sql/delete DELETE FROM t1 nested_sp NULL NULL NULL NULL 0 +statement/sql/delete DELETE FROM t1 nested_sp NULL NULL NULL NULL 0 +statement/sql/insert INSERT INTO t1 VALUES (20,13) nested_sp NULL NULL NULL NULL 0 +statement/sql/select SELECT * FROM t1 nested_sp NULL NULL NULL NULL 0 +statement/sql/select SELECT * FROM t1 ORDER BY data DESC nested_sp NULL NULL NULL NULL 0 +statement/sql/select SELECT * FROM t2 nested_sp NULL NULL NULL NULL 0 +statement/sql/select SELECT fun(6,10) nested_sp NULL NULL NULL NULL 0 +statement/sp/stmt CALL c2("c", x) nested_sp PROCEDURE nested_sp c1 STATEMENT 1 +statement/sp/stmt CALL c3(x, s) nested_sp PROCEDURE nested_sp c2 STATEMENT 2 +statement/sp/stmt CALL c4("level", x, s) nested_sp PROCEDURE nested_sp c3 STATEMENT 3 +statement/sp/stmt INSERT INTO t1 VALUES (concat(l,s), x) nested_sp PROCEDURE nested_sp c4 STATEMENT 4 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 2 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 3 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 4 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 5 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/jump_if_not NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/set NULL nested_sp FUNCTION nested_sp fac STATEMENT 7 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp fun STATEMENT 1 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 2 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 3 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 4 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/jump NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/jump_if_not NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/set NULL nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) nested_sp PROCEDURE nested_sp ifac STATEMENT 6 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp inc STATEMENT 2 +statement/sp/set NULL nested_sp PROCEDURE nested_sp inc STATEMENT 3 +statement/sp/stmt CALL inc(y) nested_sp PROCEDURE nested_sp inc2 STATEMENT 2 +statement/sp/stmt INSERT INTO t1 VALUES (x, y) nested_sp PROCEDURE nested_sp inc2 STATEMENT 2 +statement/sp/stmt CALL inc2(x2, y) nested_sp PROCEDURE nested_sp iotest STATEMENT 1 +statement/sp/stmt INSERT INTO t1 VALUES (x1, y) nested_sp PROCEDURE nested_sp iotest STATEMENT 1 +statement/sp/freturn NULL nested_sp FUNCTION nested_sp mul STATEMENT 2 +statement/sp/stmt CALL ifac(10) nested_sp TRIGGER nested_sp trg TRANSACTION 1 +statement/sp/stmt CALL ifac(10) nested_sp TRIGGER nested_sp trg TRANSACTION 2 +statement/sp/stmt CALL ifac(10) nested_sp TRIGGER nested_sp trg TRANSACTION 3 +statement/sp/stmt CALL ifac(10) nested_sp TRIGGER nested_sp trg TRANSACTION 5 +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS +FROM performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_STATEMENTS +PROCEDURE nested_sp c1 1 1 +PROCEDURE nested_sp c2 1 1 +PROCEDURE nested_sp c3 1 1 +PROCEDURE nested_sp c4 1 1 +FUNCTION nested_sp fac 41 879 +FUNCTION nested_sp fun 1 1 +PROCEDURE nested_sp ifac 4 172 +PROCEDURE nested_sp inc 1 1 +FUNCTION nested_sp inc 1 1 +PROCEDURE nested_sp inc2 1 2 +PROCEDURE nested_sp iotest 1 2 +FUNCTION nested_sp mul 1 1 +TRIGGER nested_sp trg 4 4 +# clean-up +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS +FROM performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_STATEMENTS +PROCEDURE nested_sp c1 0 0 +PROCEDURE nested_sp c2 0 0 +PROCEDURE nested_sp c3 0 0 +PROCEDURE nested_sp c4 0 0 +FUNCTION nested_sp fac 0 0 +FUNCTION nested_sp fun 0 0 +PROCEDURE nested_sp ifac 0 0 +PROCEDURE nested_sp inc 0 0 +FUNCTION nested_sp inc 0 0 +PROCEDURE nested_sp inc2 0 0 +PROCEDURE nested_sp iotest 0 0 +FUNCTION nested_sp mul 0 0 +TRIGGER nested_sp trg 0 0 +DROP PROCEDURE c4; +DROP PROCEDURE c3; +DROP PROCEDURE c2; +DROP PROCEDURE c1; +DROP PROCEDURE inc; +DROP PROCEDURE inc2; +DROP PROCEDURE iotest; +DROP FUNCTION mul; +DROP FUNCTION inc; +DROP FUNCTION fac; +DROP FUNCTION fun; +DROP PROCEDURE ifac; +DROP TRIGGER trg; +DROP TABLE t1,t2; +DROP DATABASE nested_sp; +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS +FROM performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_STATEMENTS +# SET-UP +CREATE DATABASE nested_sp; +USE nested_sp; +CREATE TABLE t1( +id CHAR(16) NOT NULL DEFAULT '', +data INT NOT NULL +); +CREATE TABLE t2( +n INT UNSIGNED NOT NULL, +f BIGINT UNSIGNED +); +############################ +# Creating Stored Programs # +############################ +CREATE PROCEDURE c1(x INT) +CALL c2("c", x)| +CREATE PROCEDURE c2(s CHAR(16), x INT) +CALL c3(x, s)| +CREATE PROCEDURE c3(x INT, s CHAR(16)) +CALL c4("level", x, s)| +CREATE PROCEDURE c4(l CHAR(8), x INT, s CHAR(16)) +INSERT INTO t1 VALUES (concat(l,s), x)| +CREATE PROCEDURE iotest(x1 CHAR(16), x2 CHAR(16), y INT) +BEGIN +CALL inc2(x2, y); +INSERT INTO t1 VALUES (x1, y); +END| +CREATE PROCEDURE inc2(x CHAR(16), y INT) +BEGIN +CALL inc(y); +INSERT INTO t1 VALUES (x, y); +END| +CREATE PROCEDURE inc(inout io INT) +SET io = io + 1| +CREATE FUNCTION mul(x INT, y INT) RETURNS INT +RETURN x*y| +CREATE FUNCTION inc(i INT) RETURNS INT +RETURN i+1| +CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN +DECLARE f BIGINT UNSIGNED DEFAULT 1; +WHILE n > 1 DO +SET f = f * n; +SET n = n - 1; +END WHILE; +RETURN f; +END| +CREATE FUNCTION fun(i INT, u INT UNSIGNED) RETURNS DOUBLE +RETURN mul(inc(i), fac(u))| +CREATE PROCEDURE ifac(n INT UNSIGNED) +BEGIN +DECLARE i BIGINT UNSIGNED DEFAULT 1; +IF n > 20 THEN +SET n = 20; # bigint overflow otherwise +END IF; +WHILE i <= n DO +BEGIN +INSERT INTO t2 VALUES (i, fac(i)); +SET i = i + 1; +END; +END WHILE; +END| +CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW +CALL ifac(10)| +update performance_schema.setup_instruments set enabled='YES', timed='NO' + where name like "statement/sp/%" order by name; +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; +##################### +# Executing queries # +##################### +CALL c1(42); +SELECT * FROM t1; +id data +levelc 42 +DELETE FROM t1; +CALL iotest("io1", "io2", 1); +SELECT * FROM t1 ORDER BY data DESC; +id data +io2 2 +io1 1 +DELETE FROM t1; +SELECT fun(6,10); +fun(6,10) +25401600 +INSERT INTO t1 VALUES (20,13); +SELECT * FROM t2; +n f +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +SELECT EVENT_NAME, TIMER_START, TIMER_END, TIMER_WAIT FROM +performance_schema.events_statements_history_long WHERE +CURRENT_SCHEMA='nested_sp' AND EVENT_NAME like "statement/sp/%"; +EVENT_NAME TIMER_START TIMER_END TIMER_WAIT +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +update performance_schema.setup_instruments set enabled='YES', timed='YES' + where name like "statement/sp/%" order by name; +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; +DROP PROCEDURE c4; +DROP PROCEDURE c3; +DROP PROCEDURE c2; +DROP PROCEDURE c1; +DROP PROCEDURE inc; +DROP PROCEDURE inc2; +DROP PROCEDURE iotest; +DROP FUNCTION mul; +DROP FUNCTION inc; +DROP FUNCTION fac; +DROP FUNCTION fun; +DROP PROCEDURE ifac; +DROP TRIGGER trg; +DROP TABLE t1,t2; +DROP DATABASE nested_sp; diff --git a/mysql-test/suite/perfschema/r/statement_program_nesting_event_check.result b/mysql-test/suite/perfschema/r/statement_program_nesting_event_check.result new file mode 100644 index 00000000000..7c29c4ad86f --- /dev/null +++ b/mysql-test/suite/perfschema/r/statement_program_nesting_event_check.result @@ -0,0 +1,1514 @@ +TRUNCATE TABLE performance_schema.events_statements_history_long; +#---------------------------- +# Non-nested Stored programs. +#---------------------------- +# SET-UP +CREATE DATABASE stored_programs; +USE stored_programs; +CREATE TABLE t1( +i INT NOT NULL, +j INT +); +CREATE TABLE t2( +name CHAR(16) NOT NULL DEFAULT '', +id INT NOT NULL +); +CREATE TABLE t3( +d DATE, +n INT, +f DOUBLE, +s VARCHAR(32) +); +CREATE TABLE t4( +`k` int(10) unsigned NOT NULL AUTO_INCREMENT, +`word` varchar(100) NOT NULL, +`mean` varchar(300) NOT NULL, +PRIMARY KEY (`k`) +); +############################ +# Creating Stored Programs # +############################ +# Stored Routine ( Procedure & Function ) +CREATE PROCEDURE SampleProc1(x1 INT, x2 INT, y INT) +BEGIN +INSERT INTO t1 VALUES (x1, y); +INSERT INTO t1 VALUES (x2, y); +END| +CREATE PROCEDURE SampleProc2(x CHAR(16), y INT) +BEGIN +DECLARE z1, z2 INT; +SET z1 = y; +SET z2 = z1+2; +INSERT INTO t2 VALUES (x, z2); +END| +CREATE PROCEDURE SampleProc3() +BEGIN +DECLARE ld DATE; +DECLARE li INT; +DECLARE lf DOUBLE; +DECLARE ls VARCHAR(32); +SET ld = NULL, li = NULL, lf = NULL, ls = NULL; +INSERT INTO t3 VALUES (ld, li, lf, ls); +INSERT INTO t3 (n, f, s) VALUES ((ld IS NULL), 1, "ld is null"), +((li IS NULL), 1, "li is null"), +((li = 0), NULL, "li = 0"), +((lf IS NULL), 1, "lf is null"), +((lf = 0), NULL, "lf = 0"), +((ls IS NULL), 1, "ls is null"); +END| +CREATE PROCEDURE SampleProc4() +BEGIN +DECLARE x INT; +SET x = 1; +WHILE x <= 2 DO +INSERT INTO t4(word, mean) VALUES('a','a mean'); +SET x = x + 1; +END WHILE; +END| +CREATE FUNCTION append(s1 CHAR(8), s2 CHAR(8)) RETURNS CHAR(16) +RETURN concat(s1, s2)| +CREATE FUNCTION wt_avg(n1 INT, n2 INT, n3 INT, n4 INT) +RETURNS INT +DETERMINISTIC +BEGIN +DECLARE avg INT; +SET avg = (n1+n2+n3*2+n4*4)/8; +RETURN avg; +END| +CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN +DECLARE f BIGINT UNSIGNED DEFAULT 1; +WHILE n > 1 DO +SET f = f * n; +SET n = n - 1; +END WHILE; +RETURN f; +END| +# Triggers +CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW +BEGIN +if isnull(new.j) then +SET new.j:= new.i * 10; +END if; +END| +CREATE TRIGGER trg2 AFTER INSERT ON t2 FOR EACH ROW +BEGIN +UPDATE t1 SET i=new.id+i ; +END| +CREATE TRIGGER trg3 AFTER UPDATE ON t2 FOR EACH ROW +SET @change:= @change + new.id - old.id| +CREATE TRIGGER trg4 BEFORE DELETE ON t1 FOR EACH ROW +SET @del:= @del + 1| +CREATE TRIGGER trg5 AFTER DELETE ON t1 FOR EACH ROW +SET @del:= @del + 8 + old.j| +##################### +# Executing queries # +##################### +INSERT INTO t1 VALUES (10,20); +CALL SampleProc1(30,40,50); +SET @a=1; +SELECT @a; +@a +1 +CALL SampleProc2("Jwalamukhi",34); +SELECT @a; +@a +1 +CALL SampleProc3(); +CALL SampleProc4(); +SET @change=1; +SELECT @change; +@change +1 +UPDATE t2 SET id=22 WHERE name="Jwalamukhi"; +SELECT @change; +@change +-13 +SET @del=1; +SELECT @del; +@del +1 +DELETE FROM t1 WHERE i=76; +SELECT @del; +@del +60 +SELECT wt_avg(1, 12, 1990, 1121990); +wt_avg(1, 12, 1990, 1121990) +561494 +SELECT fac(5); +fac(5) +120 +SELECT append("Bolly", "wood"); +append("Bolly", "wood") +Bollywood +# Event +SET GLOBAL event_scheduler=ON; +CREATE TABLE table_t(a INT); +CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO +BEGIN +INSERT INTO table_t VALUES(1); +END| +SELECT * FROM table_t; +a +1 +SET GLOBAL event_scheduler=OFF; +SELECT EVENT_NAME, SQL_TEXT, OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL +FROM performance_schema.events_statements_history_long +WHERE CURRENT_SCHEMA='stored_programs' AND +(SQL_TEXT not like '%count(*) = 1%' OR SQL_TEXT IS NULL) +ORDER BY OBJECT_NAME,NESTING_EVENT_LEVEL,SQL_TEXT; +EVENT_NAME SQL_TEXT OBJECT_NAME NESTING_EVENT_TYPE NESTING_EVENT_LEVEL +statement/scheduler/event NULL NULL NULL 0 +statement/sql/call_procedure CALL SampleProc1(30,40,50) NULL NULL 0 +statement/sql/call_procedure CALL SampleProc2("Jwalamukhi",34) NULL NULL 0 +statement/sql/call_procedure CALL SampleProc3() NULL NULL 0 +statement/sql/call_procedure CALL SampleProc4() NULL NULL 0 +statement/sql/create_event CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO +BEGIN +INSERT INTO table_t VALUES(1); +END NULL NULL 0 +statement/sql/create_function CREATE FUNCTION append(s1 CHAR(8), s2 CHAR(8)) RETURNS CHAR(16) +RETURN concat(s1, s2) NULL NULL 0 +statement/sql/create_function CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN +DECLARE f BIGINT UNSIGNED DEFAULT 1; +WHILE n > 1 DO +SET f = f * n; +SET n = n - 1; +END WHILE; +RETURN f; +END NULL NULL 0 +statement/sql/create_function CREATE FUNCTION wt_avg(n1 INT, n2 INT, n3 INT, n4 INT) +RETURNS INT +DETERMINISTIC +BEGIN +DECLARE avg INT; +SET avg = (n1+n2+n3*2+n4*4)/8; +RETURN avg; +END NULL NULL 0 +statement/sql/create_procedure CREATE PROCEDURE SampleProc1(x1 INT, x2 INT, y INT) +BEGIN +INSERT INTO t1 VALUES (x1, y); +INSERT INTO t1 VALUES (x2, y); +END NULL NULL 0 +statement/sql/create_procedure CREATE PROCEDURE SampleProc2(x CHAR(16), y INT) +BEGIN +DECLARE z1, z2 INT; +SET z1 = y; +SET z2 = z1+2; +INSERT INTO t2 VALUES (x, z2); +END NULL NULL 0 +statement/sql/create_procedure CREATE PROCEDURE SampleProc3() +BEGIN +DECLARE ld DATE; +DECLARE li INT; +DECLARE lf DOUBLE; +DECLARE ls VARCHAR(32); +SET ld = NULL, li = NULL, lf = NULL, ls = NULL; +INSERT INTO t3 VALUES (ld, li, lf, ls); +INSERT INTO t3 (n, f, s) VALUES ((ld IS NULL), 1, "ld is null"), +((li IS NULL), 1, "li is null"), +((li = 0), NULL, "li = 0"), +((lf IS NULL), 1, "lf is null"), +((lf = 0), NULL, "lf = 0"), +((ls IS NULL), 1, "ls is null"); +END NULL NULL 0 +statement/sql/create_procedure CREATE PROCEDURE SampleProc4() +BEGIN +DECLARE x INT; +SET x = 1; +WHILE x <= 2 DO +INSERT INTO t4(word, mean) VALUES('a','a mean'); +SET x = x + 1; +END WHILE; +END NULL NULL 0 +statement/sql/create_table CREATE TABLE t1( +i INT NOT NULL, +j INT +) NULL NULL 0 +statement/sql/create_table CREATE TABLE t2( +name CHAR(16) NOT NULL DEFAULT '', +id INT NOT NULL +) NULL NULL 0 +statement/sql/create_table CREATE TABLE t3( +d DATE, +n INT, +f DOUBLE, +s VARCHAR(32) +) NULL NULL 0 +statement/sql/create_table CREATE TABLE t4( +`k` int(10) unsigned NOT NULL AUTO_INCREMENT, +`word` varchar(100) NOT NULL, +`mean` varchar(300) NOT NULL, +PRIMARY KEY (`k`) +) NULL NULL 0 +statement/sql/create_table CREATE TABLE table_t(a INT) NULL NULL 0 +statement/sql/create_trigger CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW +BEGIN +if isnull(new.j) then +SET new.j:= new.i * 10; +END if; +END NULL NULL 0 +statement/sql/create_trigger CREATE TRIGGER trg2 AFTER INSERT ON t2 FOR EACH ROW +BEGIN +UPDATE t1 SET i=new.id+i ; +END NULL NULL 0 +statement/sql/create_trigger CREATE TRIGGER trg3 AFTER UPDATE ON t2 FOR EACH ROW +SET @change:= @change + new.id - old.id NULL NULL 0 +statement/sql/create_trigger CREATE TRIGGER trg4 BEFORE DELETE ON t1 FOR EACH ROW +SET @del:= @del + 1 NULL NULL 0 +statement/sql/create_trigger CREATE TRIGGER trg5 AFTER DELETE ON t1 FOR EACH ROW +SET @del:= @del + 8 + old.j NULL NULL 0 +statement/sql/delete DELETE FROM t1 WHERE i=76 NULL NULL 0 +statement/sql/insert INSERT INTO t1 VALUES (10,20) NULL NULL 0 +statement/sql/select SELECT * FROM table_t NULL NULL 0 +statement/sql/select SELECT 5 * 10 NULL NULL 0 +statement/sql/select SELECT @a NULL NULL 0 +statement/sql/select SELECT @a NULL NULL 0 +statement/sql/select SELECT @change NULL NULL 0 +statement/sql/select SELECT @change NULL NULL 0 +statement/sql/select SELECT @del NULL NULL 0 +statement/sql/select SELECT @del NULL NULL 0 +statement/sql/select SELECT append("Bolly", "wood") NULL NULL 0 +statement/sql/select SELECT COUNT(*) = 0 FROM information_schema.processlist +WHERE user = 'event_scheduler' NULL NULL 0 +statement/sql/select SELECT fac(5) NULL NULL 0 +statement/sql/select SELECT wt_avg(1, 12, 1990, 1121990) NULL NULL 0 +statement/sql/set_option SET @a=1 NULL NULL 0 +statement/sql/set_option SET @change=1 NULL NULL 0 +statement/sql/set_option SET @del=1 NULL NULL 0 +statement/sql/set_option SET GLOBAL event_scheduler=OFF NULL NULL 0 +statement/sql/set_option SET GLOBAL event_scheduler=ON NULL NULL 0 +statement/sql/update UPDATE t2 SET id=22 WHERE name="Jwalamukhi" NULL NULL 0 +statement/sp/freturn NULL append STATEMENT 1 +statement/sp/stmt INSERT INTO table_t VALUES(1) e1 STATEMENT 1 +statement/sp/set NULL fac STATEMENT 1 +statement/sp/jump_if_not NULL fac STATEMENT 1 +statement/sp/set NULL fac STATEMENT 1 +statement/sp/set NULL fac STATEMENT 1 +statement/sp/jump NULL fac STATEMENT 1 +statement/sp/jump_if_not NULL fac STATEMENT 1 +statement/sp/set NULL fac STATEMENT 1 +statement/sp/set NULL fac STATEMENT 1 +statement/sp/jump NULL fac STATEMENT 1 +statement/sp/jump_if_not NULL fac STATEMENT 1 +statement/sp/set NULL fac STATEMENT 1 +statement/sp/set NULL fac STATEMENT 1 +statement/sp/jump NULL fac STATEMENT 1 +statement/sp/jump_if_not NULL fac STATEMENT 1 +statement/sp/set NULL fac STATEMENT 1 +statement/sp/set NULL fac STATEMENT 1 +statement/sp/jump NULL fac STATEMENT 1 +statement/sp/jump_if_not NULL fac STATEMENT 1 +statement/sp/freturn NULL fac STATEMENT 1 +statement/sp/stmt INSERT INTO t1 VALUES (x1, y) sampleproc1 STATEMENT 1 +statement/sp/stmt INSERT INTO t1 VALUES (x2, y) sampleproc1 STATEMENT 1 +statement/sp/set NULL sampleproc2 STATEMENT 1 +statement/sp/set NULL sampleproc2 STATEMENT 1 +statement/sp/set NULL sampleproc2 STATEMENT 1 +statement/sp/set NULL sampleproc2 STATEMENT 1 +statement/sp/stmt INSERT INTO t2 VALUES (x, z2) sampleproc2 STATEMENT 1 +statement/sp/set NULL sampleproc3 STATEMENT 1 +statement/sp/set NULL sampleproc3 STATEMENT 1 +statement/sp/set NULL sampleproc3 STATEMENT 1 +statement/sp/set NULL sampleproc3 STATEMENT 1 +statement/sp/set NULL sampleproc3 STATEMENT 1 +statement/sp/set NULL sampleproc3 STATEMENT 1 +statement/sp/set NULL sampleproc3 STATEMENT 1 +statement/sp/set NULL sampleproc3 STATEMENT 1 +statement/sp/stmt INSERT INTO t3 (n, f, s) VALUES ((ld IS NULL), 1, "ld is null"), +((li IS NULL), 1, "li is null"), +((li = 0), NULL, "li = 0"), +((lf IS NULL), 1, "lf is null"), +((lf = 0), NULL, "lf = 0"), +((ls IS NULL), 1, "ls is null") sampleproc3 STATEMENT 1 +statement/sp/stmt INSERT INTO t3 VALUES (ld, li, lf, ls) sampleproc3 STATEMENT 1 +statement/sp/set NULL sampleproc4 STATEMENT 1 +statement/sp/set NULL sampleproc4 STATEMENT 1 +statement/sp/jump_if_not NULL sampleproc4 STATEMENT 1 +statement/sp/set NULL sampleproc4 STATEMENT 1 +statement/sp/jump NULL sampleproc4 STATEMENT 1 +statement/sp/jump_if_not NULL sampleproc4 STATEMENT 1 +statement/sp/set NULL sampleproc4 STATEMENT 1 +statement/sp/jump NULL sampleproc4 STATEMENT 1 +statement/sp/jump_if_not NULL sampleproc4 STATEMENT 1 +statement/sp/stmt INSERT INTO t4(word, mean) VALUES('a','a mean') sampleproc4 STATEMENT 1 +statement/sp/stmt INSERT INTO t4(word, mean) VALUES('a','a mean') sampleproc4 STATEMENT 1 +statement/sp/jump_if_not NULL trg1 TRANSACTION 1 +statement/sp/jump_if_not NULL trg1 TRANSACTION 2 +statement/sp/jump_if_not NULL trg1 TRANSACTION 2 +statement/sp/stmt UPDATE t1 SET i=new.id+i trg2 TRANSACTION 2 +statement/sp/stmt SET @change:= @change + new.id - old.id trg3 TRANSACTION 1 +statement/sp/stmt SET @del:= @del + 1 trg4 TRANSACTION 1 +statement/sp/stmt SET @del:= @del + 8 + old.j trg5 TRANSACTION 1 +statement/sp/set NULL wt_avg STATEMENT 1 +statement/sp/set NULL wt_avg STATEMENT 1 +statement/sp/freturn NULL wt_avg STATEMENT 1 +TRUNCATE TABLE performance_schema.events_statements_history_long; +DROP PROCEDURE SampleProc1; +DROP PROCEDURE SampleProc2; +DROP PROCEDURE SampleProc3; +DROP PROCEDURE SampleProc4; +DROP FUNCTION wt_avg; +DROP FUNCTION fac; +DROP FUNCTION append; +DROP TRIGGER trg1; +DROP TRIGGER trg2; +DROP TRIGGER trg3; +DROP TRIGGER trg4; +DROP TRIGGER trg5; +DROP EVENT IF EXISTS e1; +DROP TABLE t1; +DROP TABLE t2; +DROP TABLE t3; +DROP TABLE t4; +DROP TABLE table_t; +DROP DATABASE stored_programs; +#------------------------ +# Nested stored programs. +#------------------------ +# SET-UP +CREATE DATABASE nested_sp; +USE nested_sp; +CREATE TABLE t1( +id CHAR(16) NOT NULL DEFAULT '', +data INT NOT NULL +); +CREATE TABLE t2( +n INT UNSIGNED NOT NULL, +f BIGINT UNSIGNED +); +############################ +# Creating Stored Programs # +############################ +CREATE PROCEDURE c1(x INT) +CALL c2("c", x)| +CREATE PROCEDURE c2(s CHAR(16), x INT) +CALL c3(x, s)| +CREATE PROCEDURE c3(x INT, s CHAR(16)) +CALL c4("level", x, s)| +CREATE PROCEDURE c4(l CHAR(8), x INT, s CHAR(16)) +INSERT INTO t1 VALUES (concat(l,s), x)| +CREATE PROCEDURE iotest(x1 CHAR(16), x2 CHAR(16), y INT) +BEGIN +CALL inc2(x2, y); +INSERT INTO t1 VALUES (x1, y); +END| +CREATE PROCEDURE inc2(x CHAR(16), y INT) +BEGIN +CALL inc(y); +INSERT INTO t1 VALUES (x, y); +END| +CREATE PROCEDURE inc(inout io INT) +SET io = io + 1| +CREATE FUNCTION mul(x INT, y INT) RETURNS INT +RETURN x*y| +CREATE FUNCTION inc(i INT) RETURNS INT +RETURN i+1| +CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN +DECLARE f BIGINT UNSIGNED DEFAULT 1; +WHILE n > 1 DO +SET f = f * n; +SET n = n - 1; +END WHILE; +RETURN f; +END| +CREATE FUNCTION fun(i INT, u INT UNSIGNED) RETURNS DOUBLE +RETURN mul(inc(i), fac(u))| +CREATE PROCEDURE ifac(n INT UNSIGNED) +BEGIN +DECLARE i BIGINT UNSIGNED DEFAULT 1; +IF n > 20 THEN +SET n = 20; # bigint overflow otherwise +END IF; +WHILE i <= n DO +BEGIN +INSERT INTO t2 VALUES (i, fac(i)); +SET i = i + 1; +END; +END WHILE; +END| +CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW +CALL ifac(10)| +##################### +# Executing queries # +##################### +CALL c1(42); +SELECT * FROM t1; +id data +levelc 42 +DELETE FROM t1; +CALL iotest("io1", "io2", 1); +SELECT * FROM t1 ORDER BY data DESC; +id data +io2 2 +io1 1 +DELETE FROM t1; +SELECT fun(6,10); +fun(6,10) +25401600 +INSERT INTO t1 VALUES (20,13); +SELECT * FROM t2; +n f +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +1 1 +2 2 +3 6 +4 24 +5 120 +6 720 +7 5040 +8 40320 +9 362880 +10 3628800 +SELECT EVENT_NAME, SQL_TEXT, OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL +FROM performance_schema.events_statements_history_long +WHERE CURRENT_SCHEMA='nested_sp' +ORDER BY OBJECT_NAME, NESTING_EVENT_LEVEL, SQL_TEXT, EVENT_NAME; +EVENT_NAME SQL_TEXT OBJECT_NAME NESTING_EVENT_TYPE NESTING_EVENT_LEVEL +statement/sql/call_procedure CALL c1(42) NULL NULL 0 +statement/sql/call_procedure CALL iotest("io1", "io2", 1) NULL NULL 0 +statement/sql/delete DELETE FROM t1 NULL NULL 0 +statement/sql/delete DELETE FROM t1 NULL NULL 0 +statement/sql/insert INSERT INTO t1 VALUES (20,13) NULL NULL 0 +statement/sql/select SELECT * FROM t1 NULL NULL 0 +statement/sql/select SELECT * FROM t1 ORDER BY data DESC NULL NULL 0 +statement/sql/select SELECT * FROM t2 NULL NULL 0 +statement/sql/select SELECT fun(6,10) NULL NULL 0 +statement/sp/stmt CALL c2("c", x) c1 STATEMENT 1 +statement/sp/stmt CALL c3(x, s) c2 STATEMENT 2 +statement/sp/stmt CALL c4("level", x, s) c3 STATEMENT 3 +statement/sp/stmt INSERT INTO t1 VALUES (concat(l,s), x) c4 STATEMENT 4 +statement/sp/freturn NULL fac STATEMENT 2 +statement/sp/jump NULL fac STATEMENT 2 +statement/sp/jump NULL fac STATEMENT 2 +statement/sp/jump NULL fac STATEMENT 2 +statement/sp/jump NULL fac STATEMENT 2 +statement/sp/jump NULL fac STATEMENT 2 +statement/sp/jump NULL fac STATEMENT 2 +statement/sp/jump NULL fac STATEMENT 2 +statement/sp/jump NULL fac STATEMENT 2 +statement/sp/jump NULL fac STATEMENT 2 +statement/sp/jump_if_not NULL fac STATEMENT 2 +statement/sp/jump_if_not NULL fac STATEMENT 2 +statement/sp/jump_if_not NULL fac STATEMENT 2 +statement/sp/jump_if_not NULL fac STATEMENT 2 +statement/sp/jump_if_not NULL fac STATEMENT 2 +statement/sp/jump_if_not NULL fac STATEMENT 2 +statement/sp/jump_if_not NULL fac STATEMENT 2 +statement/sp/jump_if_not NULL fac STATEMENT 2 +statement/sp/jump_if_not NULL fac STATEMENT 2 +statement/sp/jump_if_not NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/set NULL fac STATEMENT 2 +statement/sp/freturn NULL fac STATEMENT 3 +statement/sp/freturn NULL fac STATEMENT 3 +statement/sp/freturn NULL fac STATEMENT 3 +statement/sp/freturn NULL fac STATEMENT 3 +statement/sp/freturn NULL fac STATEMENT 3 +statement/sp/freturn NULL fac STATEMENT 3 +statement/sp/freturn NULL fac STATEMENT 3 +statement/sp/freturn NULL fac STATEMENT 3 +statement/sp/freturn NULL fac STATEMENT 3 +statement/sp/freturn NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/jump_if_not NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/set NULL fac STATEMENT 3 +statement/sp/freturn NULL fac STATEMENT 4 +statement/sp/freturn NULL fac STATEMENT 4 +statement/sp/freturn NULL fac STATEMENT 4 +statement/sp/freturn NULL fac STATEMENT 4 +statement/sp/freturn NULL fac STATEMENT 4 +statement/sp/freturn NULL fac STATEMENT 4 +statement/sp/freturn NULL fac STATEMENT 4 +statement/sp/freturn NULL fac STATEMENT 4 +statement/sp/freturn NULL fac STATEMENT 4 +statement/sp/freturn NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/jump_if_not NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/set NULL fac STATEMENT 4 +statement/sp/freturn NULL fac STATEMENT 5 +statement/sp/freturn NULL fac STATEMENT 5 +statement/sp/freturn NULL fac STATEMENT 5 +statement/sp/freturn NULL fac STATEMENT 5 +statement/sp/freturn NULL fac STATEMENT 5 +statement/sp/freturn NULL fac STATEMENT 5 +statement/sp/freturn NULL fac STATEMENT 5 +statement/sp/freturn NULL fac STATEMENT 5 +statement/sp/freturn NULL fac STATEMENT 5 +statement/sp/freturn NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/jump_if_not NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/set NULL fac STATEMENT 5 +statement/sp/freturn NULL fac STATEMENT 7 +statement/sp/freturn NULL fac STATEMENT 7 +statement/sp/freturn NULL fac STATEMENT 7 +statement/sp/freturn NULL fac STATEMENT 7 +statement/sp/freturn NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/jump_if_not NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/set NULL fac STATEMENT 7 +statement/sp/freturn NULL fun STATEMENT 1 +statement/sp/jump NULL ifac STATEMENT 2 +statement/sp/jump NULL ifac STATEMENT 2 +statement/sp/jump NULL ifac STATEMENT 2 +statement/sp/jump NULL ifac STATEMENT 2 +statement/sp/jump NULL ifac STATEMENT 2 +statement/sp/jump NULL ifac STATEMENT 2 +statement/sp/jump NULL ifac STATEMENT 2 +statement/sp/jump NULL ifac STATEMENT 2 +statement/sp/jump NULL ifac STATEMENT 2 +statement/sp/jump NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/jump_if_not NULL ifac STATEMENT 2 +statement/sp/set NULL ifac STATEMENT 2 +statement/sp/set NULL ifac STATEMENT 2 +statement/sp/set NULL ifac STATEMENT 2 +statement/sp/set NULL ifac STATEMENT 2 +statement/sp/set NULL ifac STATEMENT 2 +statement/sp/set NULL ifac STATEMENT 2 +statement/sp/set NULL ifac STATEMENT 2 +statement/sp/set NULL ifac STATEMENT 2 +statement/sp/set NULL ifac STATEMENT 2 +statement/sp/set NULL ifac STATEMENT 2 +statement/sp/set NULL ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 2 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 2 +statement/sp/jump NULL ifac STATEMENT 3 +statement/sp/jump NULL ifac STATEMENT 3 +statement/sp/jump NULL ifac STATEMENT 3 +statement/sp/jump NULL ifac STATEMENT 3 +statement/sp/jump NULL ifac STATEMENT 3 +statement/sp/jump NULL ifac STATEMENT 3 +statement/sp/jump NULL ifac STATEMENT 3 +statement/sp/jump NULL ifac STATEMENT 3 +statement/sp/jump NULL ifac STATEMENT 3 +statement/sp/jump NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/jump_if_not NULL ifac STATEMENT 3 +statement/sp/set NULL ifac STATEMENT 3 +statement/sp/set NULL ifac STATEMENT 3 +statement/sp/set NULL ifac STATEMENT 3 +statement/sp/set NULL ifac STATEMENT 3 +statement/sp/set NULL ifac STATEMENT 3 +statement/sp/set NULL ifac STATEMENT 3 +statement/sp/set NULL ifac STATEMENT 3 +statement/sp/set NULL ifac STATEMENT 3 +statement/sp/set NULL ifac STATEMENT 3 +statement/sp/set NULL ifac STATEMENT 3 +statement/sp/set NULL ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 3 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 3 +statement/sp/jump NULL ifac STATEMENT 4 +statement/sp/jump NULL ifac STATEMENT 4 +statement/sp/jump NULL ifac STATEMENT 4 +statement/sp/jump NULL ifac STATEMENT 4 +statement/sp/jump NULL ifac STATEMENT 4 +statement/sp/jump NULL ifac STATEMENT 4 +statement/sp/jump NULL ifac STATEMENT 4 +statement/sp/jump NULL ifac STATEMENT 4 +statement/sp/jump NULL ifac STATEMENT 4 +statement/sp/jump NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/jump_if_not NULL ifac STATEMENT 4 +statement/sp/set NULL ifac STATEMENT 4 +statement/sp/set NULL ifac STATEMENT 4 +statement/sp/set NULL ifac STATEMENT 4 +statement/sp/set NULL ifac STATEMENT 4 +statement/sp/set NULL ifac STATEMENT 4 +statement/sp/set NULL ifac STATEMENT 4 +statement/sp/set NULL ifac STATEMENT 4 +statement/sp/set NULL ifac STATEMENT 4 +statement/sp/set NULL ifac STATEMENT 4 +statement/sp/set NULL ifac STATEMENT 4 +statement/sp/set NULL ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 4 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 4 +statement/sp/jump NULL ifac STATEMENT 6 +statement/sp/jump NULL ifac STATEMENT 6 +statement/sp/jump NULL ifac STATEMENT 6 +statement/sp/jump NULL ifac STATEMENT 6 +statement/sp/jump NULL ifac STATEMENT 6 +statement/sp/jump NULL ifac STATEMENT 6 +statement/sp/jump_if_not NULL ifac STATEMENT 6 +statement/sp/jump_if_not NULL ifac STATEMENT 6 +statement/sp/jump_if_not NULL ifac STATEMENT 6 +statement/sp/jump_if_not NULL ifac STATEMENT 6 +statement/sp/jump_if_not NULL ifac STATEMENT 6 +statement/sp/jump_if_not NULL ifac STATEMENT 6 +statement/sp/set NULL ifac STATEMENT 6 +statement/sp/set NULL ifac STATEMENT 6 +statement/sp/set NULL ifac STATEMENT 6 +statement/sp/set NULL ifac STATEMENT 6 +statement/sp/set NULL ifac STATEMENT 6 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 6 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 6 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 6 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 6 +statement/sp/stmt INSERT INTO t2 VALUES (i, fac(i)) ifac STATEMENT 6 +statement/sp/freturn NULL inc STATEMENT 2 +statement/sp/set NULL inc STATEMENT 3 +statement/sp/stmt CALL inc(y) inc2 STATEMENT 2 +statement/sp/stmt INSERT INTO t1 VALUES (x, y) inc2 STATEMENT 2 +statement/sp/stmt CALL inc2(x2, y) iotest STATEMENT 1 +statement/sp/stmt INSERT INTO t1 VALUES (x1, y) iotest STATEMENT 1 +statement/sp/freturn NULL mul STATEMENT 2 +statement/sp/stmt CALL ifac(10) trg TRANSACTION 1 +statement/sp/stmt CALL ifac(10) trg TRANSACTION 2 +statement/sp/stmt CALL ifac(10) trg TRANSACTION 3 +statement/sp/stmt CALL ifac(10) trg TRANSACTION 5 +TRUNCATE TABLE performance_schema.events_statements_history_long; +DROP PROCEDURE c4; +DROP PROCEDURE c3; +DROP PROCEDURE c2; +DROP PROCEDURE c1; +DROP PROCEDURE inc; +DROP PROCEDURE inc2; +DROP PROCEDURE iotest; +DROP FUNCTION mul; +DROP FUNCTION inc; +DROP FUNCTION fac; +DROP FUNCTION fun; +DROP PROCEDURE ifac; +DROP TRIGGER trg; +DROP TABLE t1,t2; +DROP DATABASE nested_sp; diff --git a/mysql-test/suite/perfschema/r/statement_program_non_nested.result b/mysql-test/suite/perfschema/r/statement_program_non_nested.result new file mode 100644 index 00000000000..16e47b52927 --- /dev/null +++ b/mysql-test/suite/perfschema/r/statement_program_non_nested.result @@ -0,0 +1,706 @@ +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; +################################################ +# Quering PS statement summary and history_long# +################################################ +# SET-UP +CREATE DATABASE stored_programs; +USE stored_programs; +CREATE TABLE t1( +i INT NOT NULL, +j INT +); +CREATE TABLE t2( +name CHAR(16) NOT NULL DEFAULT '', +id INT NOT NULL +); +CREATE TABLE t3( +d DATE, +n INT, +f DOUBLE, +s VARCHAR(32) +); +CREATE TABLE t4( +`k` int(10) unsigned NOT NULL AUTO_INCREMENT, +`word` varchar(100) NOT NULL, +`mean` varchar(300) NOT NULL, +PRIMARY KEY (`k`) +); +############################ +# Creating Stored Programs # +############################ +# Stored Routine ( Procedure & Function ) +CREATE PROCEDURE SampleProc1(x1 INT, x2 INT, y INT) +BEGIN +INSERT INTO t1 VALUES (x1, y); +INSERT INTO t1 VALUES (x2, y); +END| +CREATE PROCEDURE SampleProc2(x CHAR(16), y INT) +BEGIN +DECLARE z1, z2 INT; +SET z1 = y; +SET z2 = z1+2; +INSERT INTO t2 VALUES (x, z2); +END| +CREATE PROCEDURE SampleProc3() +BEGIN +DECLARE ld DATE; +DECLARE li INT; +DECLARE lf DOUBLE; +DECLARE ls VARCHAR(32); +SET ld = NULL, li = NULL, lf = NULL, ls = NULL; +INSERT INTO t3 VALUES (ld, li, lf, ls); +INSERT INTO t3 (n, f, s) VALUES ((ld IS NULL), 1, "ld is null"), +((li IS NULL), 1, "li is null"), +((li = 0), NULL, "li = 0"), +((lf IS NULL), 1, "lf is null"), +((lf = 0), NULL, "lf = 0"), +((ls IS NULL), 1, "ls is null"); +END| +CREATE PROCEDURE SampleProc4() +BEGIN +DECLARE x INT; +SET x = 1; +WHILE x <= 2 DO +INSERT INTO t4(word, mean) VALUES('a','a mean'); +SET x = x + 1; +END WHILE; +END| +CREATE FUNCTION append(s1 CHAR(8), s2 CHAR(8)) RETURNS CHAR(16) +RETURN concat(s1, s2)| +CREATE FUNCTION wt_avg(n1 INT, n2 INT, n3 INT, n4 INT) +RETURNS INT +DETERMINISTIC +BEGIN +DECLARE avg INT; +SET avg = (n1+n2+n3*2+n4*4)/8; +RETURN avg; +END| +CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN +DECLARE f BIGINT UNSIGNED DEFAULT 1; +WHILE n > 1 DO +SET f = f * n; +SET n = n - 1; +END WHILE; +RETURN f; +END| +# Triggers +CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW +BEGIN +if isnull(new.j) then +SET new.j:= new.i * 10; +END if; +END| +CREATE TRIGGER trg2 AFTER INSERT ON t2 FOR EACH ROW +BEGIN +UPDATE t1 SET i=new.id+i ; +END| +CREATE TRIGGER trg3 AFTER UPDATE ON t2 FOR EACH ROW +SET @change:= @change + new.id - old.id| +CREATE TRIGGER trg4 BEFORE DELETE ON t1 FOR EACH ROW +SET @del:= @del + 1| +CREATE TRIGGER trg5 AFTER DELETE ON t1 FOR EACH ROW +SET @del:= @del + 8 + old.j| +##################### +# Executing queries # +##################### +INSERT INTO t1 VALUES (10,20); +CALL SampleProc1(30,40,50); +SET @a=1; +SELECT @a; +@a +1 +CALL SampleProc2("Jwalamukhi",34); +SELECT @a; +@a +1 +CALL SampleProc3(); +CALL SampleProc4(); +SET @change=1; +SELECT @change; +@change +1 +UPDATE t2 SET id=22 WHERE name="Jwalamukhi"; +SELECT @change; +@change +-13 +SET @del=1; +SELECT @del; +@del +1 +DELETE FROM t1 WHERE i=76; +SELECT @del; +@del +60 +SELECT wt_avg(1, 12, 1990, 1121990); +wt_avg(1, 12, 1990, 1121990) +561494 +SELECT fac(5); +fac(5) +120 +SELECT append("Bolly", "wood"); +append("Bolly", "wood") +Bollywood +# Event +SET GLOBAL event_scheduler=ON; +CREATE TABLE table_t(a INT); +CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO +BEGIN +INSERT INTO table_t VALUES(1); +END| +SELECT * FROM table_t; +a +1 +SET GLOBAL event_scheduler=OFF; +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS +FROM performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='stored_programs' ORDER BY OBJECT_NAME; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_STATEMENTS +FUNCTION stored_programs append 1 1 +EVENT stored_programs e1 1 1 +FUNCTION stored_programs fac 1 19 +PROCEDURE stored_programs sampleproc1 1 2 +PROCEDURE stored_programs sampleproc2 1 5 +PROCEDURE stored_programs sampleproc3 1 10 +PROCEDURE stored_programs sampleproc4 1 11 +TRIGGER stored_programs trg1 3 3 +TRIGGER stored_programs trg2 1 1 +TRIGGER stored_programs trg3 1 1 +TRIGGER stored_programs trg4 1 1 +TRIGGER stored_programs trg5 1 1 +FUNCTION stored_programs wt_avg 1 3 +SELECT EVENT_NAME, SQL_TEXT, CURRENT_SCHEMA, OBJECT_TYPE, OBJECT_SCHEMA, +OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL FROM +performance_schema.events_statements_history_long WHERE +CURRENT_SCHEMA='stored_programs' AND +(SQL_TEXT not like '%count(*) = 1%' OR SQL_TEXT IS NULL) +ORDER BY OBJECT_NAME, NESTING_EVENT_LEVEL, SQL_TEXT; +EVENT_NAME SQL_TEXT CURRENT_SCHEMA OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME NESTING_EVENT_TYPE NESTING_EVENT_LEVEL +statement/scheduler/event NULL stored_programs NULL NULL NULL NULL 0 +statement/sql/call_procedure CALL SampleProc1(30,40,50) stored_programs NULL NULL NULL NULL 0 +statement/sql/call_procedure CALL SampleProc2("Jwalamukhi",34) stored_programs NULL NULL NULL NULL 0 +statement/sql/call_procedure CALL SampleProc3() stored_programs NULL NULL NULL NULL 0 +statement/sql/call_procedure CALL SampleProc4() stored_programs NULL NULL NULL NULL 0 +statement/sql/create_event CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO +BEGIN +INSERT INTO table_t VALUES(1); +END stored_programs NULL NULL NULL NULL 0 +statement/sql/create_function CREATE FUNCTION append(s1 CHAR(8), s2 CHAR(8)) RETURNS CHAR(16) +RETURN concat(s1, s2) stored_programs NULL NULL NULL NULL 0 +statement/sql/create_function CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN +DECLARE f BIGINT UNSIGNED DEFAULT 1; +WHILE n > 1 DO +SET f = f * n; +SET n = n - 1; +END WHILE; +RETURN f; +END stored_programs NULL NULL NULL NULL 0 +statement/sql/create_function CREATE FUNCTION wt_avg(n1 INT, n2 INT, n3 INT, n4 INT) +RETURNS INT +DETERMINISTIC +BEGIN +DECLARE avg INT; +SET avg = (n1+n2+n3*2+n4*4)/8; +RETURN avg; +END stored_programs NULL NULL NULL NULL 0 +statement/sql/create_procedure CREATE PROCEDURE SampleProc1(x1 INT, x2 INT, y INT) +BEGIN +INSERT INTO t1 VALUES (x1, y); +INSERT INTO t1 VALUES (x2, y); +END stored_programs NULL NULL NULL NULL 0 +statement/sql/create_procedure CREATE PROCEDURE SampleProc2(x CHAR(16), y INT) +BEGIN +DECLARE z1, z2 INT; +SET z1 = y; +SET z2 = z1+2; +INSERT INTO t2 VALUES (x, z2); +END stored_programs NULL NULL NULL NULL 0 +statement/sql/create_procedure CREATE PROCEDURE SampleProc3() +BEGIN +DECLARE ld DATE; +DECLARE li INT; +DECLARE lf DOUBLE; +DECLARE ls VARCHAR(32); +SET ld = NULL, li = NULL, lf = NULL, ls = NULL; +INSERT INTO t3 VALUES (ld, li, lf, ls); +INSERT INTO t3 (n, f, s) VALUES ((ld IS NULL), 1, "ld is null"), +((li IS NULL), 1, "li is null"), +((li = 0), NULL, "li = 0"), +((lf IS NULL), 1, "lf is null"), +((lf = 0), NULL, "lf = 0"), +((ls IS NULL), 1, "ls is null"); +END stored_programs NULL NULL NULL NULL 0 +statement/sql/create_procedure CREATE PROCEDURE SampleProc4() +BEGIN +DECLARE x INT; +SET x = 1; +WHILE x <= 2 DO +INSERT INTO t4(word, mean) VALUES('a','a mean'); +SET x = x + 1; +END WHILE; +END stored_programs NULL NULL NULL NULL 0 +statement/sql/create_table CREATE TABLE t1( +i INT NOT NULL, +j INT +) stored_programs NULL NULL NULL NULL 0 +statement/sql/create_table CREATE TABLE t2( +name CHAR(16) NOT NULL DEFAULT '', +id INT NOT NULL +) stored_programs NULL NULL NULL NULL 0 +statement/sql/create_table CREATE TABLE t3( +d DATE, +n INT, +f DOUBLE, +s VARCHAR(32) +) stored_programs NULL NULL NULL NULL 0 +statement/sql/create_table CREATE TABLE t4( +`k` int(10) unsigned NOT NULL AUTO_INCREMENT, +`word` varchar(100) NOT NULL, +`mean` varchar(300) NOT NULL, +PRIMARY KEY (`k`) +) stored_programs NULL NULL NULL NULL 0 +statement/sql/create_table CREATE TABLE table_t(a INT) stored_programs NULL NULL NULL NULL 0 +statement/sql/create_trigger CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW +BEGIN +if isnull(new.j) then +SET new.j:= new.i * 10; +END if; +END stored_programs NULL NULL NULL NULL 0 +statement/sql/create_trigger CREATE TRIGGER trg2 AFTER INSERT ON t2 FOR EACH ROW +BEGIN +UPDATE t1 SET i=new.id+i ; +END stored_programs NULL NULL NULL NULL 0 +statement/sql/create_trigger CREATE TRIGGER trg3 AFTER UPDATE ON t2 FOR EACH ROW +SET @change:= @change + new.id - old.id stored_programs NULL NULL NULL NULL 0 +statement/sql/create_trigger CREATE TRIGGER trg4 BEFORE DELETE ON t1 FOR EACH ROW +SET @del:= @del + 1 stored_programs NULL NULL NULL NULL 0 +statement/sql/create_trigger CREATE TRIGGER trg5 AFTER DELETE ON t1 FOR EACH ROW +SET @del:= @del + 8 + old.j stored_programs NULL NULL NULL NULL 0 +statement/sql/delete DELETE FROM t1 WHERE i=76 stored_programs NULL NULL NULL NULL 0 +statement/sql/insert INSERT INTO t1 VALUES (10,20) stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT * FROM table_t stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT 5 * 10 stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT @a stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT @a stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT @change stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT @change stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT @del stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT @del stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT append("Bolly", "wood") stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT COUNT(*) = 0 FROM information_schema.processlist +WHERE user = 'event_scheduler' stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT fac(5) stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS +FROM performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='stored_programs' ORDER BY OBJECT_NAME stored_programs NULL NULL NULL NULL 0 +statement/sql/select SELECT wt_avg(1, 12, 1990, 1121990) stored_programs NULL NULL NULL NULL 0 +statement/sql/set_option SET @a=1 stored_programs NULL NULL NULL NULL 0 +statement/sql/set_option SET @change=1 stored_programs NULL NULL NULL NULL 0 +statement/sql/set_option SET @del=1 stored_programs NULL NULL NULL NULL 0 +statement/sql/set_option SET GLOBAL event_scheduler=OFF stored_programs NULL NULL NULL NULL 0 +statement/sql/set_option SET GLOBAL event_scheduler=ON stored_programs NULL NULL NULL NULL 0 +statement/sql/update UPDATE t2 SET id=22 WHERE name="Jwalamukhi" stored_programs NULL NULL NULL NULL 0 +statement/sp/freturn NULL stored_programs FUNCTION stored_programs append STATEMENT 1 +statement/sp/stmt INSERT INTO table_t VALUES(1) stored_programs EVENT stored_programs e1 STATEMENT 1 +statement/sp/set NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/jump_if_not NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/set NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/set NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/jump NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/jump_if_not NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/set NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/set NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/jump NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/jump_if_not NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/set NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/set NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/jump NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/jump_if_not NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/set NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/set NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/jump NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/jump_if_not NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/freturn NULL stored_programs FUNCTION stored_programs fac STATEMENT 1 +statement/sp/stmt INSERT INTO t1 VALUES (x1, y) stored_programs PROCEDURE stored_programs sampleproc1 STATEMENT 1 +statement/sp/stmt INSERT INTO t1 VALUES (x2, y) stored_programs PROCEDURE stored_programs sampleproc1 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc2 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc2 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc2 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc2 STATEMENT 1 +statement/sp/stmt INSERT INTO t2 VALUES (x, z2) stored_programs PROCEDURE stored_programs sampleproc2 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc3 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc3 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc3 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc3 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc3 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc3 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc3 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc3 STATEMENT 1 +statement/sp/stmt INSERT INTO t3 (n, f, s) VALUES ((ld IS NULL), 1, "ld is null"), +((li IS NULL), 1, "li is null"), +((li = 0), NULL, "li = 0"), +((lf IS NULL), 1, "lf is null"), +((lf = 0), NULL, "lf = 0"), +((ls IS NULL), 1, "ls is null") stored_programs PROCEDURE stored_programs sampleproc3 STATEMENT 1 +statement/sp/stmt INSERT INTO t3 VALUES (ld, li, lf, ls) stored_programs PROCEDURE stored_programs sampleproc3 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc4 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc4 STATEMENT 1 +statement/sp/jump_if_not NULL stored_programs PROCEDURE stored_programs sampleproc4 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc4 STATEMENT 1 +statement/sp/jump NULL stored_programs PROCEDURE stored_programs sampleproc4 STATEMENT 1 +statement/sp/jump_if_not NULL stored_programs PROCEDURE stored_programs sampleproc4 STATEMENT 1 +statement/sp/set NULL stored_programs PROCEDURE stored_programs sampleproc4 STATEMENT 1 +statement/sp/jump NULL stored_programs PROCEDURE stored_programs sampleproc4 STATEMENT 1 +statement/sp/jump_if_not NULL stored_programs PROCEDURE stored_programs sampleproc4 STATEMENT 1 +statement/sp/stmt INSERT INTO t4(word, mean) VALUES('a','a mean') stored_programs PROCEDURE stored_programs sampleproc4 STATEMENT 1 +statement/sp/stmt INSERT INTO t4(word, mean) VALUES('a','a mean') stored_programs PROCEDURE stored_programs sampleproc4 STATEMENT 1 +statement/sp/jump_if_not NULL stored_programs TRIGGER stored_programs trg1 TRANSACTION 1 +statement/sp/jump_if_not NULL stored_programs TRIGGER stored_programs trg1 TRANSACTION 2 +statement/sp/jump_if_not NULL stored_programs TRIGGER stored_programs trg1 TRANSACTION 2 +statement/sp/stmt UPDATE t1 SET i=new.id+i stored_programs TRIGGER stored_programs trg2 TRANSACTION 2 +statement/sp/stmt SET @change:= @change + new.id - old.id stored_programs TRIGGER stored_programs trg3 TRANSACTION 1 +statement/sp/stmt SET @del:= @del + 1 stored_programs TRIGGER stored_programs trg4 TRANSACTION 1 +statement/sp/stmt SET @del:= @del + 8 + old.j stored_programs TRIGGER stored_programs trg5 TRANSACTION 1 +statement/sp/set NULL stored_programs FUNCTION stored_programs wt_avg STATEMENT 1 +statement/sp/set NULL stored_programs FUNCTION stored_programs wt_avg STATEMENT 1 +statement/sp/freturn NULL stored_programs FUNCTION stored_programs wt_avg STATEMENT 1 +# clean -up +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS +FROM performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='stored_programs' ORDER BY OBJECT_NAME; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_STATEMENTS +FUNCTION stored_programs append 0 0 +EVENT stored_programs e1 0 0 +FUNCTION stored_programs fac 0 0 +PROCEDURE stored_programs sampleproc1 0 0 +PROCEDURE stored_programs sampleproc2 0 0 +PROCEDURE stored_programs sampleproc3 0 0 +PROCEDURE stored_programs sampleproc4 0 0 +TRIGGER stored_programs trg1 0 0 +TRIGGER stored_programs trg2 0 0 +TRIGGER stored_programs trg3 0 0 +TRIGGER stored_programs trg4 0 0 +TRIGGER stored_programs trg5 0 0 +FUNCTION stored_programs wt_avg 0 0 +DROP PROCEDURE SampleProc1; +DROP PROCEDURE SampleProc2; +DROP PROCEDURE SampleProc3; +DROP PROCEDURE SampleProc4; +DROP FUNCTION wt_avg; +DROP FUNCTION fac; +DROP FUNCTION append; +DROP TRIGGER trg1; +DROP TRIGGER trg2; +DROP TRIGGER trg3; +DROP TRIGGER trg4; +DROP TRIGGER trg5; +DROP EVENT IF EXISTS e1; +DROP TABLE t1; +DROP TABLE t2; +DROP TABLE t3; +DROP TABLE t4; +DROP TABLE table_t; +DROP DATABASE stored_programs; +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS +FROM performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='stored_programs' ORDER BY OBJECT_NAME; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_STATEMENTS +# SET-UP +CREATE DATABASE stored_programs; +USE stored_programs; +CREATE TABLE t1( +i INT NOT NULL, +j INT +); +CREATE TABLE t2( +name CHAR(16) NOT NULL DEFAULT '', +id INT NOT NULL +); +CREATE TABLE t3( +d DATE, +n INT, +f DOUBLE, +s VARCHAR(32) +); +CREATE TABLE t4( +`k` int(10) unsigned NOT NULL AUTO_INCREMENT, +`word` varchar(100) NOT NULL, +`mean` varchar(300) NOT NULL, +PRIMARY KEY (`k`) +); +############################ +# Creating Stored Programs # +############################ +# Stored Routine ( Procedure & Function ) +CREATE PROCEDURE SampleProc1(x1 INT, x2 INT, y INT) +BEGIN +INSERT INTO t1 VALUES (x1, y); +INSERT INTO t1 VALUES (x2, y); +END| +CREATE PROCEDURE SampleProc2(x CHAR(16), y INT) +BEGIN +DECLARE z1, z2 INT; +SET z1 = y; +SET z2 = z1+2; +INSERT INTO t2 VALUES (x, z2); +END| +CREATE PROCEDURE SampleProc3() +BEGIN +DECLARE ld DATE; +DECLARE li INT; +DECLARE lf DOUBLE; +DECLARE ls VARCHAR(32); +SET ld = NULL, li = NULL, lf = NULL, ls = NULL; +INSERT INTO t3 VALUES (ld, li, lf, ls); +INSERT INTO t3 (n, f, s) VALUES ((ld IS NULL), 1, "ld is null"), +((li IS NULL), 1, "li is null"), +((li = 0), NULL, "li = 0"), +((lf IS NULL), 1, "lf is null"), +((lf = 0), NULL, "lf = 0"), +((ls IS NULL), 1, "ls is null"); +END| +CREATE PROCEDURE SampleProc4() +BEGIN +DECLARE x INT; +SET x = 1; +WHILE x <= 2 DO +INSERT INTO t4(word, mean) VALUES('a','a mean'); +SET x = x + 1; +END WHILE; +END| +CREATE FUNCTION append(s1 CHAR(8), s2 CHAR(8)) RETURNS CHAR(16) +RETURN concat(s1, s2)| +CREATE FUNCTION wt_avg(n1 INT, n2 INT, n3 INT, n4 INT) +RETURNS INT +DETERMINISTIC +BEGIN +DECLARE avg INT; +SET avg = (n1+n2+n3*2+n4*4)/8; +RETURN avg; +END| +CREATE FUNCTION fac(n INT UNSIGNED) RETURNS BIGINT UNSIGNED +BEGIN +DECLARE f BIGINT UNSIGNED DEFAULT 1; +WHILE n > 1 DO +SET f = f * n; +SET n = n - 1; +END WHILE; +RETURN f; +END| +# Triggers +CREATE TRIGGER trg1 BEFORE INSERT ON t1 FOR EACH ROW +BEGIN +if isnull(new.j) then +SET new.j:= new.i * 10; +END if; +END| +CREATE TRIGGER trg2 AFTER INSERT ON t2 FOR EACH ROW +BEGIN +UPDATE t1 SET i=new.id+i ; +END| +CREATE TRIGGER trg3 AFTER UPDATE ON t2 FOR EACH ROW +SET @change:= @change + new.id - old.id| +CREATE TRIGGER trg4 BEFORE DELETE ON t1 FOR EACH ROW +SET @del:= @del + 1| +CREATE TRIGGER trg5 AFTER DELETE ON t1 FOR EACH ROW +SET @del:= @del + 8 + old.j| +update performance_schema.setup_instruments set enabled='YES', timed='NO' + where name like "statement/sp/%" order by name; +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; +##################### +# Executing queries # +##################### +INSERT INTO t1 VALUES (10,20); +CALL SampleProc1(30,40,50); +SET @a=1; +SELECT @a; +@a +1 +CALL SampleProc2("Jwalamukhi",34); +SELECT @a; +@a +1 +CALL SampleProc3(); +CALL SampleProc4(); +SET @change=1; +SELECT @change; +@change +1 +UPDATE t2 SET id=22 WHERE name="Jwalamukhi"; +SELECT @change; +@change +-13 +SET @del=1; +SELECT @del; +@del +1 +DELETE FROM t1 WHERE i=76; +SELECT @del; +@del +60 +SELECT wt_avg(1, 12, 1990, 1121990); +wt_avg(1, 12, 1990, 1121990) +561494 +SELECT fac(5); +fac(5) +120 +SELECT append("Bolly", "wood"); +append("Bolly", "wood") +Bollywood +# Event +SET GLOBAL event_scheduler=ON; +CREATE TABLE table_t(a INT); +CREATE EVENT e1 ON SCHEDULE EVERY 2 SECOND DO +BEGIN +INSERT INTO table_t VALUES(1); +END| +SELECT * FROM table_t; +a +1 +SET GLOBAL event_scheduler=OFF; +SELECT EVENT_NAME, TIMER_START, TIMER_END, TIMER_WAIT FROM +performance_schema.events_statements_history_long WHERE +CURRENT_SCHEMA='stored_programs' AND EVENT_NAME like "statement/sp/%"; +EVENT_NAME TIMER_START TIMER_END TIMER_WAIT +statement/sp/jump_if_not NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/stmt NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/set NULL NULL NULL +statement/sp/jump NULL NULL NULL +statement/sp/jump_if_not NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/freturn NULL NULL NULL +statement/sp/stmt NULL NULL NULL +update performance_schema.setup_instruments set enabled='YES', timed='YES' + where name like "statement/sp/%" order by name; +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; +DROP PROCEDURE SampleProc1; +DROP PROCEDURE SampleProc2; +DROP PROCEDURE SampleProc3; +DROP PROCEDURE SampleProc4; +DROP FUNCTION wt_avg; +DROP FUNCTION fac; +DROP FUNCTION append; +DROP TRIGGER trg1; +DROP TRIGGER trg2; +DROP TRIGGER trg3; +DROP TRIGGER trg4; +DROP TRIGGER trg5; +DROP EVENT IF EXISTS e1; +DROP TABLE t1; +DROP TABLE t2; +DROP TABLE t3; +DROP TABLE t4; +DROP TABLE table_t; +DROP DATABASE stored_programs; +# set-up +CREATE DATABASE sp; +USE sp; +CREATE TABLE t1( +a INT, +b INT +); +# let the creation of the following stored programs fail +CREATE PROCEDURE fail1(IN a INT OUT x CHAR(16)) +SET a=1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OUT x CHAR(16)) +SET a=1' at line 1 +CREATE FUNCTION fail2(a INT , b INT) RETURNS INT +x=SELECT COUNT(*) FROM t; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=SELECT COUNT(*) FROM t' at line 2 +CREATE EVENT fail3 SCHEDULE EVERY MICROSECOND DO +DROP TABLE t; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SCHEDULE EVERY MICROSECOND DO +DROP TABLE t' at line 1 +# the below query on PS table doesn't show any rows +# as the creation of stored programs failed +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS +FROM performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='sp'; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_STATEMENTS +# create few stored programs +CREATE PROCEDURE p(x1 INT, x2 INT) +BEGIN +INSERT INTO t1 VALUES (x1, x2); +END| +CREATE FUNCTION f(y1 INT, y2 INT) RETURNS INT +RETURN y1+y2; +CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW +SET @neg=-1; +# execute the created stored programs such that they fail. +CALL p(7); +ERROR 42000: Incorrect number of arguments for PROCEDURE sp.p; expected 2, got 1 +SELECT f("add",1,3); +ERROR 42000: Incorrect number of arguments for FUNCTION sp.f; expected 2, got 3 +INSERT INTO t1; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 +# the below query on PS table doesn't expose any statistics as +# execution of the created stored porgrams failed. +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS +FROM performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='sp'; +OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME COUNT_STAR COUNT_STATEMENTS +PROCEDURE sp p 0 0 +FUNCTION sp f 0 0 +#clean-up +DROP PROCEDURE p; +DROP FUNCTION f; +DROP TRIGGER trg; +DROP TABLE t1; +DROP DATABASE sp; diff --git a/mysql-test/suite/perfschema/r/status_reprepare.result b/mysql-test/suite/perfschema/r/status_reprepare.result new file mode 100644 index 00000000000..222f0bc7aa8 --- /dev/null +++ b/mysql-test/suite/perfschema/r/status_reprepare.result @@ -0,0 +1,44 @@ + +================================================================================ +SETUP +================================================================================ +# Save current SHOW_COMPATIBILITY_56 setting +SELECT @@global.show_compatibility_56 INTO @show_compatibility_56_save; +SET @@global.show_compatibility_56=OFF; +CREATE TABLE test.t1 (c1 INT); +PREPARE stmt1 FROM "SELECT c1 FROM test.t1"; +EXECUTE stmt1; +c1 +SHOW SESSION STATUS LIKE "%com_stmt_%prepare%"; +Variable_name Value +Com_stmt_prepare 1 +Com_stmt_reprepare 0 +SELECT * FROM performance_schema.session_status WHERE VARIABLE_NAME LIKE "%com_stmt%"; +VARIABLE_NAME VARIABLE_VALUE +Com_stmt_reprepare 0 +SELECT VARIABLE_VALUE FROM performance_schema.global_status +WHERE VARIABLE_NAME LIKE "Com_stmt_reprepare" + INTO @count_global_reprepare_before; +ALTER TABLE test.t1 ADD COLUMN c2 INTEGER; +EXECUTE stmt1; +c1 +SHOW SESSION STATUS LIKE "%com_stmt_%prepare%"; +Variable_name Value +Com_stmt_prepare 2 +Com_stmt_reprepare 1 +SELECT * FROM performance_schema.session_status WHERE VARIABLE_NAME LIKE "%com_stmt%"; +VARIABLE_NAME VARIABLE_VALUE +Com_stmt_reprepare 1 +SELECT VARIABLE_VALUE FROM performance_schema.global_status +WHERE VARIABLE_NAME LIKE "Com_stmt_reprepare" + INTO @count_global_reprepare_after; +SELECT @count_global_reprepare_after - @count_global_reprepare_before; +@count_global_reprepare_after - @count_global_reprepare_before +1 + +================================================================================ +CLEANUP +================================================================================ +DROP TABLE test.t1; +# Restore SHOW_COMPATIBILITY_56 setting +SET @@global.show_compatibility_56 = @show_compatibility_56_save; diff --git a/mysql-test/suite/perfschema/r/sxlock_func.result b/mysql-test/suite/perfschema/r/sxlock_func.result new file mode 100644 index 00000000000..0be1fcd649b --- /dev/null +++ b/mysql-test/suite/perfschema/r/sxlock_func.result @@ -0,0 +1,67 @@ +UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES'; +UPDATE performance_schema.setup_instruments SET enabled = 'YES' +WHERE name like 'wait/synch/sxlock/%'; +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; +select name from performance_schema.setup_instruments +where name like "wait/synch/sxlock/%" + and name not in +("wait/synch/sxlock/innodb/buf_block_lock", +"wait/synch/sxlock/innodb/buf_block_debug_latch") +order by name; +name +wait/synch/sxlock/innodb/btr_search_latch +wait/synch/sxlock/innodb/checkpoint_lock +wait/synch/sxlock/innodb/dict_operation_lock +wait/synch/sxlock/innodb/dict_table_stats +wait/synch/sxlock/innodb/fil_space_latch +wait/synch/sxlock/innodb/fts_cache_init_rw_lock +wait/synch/sxlock/innodb/fts_cache_rw_lock +wait/synch/sxlock/innodb/hash_table_locks +wait/synch/sxlock/innodb/index_online_log +wait/synch/sxlock/innodb/index_tree_rw_lock +wait/synch/sxlock/innodb/trx_i_s_cache_lock +wait/synch/sxlock/innodb/trx_purge_latch +select name from performance_schema.rwlock_instances +where name in +( +'wait/synch/sxlock/innodb/btr_search_latch', +'wait/synch/sxlock/innodb/checkpoint_lock', +'wait/synch/sxlock/innodb/dict_operation_lock', +'wait/synch/sxlock/innodb/trx_i_s_cache_lock', +'wait/synch/sxlock/innodb/trx_purge_latch' + ) +order by name; +name +wait/synch/sxlock/innodb/btr_search_latch +wait/synch/sxlock/innodb/btr_search_latch +wait/synch/sxlock/innodb/btr_search_latch +wait/synch/sxlock/innodb/btr_search_latch +wait/synch/sxlock/innodb/btr_search_latch +wait/synch/sxlock/innodb/btr_search_latch +wait/synch/sxlock/innodb/btr_search_latch +wait/synch/sxlock/innodb/btr_search_latch +wait/synch/sxlock/innodb/checkpoint_lock +wait/synch/sxlock/innodb/dict_operation_lock +wait/synch/sxlock/innodb/trx_i_s_cache_lock +wait/synch/sxlock/innodb/trx_purge_latch +drop table if exists t1; +create table t1(a int) engine=innodb; +begin; +insert into t1 values (1), (2), (3); +insert into t1 values (1), (2), (3); +insert into t1 values (1), (2), (3); +commit; +drop table t1; +select operation from performance_schema.events_waits_history_long +where event_name like "wait/synch/sxlock/%" + and operation = "shared_lock" limit 1; +operation +shared_lock +select operation from performance_schema.events_waits_history_long +where event_name like "wait/synch/sxlock/%" + and operation = "exclusive_lock" limit 1; +operation +exclusive_lock +UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; diff --git a/mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result index b56a331e486..1c2610ce28e 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_consumers set enabled='NO' where name='thread_instrumentation'; delete from performance_schema.setup_actors @@ -6,9 +18,9 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -22,6 +34,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -39,9 +54,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -50,31 +63,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -84,9 +108,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -96,6 +126,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -125,28 +156,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -186,28 +209,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -237,15 +252,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -270,39 +285,87 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 0 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected @@ -336,39 +399,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -399,11 +456,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -438,39 +495,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 57 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 +TABLE test t1 27 TABLE test t2 0 -TABLE test t3 72 +TABLE test t3 54 select concat(current_user(), " is connected") as status; status user3@localhost is connected @@ -509,39 +560,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 57 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 +TABLE test t1 27 TABLE test t2 0 -TABLE test t3 72 +TABLE test t3 54 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -578,11 +623,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -623,39 +668,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 105 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 +TABLE test t1 45 TABLE test t2 0 -TABLE test t3 123 +TABLE test t3 96 select concat(current_user(), " is connected") as status; status user4@localhost is connected @@ -699,39 +738,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 105 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 +TABLE test t1 45 TABLE test t2 0 -TABLE test t3 123 +TABLE test t3 96 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -774,11 +807,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -825,39 +858,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 96 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 48 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 0 0 0 0 8 0 12 +TABLE test t3 28 8 20 0 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 91 +TABLE test t1 66 TABLE test t2 0 -TABLE test t3 184 +TABLE test t3 148 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -903,39 +930,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 flush tables; "================== flush marker ==================" "================== Step 11 ==================" @@ -978,39 +999,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" @@ -1054,39 +1069,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1127,39 +1136,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1199,39 +1202,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1270,39 +1267,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1340,39 +1331,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1411,39 +1396,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1482,39 +1461,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1553,39 +1526,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1624,39 +1591,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1705,10 +1666,6 @@ TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1716,19 +1673,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1738,9 +1693,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1750,6 +1711,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result index 93d71b8742c..c0fc1a54f20 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result @@ -1,12 +1,24 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_consumers set enabled='NO' where name='thread_instrumentation'; delete from performance_schema.setup_actors where user in ('user2', 'user4'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -21,6 +33,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -38,9 +53,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -49,31 +62,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -83,9 +107,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -95,6 +125,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -124,15 +155,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -142,10 +170,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -185,15 +213,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -203,10 +228,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -236,15 +261,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -269,39 +294,99 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected @@ -335,39 +420,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -398,11 +483,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -437,39 +522,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 83 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 -TABLE test t2 54 -TABLE test t3 72 +TABLE test t1 27 +TABLE test t2 38 +TABLE test t3 54 select concat(current_user(), " is connected") as status; status user3@localhost is connected @@ -508,39 +593,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 83 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 -TABLE test t2 54 -TABLE test t3 72 +TABLE test t1 27 +TABLE test t2 38 +TABLE test t3 54 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -577,11 +662,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -622,39 +707,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 -wait/lock/table/sql/handler 108 +wait/io/table/sql/handler 153 +wait/lock/table/sql/handler 54 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t2 18 6 12 0 0 0 0 6 0 12 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 -TABLE test t2 90 -TABLE test t3 123 +TABLE test t1 45 +TABLE test t2 66 +TABLE test t3 96 select concat(current_user(), " is connected") as status; status user4@localhost is connected @@ -698,39 +783,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 -wait/lock/table/sql/handler 108 +wait/io/table/sql/handler 153 +wait/lock/table/sql/handler 54 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t2 18 6 12 0 0 0 0 6 0 12 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 -TABLE test t2 90 -TABLE test t3 123 +TABLE test t1 45 +TABLE test t2 66 +TABLE test t3 96 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -773,11 +858,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -824,39 +909,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 144 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 72 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 48 16 32 8 0 0 0 8 0 0 16 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 0 0 0 0 8 0 12 +TABLE test t2 24 8 16 0 0 0 0 8 0 16 +TABLE test t3 28 8 20 0 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 91 -TABLE test t2 132 -TABLE test t3 184 +TABLE test t1 66 +TABLE test t2 100 +TABLE test t3 148 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -902,39 +987,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 flush tables; "================== flush marker ==================" "================== Step 11 ==================" @@ -977,39 +1062,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" @@ -1053,39 +1138,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1126,39 +1211,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1198,39 +1283,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1269,39 +1354,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1339,39 +1424,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1410,39 +1495,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1481,39 +1566,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1552,39 +1637,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1623,39 +1708,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1718,16 +1803,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1737,9 +1822,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1749,6 +1840,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result index bcbdd53ba11..22e02fbac8c 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result @@ -1,14 +1,26 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_consumers set enabled='NO' where name='thread_instrumentation'; delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -22,6 +34,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -39,9 +54,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -50,31 +63,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -84,9 +108,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -96,6 +126,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -125,28 +156,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -186,28 +209,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -237,15 +252,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -270,39 +285,87 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 0 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected @@ -336,39 +399,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -399,11 +456,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -438,39 +495,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 57 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 +TABLE test t1 27 TABLE test t2 0 -TABLE test t3 72 +TABLE test t3 54 select concat(current_user(), " is connected") as status; status user3@localhost is connected @@ -509,39 +560,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 57 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 +TABLE test t1 27 TABLE test t2 0 -TABLE test t3 72 +TABLE test t3 54 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -578,11 +623,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -623,39 +668,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 105 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 +TABLE test t1 45 TABLE test t2 0 -TABLE test t3 123 +TABLE test t3 96 select concat(current_user(), " is connected") as status; status user4@localhost is connected @@ -699,39 +738,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 105 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 +TABLE test t1 45 TABLE test t2 0 -TABLE test t3 123 +TABLE test t3 96 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -774,11 +807,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -825,39 +858,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 96 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 48 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 0 0 0 0 8 0 12 +TABLE test t3 28 8 20 0 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 91 +TABLE test t1 66 TABLE test t2 0 -TABLE test t3 184 +TABLE test t3 148 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -903,39 +930,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 flush tables; "================== flush marker ==================" "================== Step 11 ==================" @@ -978,39 +999,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" @@ -1054,39 +1069,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1127,39 +1136,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1199,39 +1202,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1270,39 +1267,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1340,39 +1331,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1411,39 +1396,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1482,39 +1461,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1553,39 +1526,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1624,39 +1591,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1705,10 +1666,6 @@ TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1716,19 +1673,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1738,9 +1693,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1750,6 +1711,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result index 99dd3d817f2..4e0c5cadd8e 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result @@ -1,12 +1,24 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_consumers set enabled='NO' where name='thread_instrumentation'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -21,6 +33,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -38,9 +53,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -49,31 +62,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -83,9 +107,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -95,6 +125,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -124,15 +155,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -142,10 +170,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -185,15 +213,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -203,10 +228,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -236,15 +261,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -269,39 +294,99 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected @@ -335,39 +420,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -398,11 +483,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -437,39 +522,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 83 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 -TABLE test t2 54 -TABLE test t3 72 +TABLE test t1 27 +TABLE test t2 38 +TABLE test t3 54 select concat(current_user(), " is connected") as status; status user3@localhost is connected @@ -508,39 +593,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 83 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 -TABLE test t2 54 -TABLE test t3 72 +TABLE test t1 27 +TABLE test t2 38 +TABLE test t3 54 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -577,11 +662,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -622,39 +707,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 -wait/lock/table/sql/handler 108 +wait/io/table/sql/handler 153 +wait/lock/table/sql/handler 54 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t2 18 6 12 0 0 0 0 6 0 12 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 -TABLE test t2 90 -TABLE test t3 123 +TABLE test t1 45 +TABLE test t2 66 +TABLE test t3 96 select concat(current_user(), " is connected") as status; status user4@localhost is connected @@ -698,39 +783,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 -wait/lock/table/sql/handler 108 +wait/io/table/sql/handler 153 +wait/lock/table/sql/handler 54 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t2 18 6 12 0 0 0 0 6 0 12 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 -TABLE test t2 90 -TABLE test t3 123 +TABLE test t1 45 +TABLE test t2 66 +TABLE test t3 96 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -773,11 +858,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -824,39 +909,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 144 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 72 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 48 16 32 8 0 0 0 8 0 0 16 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 0 0 0 0 8 0 12 +TABLE test t2 24 8 16 0 0 0 0 8 0 16 +TABLE test t3 28 8 20 0 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 91 -TABLE test t2 132 -TABLE test t3 184 +TABLE test t1 66 +TABLE test t2 100 +TABLE test t3 148 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -902,39 +987,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 flush tables; "================== flush marker ==================" "================== Step 11 ==================" @@ -977,39 +1062,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" @@ -1053,39 +1138,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1126,39 +1211,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1198,39 +1283,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1269,39 +1354,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1339,39 +1424,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1410,39 +1495,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1481,39 +1566,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1552,39 +1637,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1623,39 +1708,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1718,16 +1803,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1737,9 +1822,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1749,6 +1840,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result index fd1d6521089..640b486a5be 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result @@ -1,12 +1,24 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. delete from performance_schema.setup_actors where user in ('user2', 'user4'); delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -20,6 +32,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -37,9 +52,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -48,31 +61,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -82,9 +106,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -94,6 +124,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -123,28 +154,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -184,28 +207,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -235,19 +250,19 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username status user2 not found username status @@ -256,63 +271,115 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 0 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -322,59 +389,53 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -405,11 +466,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -417,8 +478,8 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -428,67 +489,61 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -499,63 +554,57 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -592,11 +641,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -605,155 +654,143 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 48 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 24 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 20 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 28 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 10 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 82 +TABLE test t3 64 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 48 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 24 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 20 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 28 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 10 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 82 +TABLE test t3 64 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -796,11 +833,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -810,80 +847,74 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 48 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 24 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 20 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 28 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 10 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 82 +TABLE test t3 64 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -892,239 +923,221 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1134,74 +1147,68 @@ username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1210,74 +1217,68 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1292,67 +1293,61 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1366,67 +1361,61 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1441,67 +1430,61 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1526,57 +1509,51 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1611,47 +1588,41 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1690,43 +1661,37 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1769,20 +1734,16 @@ wait/io/table/sql/handler 0 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1790,19 +1751,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1812,9 +1771,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1824,6 +1789,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result index 3a4b7bed85d..8e33c76fc1f 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result @@ -1,10 +1,22 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. delete from performance_schema.setup_actors where user in ('user2', 'user4'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -19,6 +31,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -36,9 +51,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -47,31 +60,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -81,9 +105,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -93,6 +123,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -122,15 +153,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -140,10 +168,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -183,15 +211,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -201,10 +226,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -234,19 +259,19 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username status user2 not found username status @@ -255,65 +280,131 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/lock/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/lock/table/sql/handler 6 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/lock/table/sql/handler 6 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -323,61 +414,61 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/lock/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/lock/table/sql/handler 6 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -408,11 +499,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -420,8 +511,8 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -431,69 +522,69 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/lock/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/lock/table/sql/handler 6 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -504,65 +595,65 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/lock/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/lock/table/sql/handler 6 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -599,11 +690,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -612,159 +703,159 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 20 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 24 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 28 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 10 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 12 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 -TABLE test t2 60 -TABLE test t3 82 +TABLE test t1 30 +TABLE test t2 44 +TABLE test t3 64 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 20 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 24 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 28 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 10 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 12 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 -TABLE test t2 60 -TABLE test t3 82 +TABLE test t1 30 +TABLE test t2 44 +TABLE test t3 64 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -807,11 +898,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -821,82 +912,82 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 20 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 24 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 28 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 10 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 12 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 -TABLE test t2 60 -TABLE test t3 82 +TABLE test t1 30 +TABLE test t2 44 +TABLE test t3 64 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -905,245 +996,245 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1153,76 +1244,76 @@ username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1231,76 +1322,76 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1315,69 +1406,69 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1391,69 +1482,69 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1468,69 +1559,69 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1555,59 +1646,59 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1642,49 +1733,49 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1723,45 +1814,45 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1804,12 +1895,12 @@ wait/io/table/sql/handler 0 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/lock/table/sql/handler 24 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/lock/table/sql/handler 28 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 -wait/lock/table/sql/handler 32 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 +wait/lock/table/sql/handler 16 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 NULL 0 0 0 0 0 0 0 @@ -1830,16 +1921,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1849,9 +1940,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1861,6 +1958,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result index 1e0885de07c..af43f5f8c4c 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result @@ -1,12 +1,24 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -20,6 +32,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -37,9 +52,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -48,31 +61,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -82,9 +106,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -94,6 +124,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -123,28 +154,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -184,28 +207,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -235,19 +250,19 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username status user2 not found username status @@ -256,63 +271,115 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 0 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -322,59 +389,53 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -405,11 +466,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -417,81 +478,75 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username status user3 not found username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 62 -localhost wait/lock/table/sql/handler 48 +localhost wait/io/table/sql/handler 57 +localhost wait/lock/table/sql/handler 24 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 57 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 18 TABLE test t1 -wait/lock/table/sql/handler 20 TABLE test t1 -wait/io/table/sql/handler 44 TABLE test t3 -wait/lock/table/sql/handler 28 TABLE test t3 +wait/io/table/sql/handler 17 TABLE test t1 +wait/lock/table/sql/handler 10 TABLE test t1 +wait/io/table/sql/handler 40 TABLE test t3 +wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 +TABLE test t1 27 TABLE test t2 0 -TABLE test t3 72 +TABLE test t3 54 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 @@ -499,63 +554,57 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 62 -localhost wait/lock/table/sql/handler 48 +localhost wait/io/table/sql/handler 57 +localhost wait/lock/table/sql/handler 24 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 57 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 18 TABLE test t1 -wait/lock/table/sql/handler 20 TABLE test t1 -wait/io/table/sql/handler 44 TABLE test t3 -wait/lock/table/sql/handler 28 TABLE test t3 +wait/io/table/sql/handler 17 TABLE test t1 +wait/lock/table/sql/handler 10 TABLE test t1 +wait/io/table/sql/handler 40 TABLE test t3 +wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 +TABLE test t1 27 TABLE test t2 0 -TABLE test t3 72 +TABLE test t3 54 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -592,11 +641,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -605,155 +654,143 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 114 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 105 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 105 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 33 TABLE test t1 -wait/lock/table/sql/handler 30 TABLE test t1 -wait/io/table/sql/handler 81 TABLE test t3 -wait/lock/table/sql/handler 42 TABLE test t3 +wait/io/table/sql/handler 30 TABLE test t1 +wait/lock/table/sql/handler 15 TABLE test t1 +wait/io/table/sql/handler 75 TABLE test t3 +wait/lock/table/sql/handler 21 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 +TABLE test t1 45 TABLE test t2 0 -TABLE test t3 123 +TABLE test t3 96 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 114 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 105 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 105 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 33 TABLE test t1 -wait/lock/table/sql/handler 30 TABLE test t1 -wait/io/table/sql/handler 81 TABLE test t3 -wait/lock/table/sql/handler 42 TABLE test t3 +wait/io/table/sql/handler 30 TABLE test t1 +wait/lock/table/sql/handler 15 TABLE test t1 +wait/io/table/sql/handler 75 TABLE test t3 +wait/lock/table/sql/handler 21 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 +TABLE test t1 45 TABLE test t2 0 -TABLE test t3 123 +TABLE test t3 96 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -796,11 +833,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -810,80 +847,74 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 96 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 48 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 96 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 48 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 40 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 56 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 0 0 0 0 8 0 12 +TABLE test t3 28 8 20 0 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 91 +TABLE test t1 66 TABLE test t2 0 -TABLE test t3 184 +TABLE test t3 148 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -892,316 +923,292 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1210,74 +1217,68 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1288,71 +1289,65 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1366,67 +1361,61 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1441,67 +1430,61 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1526,57 +1509,51 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1611,47 +1588,41 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1690,43 +1661,37 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1769,20 +1734,16 @@ wait/io/table/sql/handler 0 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1790,19 +1751,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1812,9 +1771,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1824,6 +1789,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result index 53987415294..7acad8eb6c0 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result @@ -1,10 +1,22 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -19,6 +31,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -36,9 +51,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -47,31 +60,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -81,9 +105,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -93,6 +123,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -122,15 +153,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -140,10 +168,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -183,15 +211,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -201,10 +226,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -234,19 +259,19 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username status user2 not found username status @@ -255,65 +280,131 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/lock/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/lock/table/sql/handler 6 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/lock/table/sql/handler 6 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -323,61 +414,61 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/lock/table/sql/handler 10 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/lock/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 -wait/lock/table/sql/handler 14 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/lock/table/sql/handler 5 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/lock/table/sql/handler 6 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 +wait/lock/table/sql/handler 7 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -408,11 +499,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -420,83 +511,83 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username status user3 not found username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 92 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 83 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 83 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 18 TABLE test t1 -wait/lock/table/sql/handler 20 TABLE test t1 -wait/io/table/sql/handler 30 TABLE test t2 -wait/lock/table/sql/handler 24 TABLE test t2 -wait/io/table/sql/handler 44 TABLE test t3 -wait/lock/table/sql/handler 28 TABLE test t3 +wait/io/table/sql/handler 17 TABLE test t1 +wait/lock/table/sql/handler 10 TABLE test t1 +wait/io/table/sql/handler 26 TABLE test t2 +wait/lock/table/sql/handler 12 TABLE test t2 +wait/io/table/sql/handler 40 TABLE test t3 +wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 -TABLE test t2 54 -TABLE test t3 72 +TABLE test t1 27 +TABLE test t2 38 +TABLE test t3 54 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 @@ -504,65 +595,65 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 92 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 83 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 83 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 18 TABLE test t1 -wait/lock/table/sql/handler 20 TABLE test t1 -wait/io/table/sql/handler 30 TABLE test t2 -wait/lock/table/sql/handler 24 TABLE test t2 -wait/io/table/sql/handler 44 TABLE test t3 -wait/lock/table/sql/handler 28 TABLE test t3 +wait/io/table/sql/handler 17 TABLE test t1 +wait/lock/table/sql/handler 10 TABLE test t1 +wait/io/table/sql/handler 26 TABLE test t2 +wait/lock/table/sql/handler 12 TABLE test t2 +wait/io/table/sql/handler 40 TABLE test t3 +wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 -TABLE test t2 54 -TABLE test t3 72 +TABLE test t1 27 +TABLE test t2 38 +TABLE test t3 54 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -599,11 +690,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -612,159 +703,159 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 168 -localhost wait/lock/table/sql/handler 108 +localhost wait/io/table/sql/handler 153 +localhost wait/lock/table/sql/handler 54 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 -wait/lock/table/sql/handler 108 +wait/io/table/sql/handler 153 +wait/lock/table/sql/handler 54 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 33 TABLE test t1 -wait/lock/table/sql/handler 30 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t2 -wait/lock/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 81 TABLE test t3 -wait/lock/table/sql/handler 42 TABLE test t3 +wait/io/table/sql/handler 30 TABLE test t1 +wait/lock/table/sql/handler 15 TABLE test t1 +wait/io/table/sql/handler 48 TABLE test t2 +wait/lock/table/sql/handler 18 TABLE test t2 +wait/io/table/sql/handler 75 TABLE test t3 +wait/lock/table/sql/handler 21 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t2 18 6 12 0 0 0 0 6 0 12 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 -TABLE test t2 90 -TABLE test t3 123 +TABLE test t1 45 +TABLE test t2 66 +TABLE test t3 96 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 168 -localhost wait/lock/table/sql/handler 108 +localhost wait/io/table/sql/handler 153 +localhost wait/lock/table/sql/handler 54 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 -wait/lock/table/sql/handler 108 +wait/io/table/sql/handler 153 +wait/lock/table/sql/handler 54 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 33 TABLE test t1 -wait/lock/table/sql/handler 30 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t2 -wait/lock/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 81 TABLE test t3 -wait/lock/table/sql/handler 42 TABLE test t3 +wait/io/table/sql/handler 30 TABLE test t1 +wait/lock/table/sql/handler 15 TABLE test t1 +wait/io/table/sql/handler 48 TABLE test t2 +wait/lock/table/sql/handler 18 TABLE test t2 +wait/io/table/sql/handler 75 TABLE test t3 +wait/lock/table/sql/handler 21 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t2 18 6 12 0 0 0 0 6 0 12 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 -TABLE test t2 90 -TABLE test t3 123 +TABLE test t1 45 +TABLE test t2 66 +TABLE test t3 96 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -807,11 +898,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -821,82 +912,82 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 144 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 72 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 144 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 72 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 40 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 48 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 56 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 24 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 48 16 32 8 0 0 0 8 0 0 16 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 0 0 0 0 8 0 12 +TABLE test t2 24 8 16 0 0 0 0 8 0 16 +TABLE test t3 28 8 20 0 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 91 -TABLE test t2 132 -TABLE test t3 184 +TABLE test t1 66 +TABLE test t2 100 +TABLE test t3 148 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -905,324 +996,324 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1231,76 +1322,76 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1311,73 +1402,73 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1391,69 +1482,69 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1468,69 +1559,69 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1555,59 +1646,59 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1642,49 +1733,49 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1723,45 +1814,45 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1804,12 +1895,12 @@ wait/io/table/sql/handler 0 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/lock/table/sql/handler 44 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/lock/table/sql/handler 52 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 -wait/lock/table/sql/handler 60 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/lock/table/sql/handler 22 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/lock/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 +wait/lock/table/sql/handler 30 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 NULL 0 0 0 0 0 0 0 @@ -1830,16 +1921,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1849,9 +1940,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1861,6 +1958,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_off.result b/mysql-test/suite/perfschema/r/table_aggregate_off.result index 029a5d53861..c72c0e4d4cc 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_off.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_off.result @@ -1,12 +1,24 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_consumers set enabled='NO' where name='global_instrumentation'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -21,6 +33,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -38,9 +53,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -49,31 +62,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -83,9 +107,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -95,6 +125,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -124,15 +155,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -142,10 +170,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -185,15 +213,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -203,10 +228,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -236,15 +261,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -275,15 +300,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -293,10 +315,67 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 0 +TABLE test t2 0 +TABLE test t3 0 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -341,15 +420,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -359,10 +435,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -398,11 +474,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -443,15 +519,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -461,10 +534,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -514,15 +587,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -532,10 +602,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -577,11 +647,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -628,15 +698,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -646,10 +713,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -704,15 +771,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -722,10 +786,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -773,11 +837,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -830,15 +894,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -848,10 +909,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -908,15 +969,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -926,10 +984,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -983,15 +1041,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1001,10 +1056,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -1059,15 +1114,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1077,10 +1129,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -1132,15 +1184,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1150,10 +1199,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -1204,15 +1253,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1222,10 +1268,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -1275,15 +1321,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1293,10 +1336,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -1345,15 +1388,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1363,10 +1403,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -1416,15 +1456,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1434,10 +1471,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -1487,15 +1524,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1505,10 +1539,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -1558,15 +1592,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1576,10 +1607,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -1629,15 +1660,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1647,10 +1675,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -1700,15 +1728,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1718,16 +1743,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1737,9 +1762,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1749,6 +1780,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result index 671c01f80bc..9a953ef0188 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_consumers set enabled='NO' where name like 'event%'; delete from performance_schema.setup_actors @@ -6,9 +18,9 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -22,6 +34,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -39,9 +54,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -50,31 +63,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -84,9 +108,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -96,6 +126,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -125,28 +156,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -186,28 +209,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -237,19 +252,19 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username status user2 not found username status @@ -258,59 +273,107 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 0 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -320,55 +383,49 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -399,11 +456,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -411,8 +468,8 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -422,63 +479,57 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -489,59 +540,53 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -578,11 +623,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -591,147 +636,135 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 48 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 24 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 82 +TABLE test t3 64 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 48 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 24 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 82 +TABLE test t3 64 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -774,11 +807,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -788,76 +821,70 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 48 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 24 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 82 +TABLE test t3 64 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -866,227 +893,209 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1096,70 +1105,64 @@ username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1168,70 +1171,64 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1246,63 +1243,57 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1316,63 +1307,57 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1387,63 +1372,57 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1468,53 +1447,47 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1549,43 +1522,37 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 -localhost wait/lock/table/sql/handler 56 +localhost wait/io/table/sql/handler 70 +localhost wait/lock/table/sql/handler 28 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1624,39 +1591,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 -wait/lock/table/sql/handler 56 +wait/io/table/sql/handler 70 +wait/lock/table/sql/handler 28 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 +TABLE test t1 32 TABLE test t2 0 -TABLE test t3 86 +TABLE test t3 66 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1705,10 +1666,6 @@ TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1716,19 +1673,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1738,9 +1693,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1750,6 +1711,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result index 6f357cfa1d1..6cb153c5060 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result @@ -1,12 +1,24 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_consumers set enabled='NO' where name like 'event%'; delete from performance_schema.setup_actors where user in ('user2', 'user4'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -21,6 +33,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -38,9 +53,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -49,31 +62,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -83,9 +107,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -95,6 +125,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -124,15 +155,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -142,10 +170,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -185,15 +213,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -203,10 +228,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -236,19 +261,19 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username status user2 not found username status @@ -257,59 +282,119 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -319,55 +404,55 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -398,11 +483,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -410,8 +495,8 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -421,63 +506,63 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -488,59 +573,59 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -577,11 +662,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -590,147 +675,147 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 -TABLE test t2 60 -TABLE test t3 82 +TABLE test t1 30 +TABLE test t2 44 +TABLE test t3 64 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 -TABLE test t2 60 -TABLE test t3 82 +TABLE test t1 30 +TABLE test t2 44 +TABLE test t3 64 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -773,11 +858,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -787,76 +872,76 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 41 -TABLE test t2 60 -TABLE test t3 82 +TABLE test t1 30 +TABLE test t2 44 +TABLE test t3 64 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -865,227 +950,227 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1095,70 +1180,70 @@ username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1167,70 +1252,70 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1245,63 +1330,63 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1315,63 +1400,63 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1386,63 +1471,63 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1467,53 +1552,53 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1548,43 +1633,43 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 -localhost wait/lock/table/sql/handler 84 +localhost wait/io/table/sql/handler 102 +localhost wait/lock/table/sql/handler 42 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1623,39 +1708,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 -wait/lock/table/sql/handler 84 +wait/io/table/sql/handler 102 +wait/lock/table/sql/handler 42 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 12 5 7 0 0 0 0 5 0 7 +TABLE test t2 14 5 9 0 0 0 0 5 0 9 +TABLE test t3 16 5 11 0 0 0 0 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 45 -TABLE test t2 64 -TABLE test t3 86 +TABLE test t1 32 +TABLE test t2 46 +TABLE test t3 66 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1718,16 +1803,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1737,9 +1822,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1749,6 +1840,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result b/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result index 2732634010d..ed6f5c62572 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result @@ -1,14 +1,26 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_consumers set enabled='NO' where name like 'event%'; delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -22,6 +34,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -39,9 +54,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -50,31 +63,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -84,9 +108,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -96,6 +126,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -125,28 +156,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -186,28 +209,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -237,19 +252,19 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username status user2 not found username status @@ -258,59 +273,107 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 0 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -320,55 +383,49 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 -localhost wait/lock/table/sql/handler 24 +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 12 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 -wait/lock/table/sql/handler 24 +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 12 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 +TABLE test t1 12 TABLE test t2 0 -TABLE test t3 31 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -399,11 +456,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -411,77 +468,71 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username status user3 not found username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 62 -localhost wait/lock/table/sql/handler 48 +localhost wait/io/table/sql/handler 57 +localhost wait/lock/table/sql/handler 24 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 57 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 +TABLE test t1 27 TABLE test t2 0 -TABLE test t3 72 +TABLE test t3 54 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 @@ -489,59 +540,53 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 62 -localhost wait/lock/table/sql/handler 48 +localhost wait/io/table/sql/handler 57 +localhost wait/lock/table/sql/handler 24 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 -wait/lock/table/sql/handler 48 +wait/io/table/sql/handler 57 +wait/lock/table/sql/handler 24 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 +TABLE test t1 27 TABLE test t2 0 -TABLE test t3 72 +TABLE test t3 54 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -578,11 +623,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -591,147 +636,135 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 114 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 105 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 105 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 +TABLE test t1 45 TABLE test t2 0 -TABLE test t3 123 +TABLE test t3 96 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 114 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 105 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 105 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 +TABLE test t1 45 TABLE test t2 0 -TABLE test t3 123 +TABLE test t3 96 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -774,11 +807,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -788,76 +821,70 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 24 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 12 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 24 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 12 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 96 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 48 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 96 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 48 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 0 0 0 0 8 0 12 +TABLE test t3 28 8 20 0 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 91 +TABLE test t1 66 TABLE test t2 0 -TABLE test t3 184 +TABLE test t3 148 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -866,300 +893,276 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1168,70 +1171,64 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1242,67 +1239,61 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1316,63 +1307,57 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1387,63 +1372,57 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 -user1 localhost wait/lock/table/sql/handler 32 -user2 localhost wait/io/table/sql/handler 39 -user2 localhost wait/lock/table/sql/handler 24 -user3 localhost wait/io/table/sql/handler 52 -user3 localhost wait/lock/table/sql/handler 24 -user4 localhost wait/io/table/sql/handler 65 -user4 localhost wait/lock/table/sql/handler 24 +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 16 +user2 localhost wait/io/table/sql/handler 35 +user2 localhost wait/lock/table/sql/handler 12 +user3 localhost wait/io/table/sql/handler 48 +user3 localhost wait/lock/table/sql/handler 12 +user4 localhost wait/io/table/sql/handler 61 +user4 localhost wait/lock/table/sql/handler 12 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1468,53 +1447,47 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 -user1 wait/lock/table/sql/handler 32 -user2 wait/io/table/sql/handler 39 -user2 wait/lock/table/sql/handler 24 -user3 wait/io/table/sql/handler 52 -user3 wait/lock/table/sql/handler 24 -user4 wait/io/table/sql/handler 65 -user4 wait/lock/table/sql/handler 24 +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 16 +user2 wait/io/table/sql/handler 35 +user2 wait/lock/table/sql/handler 12 +user3 wait/io/table/sql/handler 48 +user3 wait/lock/table/sql/handler 12 +user4 wait/io/table/sql/handler 61 +user4 wait/lock/table/sql/handler 12 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1549,43 +1522,37 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 -localhost wait/lock/table/sql/handler 104 +localhost wait/io/table/sql/handler 166 +localhost wait/lock/table/sql/handler 52 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1624,39 +1591,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 -wait/lock/table/sql/handler 104 +wait/io/table/sql/handler 166 +wait/lock/table/sql/handler 52 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 +TABLE test t1 68 TABLE test t2 0 -TABLE test t3 188 +TABLE test t3 150 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1705,10 +1666,6 @@ TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1716,19 +1673,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1738,9 +1693,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1750,6 +1711,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result b/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result index e19a4f2f3ed..839430659ea 100644 --- a/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result +++ b/mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result @@ -1,12 +1,24 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_consumers set enabled='NO' where name like 'event%'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -21,6 +33,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -38,9 +53,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -49,31 +62,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -83,9 +107,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -95,6 +125,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -124,15 +155,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -142,10 +170,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -185,15 +213,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -203,10 +228,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -236,19 +261,19 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username status user2 not found username status @@ -257,59 +282,119 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -319,55 +404,55 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 -localhost wait/lock/table/sql/handler 36 +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 18 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 -wait/lock/table/sql/handler 36 +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 18 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 5 2 3 0 0 0 0 2 0 3 +TABLE test t2 6 2 4 0 0 0 0 2 0 4 +TABLE test t3 7 2 5 0 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 16 -TABLE test t2 24 -TABLE test t3 31 +TABLE test t1 12 +TABLE test t2 16 +TABLE test t3 22 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -398,11 +483,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -410,77 +495,77 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username status user3 not found username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 92 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 83 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 83 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 -TABLE test t2 54 -TABLE test t3 72 +TABLE test t1 27 +TABLE test t2 38 +TABLE test t3 54 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 @@ -488,59 +573,59 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 92 -localhost wait/lock/table/sql/handler 72 +localhost wait/io/table/sql/handler 83 +localhost wait/lock/table/sql/handler 36 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 -wait/lock/table/sql/handler 72 +wait/io/table/sql/handler 83 +wait/lock/table/sql/handler 36 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 0 0 0 0 4 0 6 +TABLE test t2 12 4 8 0 0 0 0 4 0 8 +TABLE test t3 14 4 10 0 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 38 -TABLE test t2 54 -TABLE test t3 72 +TABLE test t1 27 +TABLE test t2 38 +TABLE test t3 54 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -577,11 +662,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -590,147 +675,147 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 168 -localhost wait/lock/table/sql/handler 108 +localhost wait/io/table/sql/handler 153 +localhost wait/lock/table/sql/handler 54 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 -wait/lock/table/sql/handler 108 +wait/io/table/sql/handler 153 +wait/lock/table/sql/handler 54 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t2 18 6 12 0 0 0 0 6 0 12 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 -TABLE test t2 90 -TABLE test t3 123 +TABLE test t1 45 +TABLE test t2 66 +TABLE test t3 96 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 168 -localhost wait/lock/table/sql/handler 108 +localhost wait/io/table/sql/handler 153 +localhost wait/lock/table/sql/handler 54 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 -wait/lock/table/sql/handler 108 +wait/io/table/sql/handler 153 +wait/lock/table/sql/handler 54 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 15 6 9 0 0 0 0 6 0 9 +TABLE test t2 18 6 12 0 0 0 0 6 0 12 +TABLE test t3 21 6 15 0 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 63 -TABLE test t2 90 -TABLE test t3 123 +TABLE test t1 45 +TABLE test t2 66 +TABLE test t3 96 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -773,11 +858,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -787,76 +872,76 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 36 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 18 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 36 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 18 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 144 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 72 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 144 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 72 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 48 16 32 8 0 0 0 8 0 0 16 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 0 0 0 0 8 0 12 +TABLE test t2 24 8 16 0 0 0 0 8 0 16 +TABLE test t3 28 8 20 0 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 91 -TABLE test t2 132 -TABLE test t3 184 +TABLE test t1 66 +TABLE test t2 100 +TABLE test t3 148 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -865,300 +950,300 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1167,70 +1252,70 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1241,67 +1326,67 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1315,63 +1400,63 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1386,63 +1471,63 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 -user1 localhost wait/lock/table/sql/handler 48 -user2 localhost wait/io/table/sql/handler 57 -user2 localhost wait/lock/table/sql/handler 36 -user3 localhost wait/io/table/sql/handler 76 -user3 localhost wait/lock/table/sql/handler 36 -user4 localhost wait/io/table/sql/handler 95 -user4 localhost wait/lock/table/sql/handler 36 +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 24 +user2 localhost wait/io/table/sql/handler 51 +user2 localhost wait/lock/table/sql/handler 18 +user3 localhost wait/io/table/sql/handler 70 +user3 localhost wait/lock/table/sql/handler 18 +user4 localhost wait/io/table/sql/handler 89 +user4 localhost wait/lock/table/sql/handler 18 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1467,53 +1552,53 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 -user1 wait/lock/table/sql/handler 48 -user2 wait/io/table/sql/handler 57 -user2 wait/lock/table/sql/handler 36 -user3 wait/io/table/sql/handler 76 -user3 wait/lock/table/sql/handler 36 -user4 wait/io/table/sql/handler 95 -user4 wait/lock/table/sql/handler 36 +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 24 +user2 wait/io/table/sql/handler 51 +user2 wait/lock/table/sql/handler 18 +user3 wait/io/table/sql/handler 70 +user3 wait/lock/table/sql/handler 18 +user4 wait/io/table/sql/handler 89 +user4 wait/lock/table/sql/handler 18 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1548,43 +1633,43 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 -localhost wait/lock/table/sql/handler 156 +localhost wait/io/table/sql/handler 242 +localhost wait/lock/table/sql/handler 78 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1623,39 +1708,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 -wait/lock/table/sql/handler 156 +wait/io/table/sql/handler 242 +wait/lock/table/sql/handler 78 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 22 9 13 0 0 0 0 9 0 13 +TABLE test t2 26 9 17 0 0 0 0 9 0 17 +TABLE test t3 30 9 21 0 0 0 0 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 95 -TABLE test t2 136 -TABLE test t3 188 +TABLE test t1 68 +TABLE test t2 102 +TABLE test t3 150 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1718,16 +1803,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1737,9 +1822,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1749,6 +1840,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result index 88bf5b164aa..b20c455a92b 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; update performance_schema.setup_consumers @@ -8,9 +20,9 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -24,6 +36,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -41,9 +56,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -52,31 +65,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -86,9 +110,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -98,6 +128,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -127,28 +158,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -188,28 +211,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -239,15 +254,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -272,39 +287,87 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 0 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected @@ -338,39 +401,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -401,11 +458,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -440,39 +497,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 +wait/io/table/sql/handler 57 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 +TABLE test t1 17 TABLE test t2 0 -TABLE test t3 44 +TABLE test t3 40 select concat(current_user(), " is connected") as status; status user3@localhost is connected @@ -511,39 +562,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 +wait/io/table/sql/handler 57 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 +TABLE test t1 17 TABLE test t2 0 -TABLE test t3 44 +TABLE test t3 40 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -580,11 +625,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -625,39 +670,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 +wait/io/table/sql/handler 105 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 81 +TABLE test t3 75 select concat(current_user(), " is connected") as status; status user4@localhost is connected @@ -701,39 +740,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 +wait/io/table/sql/handler 105 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 81 +TABLE test t3 75 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -776,11 +809,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -827,39 +860,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -905,39 +932,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 flush tables; "================== flush marker ==================" "================== Step 11 ==================" @@ -980,39 +1001,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" @@ -1056,39 +1071,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1129,39 +1138,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1201,39 +1204,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1272,39 +1269,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1342,39 +1333,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1413,39 +1398,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1484,39 +1463,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1555,39 +1528,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1626,39 +1593,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1707,10 +1668,6 @@ TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1718,19 +1675,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1740,9 +1695,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1752,6 +1713,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result index e58aa689509..5670a81c181 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; update performance_schema.setup_consumers @@ -6,9 +18,9 @@ delete from performance_schema.setup_actors where user in ('user2', 'user4'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -23,6 +35,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -40,9 +55,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -51,31 +64,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -85,9 +109,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -97,6 +127,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -126,15 +157,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -144,10 +172,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -187,15 +215,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -205,10 +230,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -238,15 +263,75 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -271,39 +356,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected @@ -337,39 +422,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -400,11 +485,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -439,39 +524,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 +wait/io/table/sql/handler 83 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 -TABLE test t2 30 -TABLE test t3 44 +TABLE test t1 17 +TABLE test t2 26 +TABLE test t3 40 select concat(current_user(), " is connected") as status; status user3@localhost is connected @@ -510,39 +595,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 +wait/io/table/sql/handler 83 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 -TABLE test t2 30 -TABLE test t3 44 +TABLE test t1 17 +TABLE test t2 26 +TABLE test t3 40 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -579,11 +664,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -624,39 +709,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 +wait/io/table/sql/handler 153 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 -TABLE test t2 54 -TABLE test t3 81 +TABLE test t1 30 +TABLE test t2 48 +TABLE test t3 75 select concat(current_user(), " is connected") as status; status user4@localhost is connected @@ -700,39 +785,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 +wait/io/table/sql/handler 153 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 -TABLE test t2 54 -TABLE test t3 81 +TABLE test t1 30 +TABLE test t2 48 +TABLE test t3 75 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -775,11 +860,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -826,39 +911,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -904,39 +989,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 flush tables; "================== flush marker ==================" "================== Step 11 ==================" @@ -979,39 +1064,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" @@ -1055,39 +1140,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1128,39 +1213,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1200,39 +1285,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1271,39 +1356,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1341,39 +1426,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1412,39 +1497,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1483,39 +1568,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1554,39 +1639,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1625,39 +1710,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1720,16 +1805,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1739,9 +1824,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1751,6 +1842,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result index 72df9aaf0a3..991869a1c87 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; update performance_schema.setup_consumers @@ -6,11 +18,11 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -24,6 +36,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -41,9 +56,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -52,31 +65,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -86,9 +110,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -98,6 +128,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -127,28 +158,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -188,28 +211,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -239,15 +254,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -272,39 +287,87 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 0 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected @@ -338,39 +401,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -401,11 +458,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -440,39 +497,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 +wait/io/table/sql/handler 57 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 +TABLE test t1 17 TABLE test t2 0 -TABLE test t3 44 +TABLE test t3 40 select concat(current_user(), " is connected") as status; status user3@localhost is connected @@ -511,39 +562,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 +wait/io/table/sql/handler 57 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 +TABLE test t1 17 TABLE test t2 0 -TABLE test t3 44 +TABLE test t3 40 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -580,11 +625,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -625,39 +670,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 +wait/io/table/sql/handler 105 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 81 +TABLE test t3 75 select concat(current_user(), " is connected") as status; status user4@localhost is connected @@ -701,39 +740,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 +wait/io/table/sql/handler 105 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 81 +TABLE test t3 75 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -776,11 +809,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -827,39 +860,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -905,39 +932,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 flush tables; "================== flush marker ==================" "================== Step 11 ==================" @@ -980,39 +1001,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" @@ -1056,39 +1071,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1129,39 +1138,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1201,39 +1204,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1272,39 +1269,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1342,39 +1333,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1413,39 +1398,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1484,39 +1463,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1555,39 +1528,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1626,39 +1593,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1707,10 +1668,6 @@ TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1718,19 +1675,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1740,9 +1695,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1752,6 +1713,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result index 3eb75359eed..823c050a843 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result @@ -1,14 +1,26 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; update performance_schema.setup_consumers set enabled='NO' where name='thread_instrumentation'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -23,6 +35,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -40,9 +55,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -51,31 +64,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -85,9 +109,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -97,6 +127,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -126,15 +157,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -144,10 +172,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -187,15 +215,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -205,10 +230,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -238,15 +263,75 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -271,39 +356,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected @@ -337,39 +422,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -400,11 +485,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -439,39 +524,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 +wait/io/table/sql/handler 83 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 -TABLE test t2 30 -TABLE test t3 44 +TABLE test t1 17 +TABLE test t2 26 +TABLE test t3 40 select concat(current_user(), " is connected") as status; status user3@localhost is connected @@ -510,39 +595,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 +wait/io/table/sql/handler 83 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 -TABLE test t2 30 -TABLE test t3 44 +TABLE test t1 17 +TABLE test t2 26 +TABLE test t3 40 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -579,11 +664,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -624,39 +709,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 +wait/io/table/sql/handler 153 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 -TABLE test t2 54 -TABLE test t3 81 +TABLE test t1 30 +TABLE test t2 48 +TABLE test t3 75 select concat(current_user(), " is connected") as status; status user4@localhost is connected @@ -700,39 +785,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 +wait/io/table/sql/handler 153 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 -TABLE test t2 54 -TABLE test t3 81 +TABLE test t1 30 +TABLE test t2 48 +TABLE test t3 75 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -775,11 +860,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -826,39 +911,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -904,39 +989,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 flush tables; "================== flush marker ==================" "================== Step 11 ==================" @@ -979,39 +1064,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" @@ -1055,39 +1140,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1128,39 +1213,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1200,39 +1285,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1271,39 +1356,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1341,39 +1426,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1412,39 +1497,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1483,39 +1568,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1554,39 +1639,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1625,39 +1710,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1720,16 +1805,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1739,9 +1824,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1751,6 +1842,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result index 7af6f77dda8..10d8d67a742 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; delete from performance_schema.setup_actors @@ -6,9 +18,9 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -22,6 +34,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -39,9 +54,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -50,31 +63,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -84,9 +108,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -96,6 +126,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -125,28 +156,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -186,28 +209,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -237,18 +252,18 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username status user2 not found @@ -258,60 +273,110 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 0 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -322,57 +387,51 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -403,11 +462,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -415,7 +474,7 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -426,64 +485,58 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -495,7 +548,7 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 @@ -503,7 +556,7 @@ user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -511,45 +564,39 @@ user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -586,11 +633,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -599,151 +646,139 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -786,11 +821,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -800,78 +835,72 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -880,233 +909,215 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1116,72 +1127,66 @@ username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1190,72 +1195,66 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1270,65 +1269,59 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1342,65 +1335,59 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1415,65 +1402,59 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1498,55 +1479,49 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1581,45 +1556,39 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1658,41 +1627,35 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1735,18 +1698,14 @@ wait/io/table/sql/handler 0 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1754,19 +1713,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1776,9 +1733,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1788,6 +1751,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result index 2eef23de28e..3e9da5f520e 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result @@ -1,12 +1,24 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; delete from performance_schema.setup_actors where user in ('user2', 'user4'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -21,6 +33,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -38,9 +53,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -49,31 +62,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -83,9 +107,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -95,6 +125,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -124,15 +155,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -142,10 +170,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -185,15 +213,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -203,10 +228,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -236,18 +261,81 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username status user2 not found @@ -257,61 +345,61 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -322,58 +410,58 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -404,11 +492,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -416,7 +504,7 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -427,65 +515,65 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -497,7 +585,7 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 @@ -505,7 +593,7 @@ user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -513,46 +601,46 @@ user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -589,11 +677,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -602,153 +690,153 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -791,11 +879,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -805,79 +893,79 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -886,236 +974,236 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1125,73 +1213,73 @@ username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1200,73 +1288,73 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1281,66 +1369,66 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1354,66 +1442,66 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1428,66 +1516,66 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1512,56 +1600,56 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1596,46 +1684,46 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1674,42 +1762,42 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1752,9 +1840,9 @@ wait/io/table/sql/handler 0 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 21 TABLE test t1 -wait/io/table/sql/handler 36 TABLE test t2 -wait/io/table/sql/handler 54 TABLE test t3 +wait/io/table/sql/handler 20 TABLE test t1 +wait/io/table/sql/handler 32 TABLE test t2 +wait/io/table/sql/handler 50 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 NULL 0 0 0 0 0 0 0 @@ -1775,16 +1863,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1794,9 +1882,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1806,6 +1900,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result index e0f321133b7..507db1eed22 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result @@ -1,14 +1,26 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -22,6 +34,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -39,9 +54,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -50,31 +63,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -84,9 +108,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -96,6 +126,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -125,28 +156,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -186,28 +209,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -237,18 +252,18 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username status user2 not found @@ -258,60 +273,110 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 0 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -322,57 +387,51 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -403,11 +462,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -415,10 +474,10 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username status user3 not found @@ -426,67 +485,61 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 62 +localhost wait/io/table/sql/handler 57 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 +wait/io/table/sql/handler 57 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 18 TABLE test t1 -wait/io/table/sql/handler 44 TABLE test t3 +wait/io/table/sql/handler 17 TABLE test t1 +wait/io/table/sql/handler 40 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 +TABLE test t1 17 TABLE test t2 0 -TABLE test t3 44 +TABLE test t3 40 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star user3 wait/io/table/sql/handler 0 @@ -495,61 +548,55 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 62 +localhost wait/io/table/sql/handler 57 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 +wait/io/table/sql/handler 57 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 18 TABLE test t1 -wait/io/table/sql/handler 44 TABLE test t3 +wait/io/table/sql/handler 17 TABLE test t1 +wait/io/table/sql/handler 40 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 +TABLE test t1 17 TABLE test t2 0 -TABLE test t3 44 +TABLE test t3 40 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -586,11 +633,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -599,151 +646,139 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 114 +localhost wait/io/table/sql/handler 105 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 +wait/io/table/sql/handler 105 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 33 TABLE test t1 -wait/io/table/sql/handler 81 TABLE test t3 +wait/io/table/sql/handler 30 TABLE test t1 +wait/io/table/sql/handler 75 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 81 +TABLE test t3 75 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 114 +localhost wait/io/table/sql/handler 105 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 +wait/io/table/sql/handler 105 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 33 TABLE test t1 -wait/io/table/sql/handler 81 TABLE test t3 +wait/io/table/sql/handler 30 TABLE test t1 +wait/io/table/sql/handler 75 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 81 +TABLE test t3 75 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -786,11 +821,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -800,78 +835,72 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -880,308 +909,284 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1190,72 +1195,66 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1266,69 +1265,63 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1342,65 +1335,59 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1415,65 +1402,59 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1498,55 +1479,49 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1581,45 +1556,39 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1658,41 +1627,35 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1735,18 +1698,14 @@ wait/io/table/sql/handler 0 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1754,19 +1713,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1776,9 +1733,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1788,6 +1751,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result index 51c9c3dfece..8b95b8404a6 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result @@ -1,12 +1,24 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -21,6 +33,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -38,9 +53,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -49,31 +62,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -83,9 +107,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -95,6 +125,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -124,15 +155,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -142,10 +170,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -185,15 +213,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -203,10 +228,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -236,18 +261,81 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username status user2 not found @@ -257,61 +345,61 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -322,58 +410,58 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 6 TABLE test t1 -wait/io/table/sql/handler 12 TABLE test t2 -wait/io/table/sql/handler 17 TABLE test t3 +wait/io/table/sql/handler 7 TABLE test t1 +wait/io/table/sql/handler 10 TABLE test t2 +wait/io/table/sql/handler 15 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -404,11 +492,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -416,10 +504,10 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username status user3 not found @@ -427,68 +515,68 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 92 +localhost wait/io/table/sql/handler 83 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 +wait/io/table/sql/handler 83 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 18 TABLE test t1 -wait/io/table/sql/handler 30 TABLE test t2 -wait/io/table/sql/handler 44 TABLE test t3 +wait/io/table/sql/handler 17 TABLE test t1 +wait/io/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 40 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 -TABLE test t2 30 -TABLE test t3 44 +TABLE test t1 17 +TABLE test t2 26 +TABLE test t3 40 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star user3 wait/io/table/sql/handler 0 @@ -497,62 +585,62 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 92 +localhost wait/io/table/sql/handler 83 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 +wait/io/table/sql/handler 83 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 18 TABLE test t1 -wait/io/table/sql/handler 30 TABLE test t2 -wait/io/table/sql/handler 44 TABLE test t3 +wait/io/table/sql/handler 17 TABLE test t1 +wait/io/table/sql/handler 26 TABLE test t2 +wait/io/table/sql/handler 40 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 -TABLE test t2 30 -TABLE test t3 44 +TABLE test t1 17 +TABLE test t2 26 +TABLE test t3 40 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -589,11 +677,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -602,153 +690,153 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 168 +localhost wait/io/table/sql/handler 153 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 +wait/io/table/sql/handler 153 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 33 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t2 -wait/io/table/sql/handler 81 TABLE test t3 +wait/io/table/sql/handler 30 TABLE test t1 +wait/io/table/sql/handler 48 TABLE test t2 +wait/io/table/sql/handler 75 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 -TABLE test t2 54 -TABLE test t3 81 +TABLE test t1 30 +TABLE test t2 48 +TABLE test t3 75 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 168 +localhost wait/io/table/sql/handler 153 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 +wait/io/table/sql/handler 153 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 33 TABLE test t1 -wait/io/table/sql/handler 54 TABLE test t2 -wait/io/table/sql/handler 81 TABLE test t3 +wait/io/table/sql/handler 30 TABLE test t1 +wait/io/table/sql/handler 48 TABLE test t2 +wait/io/table/sql/handler 75 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 -TABLE test t2 54 -TABLE test t3 81 +TABLE test t1 30 +TABLE test t2 48 +TABLE test t3 75 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -791,11 +879,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -805,79 +893,79 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -886,312 +974,312 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1200,73 +1288,73 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1277,70 +1365,70 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1354,66 +1442,66 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1428,66 +1516,66 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1512,56 +1600,56 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1596,46 +1684,46 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1674,42 +1762,42 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1752,9 +1840,9 @@ wait/io/table/sql/handler 0 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name -wait/io/table/sql/handler 51 TABLE test t1 -wait/io/table/sql/handler 84 TABLE test t2 -wait/io/table/sql/handler 128 TABLE test t3 +wait/io/table/sql/handler 46 TABLE test t1 +wait/io/table/sql/handler 76 TABLE test t2 +wait/io/table/sql/handler 120 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 NULL 0 0 0 0 0 0 0 @@ -1775,16 +1863,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1794,9 +1882,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1806,6 +1900,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result index 035e67abf45..6e6a5a3d1c3 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; update performance_schema.setup_consumers @@ -8,9 +20,9 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -24,6 +36,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -41,9 +56,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -52,31 +65,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -86,9 +110,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -98,6 +128,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -127,28 +158,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -188,28 +211,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -239,18 +254,18 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username status user2 not found @@ -260,58 +275,106 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 0 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -322,55 +385,49 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -401,11 +458,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -413,7 +470,7 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -424,62 +481,56 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -491,7 +542,7 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 @@ -499,7 +550,7 @@ user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -507,43 +558,37 @@ user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -580,11 +625,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -593,147 +638,135 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -776,11 +809,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -790,76 +823,70 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -868,227 +895,209 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1098,70 +1107,64 @@ username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1170,70 +1173,64 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1248,63 +1245,57 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1318,63 +1309,57 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1389,63 +1374,57 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1470,53 +1449,47 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1551,43 +1524,37 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 75 +localhost wait/io/table/sql/handler 70 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1626,39 +1593,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 75 +wait/io/table/sql/handler 70 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 +TABLE test t1 20 TABLE test t2 0 -TABLE test t3 54 +TABLE test t3 50 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1707,10 +1668,6 @@ TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1718,19 +1675,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1740,9 +1695,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1752,6 +1713,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result index 8bb532b0481..b3409b9ea5f 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; update performance_schema.setup_consumers @@ -6,9 +18,9 @@ delete from performance_schema.setup_actors where user in ('user2', 'user4'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -23,6 +35,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -40,9 +55,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -51,31 +64,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -85,9 +109,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -97,6 +127,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -126,15 +157,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -144,10 +172,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -187,15 +215,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -205,10 +230,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -238,18 +263,78 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username status user2 not found @@ -259,58 +344,58 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -321,55 +406,55 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -400,11 +485,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -412,7 +497,7 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -423,62 +508,62 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -490,7 +575,7 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 @@ -498,7 +583,7 @@ user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 @@ -506,43 +591,43 @@ user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -579,11 +664,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -592,147 +677,147 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -775,11 +860,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -789,76 +874,76 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -867,227 +952,227 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); @@ -1097,70 +1182,70 @@ username event_name count_star user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1169,70 +1254,70 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1247,63 +1332,63 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1317,63 +1402,63 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1388,63 +1473,63 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1469,53 +1554,53 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1550,43 +1635,43 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 111 +localhost wait/io/table/sql/handler 102 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1625,39 +1710,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 111 +wait/io/table/sql/handler 102 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 16 10 6 10 2 4 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 12 10 2 10 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 32 20 12 20 4 8 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 8 2 6 2 0 6 0 +TABLE test t2 NULL 22 18 4 18 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 46 28 18 28 6 12 0 -TABLE test t3 index_b 6 6 0 6 0 0 0 +TABLE test t2 PRIMARY 10 2 8 2 0 8 0 +TABLE test t3 NULL 32 26 6 26 6 0 0 +TABLE test t3 index_b 4 4 0 4 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 14 2 12 2 0 12 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 21 13 8 13 2 6 0 -TABLE test t2 36 24 12 24 4 8 0 -TABLE test t3 54 36 18 36 6 12 0 +TABLE test t1 20 12 8 12 2 6 0 +TABLE test t2 32 20 12 20 4 8 0 +TABLE test t3 50 32 18 32 6 12 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 21 -TABLE test t2 36 -TABLE test t3 54 +TABLE test t1 20 +TABLE test t2 32 +TABLE test t3 50 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1720,16 +1805,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1739,9 +1824,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1751,6 +1842,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result index a3d58d2dcc4..1675f6c91cf 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; update performance_schema.setup_consumers @@ -6,11 +18,11 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -24,6 +36,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -41,9 +56,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -52,31 +65,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -86,9 +110,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -98,6 +128,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -127,28 +158,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -188,28 +211,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -239,18 +254,18 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username status user2 not found @@ -260,58 +275,106 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 22 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 22 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 22 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 22 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 0 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -322,55 +385,49 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 23 +localhost wait/io/table/sql/handler 22 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 23 +wait/io/table/sql/handler 22 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 +TABLE test t1 7 TABLE test t2 0 -TABLE test t3 17 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -401,11 +458,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -413,10 +470,10 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username status user3 not found @@ -424,65 +481,59 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 62 +localhost wait/io/table/sql/handler 57 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 +wait/io/table/sql/handler 57 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 +TABLE test t1 17 TABLE test t2 0 -TABLE test t3 44 +TABLE test t3 40 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star user3 wait/io/table/sql/handler 0 @@ -491,59 +542,53 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 62 +localhost wait/io/table/sql/handler 57 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 62 +wait/io/table/sql/handler 57 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 +TABLE test t1 17 TABLE test t2 0 -TABLE test t3 44 +TABLE test t3 40 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -580,11 +625,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -593,147 +638,135 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 114 +localhost wait/io/table/sql/handler 105 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 +wait/io/table/sql/handler 105 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 81 +TABLE test t3 75 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 114 +localhost wait/io/table/sql/handler 105 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 114 +wait/io/table/sql/handler 105 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 +TABLE test t1 30 TABLE test t2 0 -TABLE test t3 81 +TABLE test t3 75 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -776,11 +809,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -790,76 +823,70 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -868,300 +895,276 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1170,70 +1173,64 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1244,67 +1241,61 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1318,63 +1309,57 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1389,63 +1374,57 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 23 +user1 localhost wait/io/table/sql/handler 22 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 39 +user2 localhost wait/io/table/sql/handler 35 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 52 +user3 localhost wait/io/table/sql/handler 48 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 65 +user4 localhost wait/io/table/sql/handler 61 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1470,53 +1449,47 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 23 +user1 wait/io/table/sql/handler 22 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 39 +user2 wait/io/table/sql/handler 35 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 52 +user3 wait/io/table/sql/handler 48 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 65 +user4 wait/io/table/sql/handler 61 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1551,43 +1524,37 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 179 +localhost wait/io/table/sql/handler 166 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1626,39 +1593,33 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 179 +wait/io/table/sql/handler 166 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 0 0 0 0 0 0 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 +TABLE test t1 46 TABLE test t2 0 -TABLE test t3 128 +TABLE test t3 120 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1707,10 +1668,6 @@ TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 @@ -1718,19 +1675,17 @@ TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1740,9 +1695,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1752,6 +1713,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result index c372ac3f3ea..7c6a4dbc991 100644 --- a/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result +++ b/mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result @@ -1,14 +1,26 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/lock/table/sql/handler'; update performance_schema.setup_consumers set enabled='NO' where name like 'event%'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -23,6 +35,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -40,9 +55,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -51,31 +64,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -85,9 +109,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -97,6 +127,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -126,15 +157,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -144,10 +172,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -187,15 +215,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -205,10 +230,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -238,18 +263,78 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 32 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 32 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 32 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 32 +wait/lock/table/sql/handler 0 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 NULL 4 3 1 3 1 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username status user2 not found @@ -259,58 +344,58 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 select concat(current_user(), " is connected") as status; status user2@localhost is connected "================== Step 4 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star user2 wait/io/table/sql/handler 0 @@ -321,55 +406,55 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 user2 localhost wait/io/table/sql/handler 0 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 user2 wait/io/table/sql/handler 0 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 35 +localhost wait/io/table/sql/handler 32 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 35 +wait/io/table/sql/handler 32 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 4 2 2 2 1 1 0 +TABLE test t1 NULL 4 3 1 3 1 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 2 1 1 1 0 1 0 -TABLE test t2 NULL 10 6 4 6 2 2 0 -TABLE test t2 index_b 1 1 0 1 0 0 0 +TABLE test t1 PRIMARY 3 1 2 1 0 2 0 +TABLE test t2 NULL 7 5 2 5 2 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 1 1 0 1 0 0 0 -TABLE test t3 NULL 14 8 6 8 3 3 0 -TABLE test t3 index_b 2 2 0 2 0 0 0 +TABLE test t2 PRIMARY 3 1 2 1 0 2 0 +TABLE test t3 NULL 10 7 3 7 3 0 0 +TABLE test t3 index_b 1 1 0 1 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 1 1 0 1 0 0 0 +TABLE test t3 PRIMARY 4 1 3 1 0 3 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 6 3 3 3 1 2 0 -TABLE test t2 12 8 4 8 2 2 0 -TABLE test t3 17 11 6 11 3 3 0 +TABLE test t1 7 4 3 4 1 2 0 +TABLE test t2 10 6 4 6 2 2 0 +TABLE test t3 15 9 6 9 3 3 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 6 -TABLE test t2 12 -TABLE test t3 17 +TABLE test t1 7 +TABLE test t2 10 +TABLE test t3 15 insert into test.t1 set a=201, b=1, c=1; insert into test.t2 set a=202, b=2, c=2; insert into test.t2 set a=203, b=3, c=3; @@ -400,11 +485,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -412,10 +497,10 @@ a b c d "================== Step 5 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username status user3 not found @@ -423,65 +508,65 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 92 +localhost wait/io/table/sql/handler 83 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 +wait/io/table/sql/handler 83 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 -TABLE test t2 30 -TABLE test t3 44 +TABLE test t1 17 +TABLE test t2 26 +TABLE test t3 40 select concat(current_user(), " is connected") as status; status user3@localhost is connected "================== Step 6 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star user3 wait/io/table/sql/handler 0 @@ -490,59 +575,59 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 user3 localhost wait/io/table/sql/handler 0 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 user3 wait/io/table/sql/handler 0 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 92 +localhost wait/io/table/sql/handler 83 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 92 +wait/io/table/sql/handler 83 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 13 8 5 8 2 3 0 -TABLE test t1 index_b 1 1 0 1 0 0 0 +TABLE test t1 NULL 10 8 2 8 2 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 4 2 2 2 0 2 0 -TABLE test t2 NULL 26 16 10 16 4 6 0 -TABLE test t2 index_b 2 2 0 2 0 0 0 +TABLE test t1 PRIMARY 7 2 5 2 0 5 0 +TABLE test t2 NULL 18 14 4 14 4 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 2 2 0 2 0 0 0 -TABLE test t3 NULL 37 22 15 22 6 9 0 -TABLE test t3 index_b 5 5 0 5 0 0 0 +TABLE test t2 PRIMARY 8 2 6 2 0 6 0 +TABLE test t3 NULL 26 20 6 20 6 0 0 +TABLE test t3 index_b 3 3 0 3 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 2 2 0 2 0 0 0 +TABLE test t3 PRIMARY 11 2 9 2 0 9 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 18 11 7 11 2 5 0 -TABLE test t2 30 20 10 20 4 6 0 -TABLE test t3 44 29 15 29 6 9 0 +TABLE test t1 17 10 7 10 2 5 0 +TABLE test t2 26 16 10 16 4 6 0 +TABLE test t3 40 25 15 25 6 9 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 18 -TABLE test t2 30 -TABLE test t3 44 +TABLE test t1 17 +TABLE test t2 26 +TABLE test t3 40 insert into test.t1 set a=301, b=1, c=1; insert into test.t2 set a=302, b=2, c=2; insert into test.t2 set a=303, b=3, c=3; @@ -579,11 +664,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -592,147 +677,147 @@ a b c d "================== Step 7 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 168 +localhost wait/io/table/sql/handler 153 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 +wait/io/table/sql/handler 153 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 -TABLE test t2 54 -TABLE test t3 81 +TABLE test t1 30 +TABLE test t2 48 +TABLE test t3 75 select concat(current_user(), " is connected") as status; status user4@localhost is connected "================== Step 8 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 168 +localhost wait/io/table/sql/handler 153 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 168 +wait/io/table/sql/handler 153 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 25 16 9 16 3 6 0 -TABLE test t1 index_b 2 2 0 2 0 0 0 +TABLE test t1 NULL 18 15 3 15 3 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 6 3 3 3 0 3 0 -TABLE test t2 NULL 48 30 18 30 6 12 0 -TABLE test t2 index_b 3 3 0 3 0 0 0 +TABLE test t1 PRIMARY 12 3 9 3 0 9 0 +TABLE test t2 NULL 33 27 6 27 6 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 3 3 0 3 0 0 0 -TABLE test t3 NULL 69 42 27 42 9 18 0 -TABLE test t3 index_b 9 9 0 9 0 0 0 +TABLE test t2 PRIMARY 15 3 12 3 0 12 0 +TABLE test t3 NULL 48 39 9 39 9 0 0 +TABLE test t3 index_b 6 6 0 6 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 3 3 0 3 0 0 0 +TABLE test t3 PRIMARY 21 3 18 3 0 18 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 33 21 12 21 3 9 0 -TABLE test t2 54 36 18 36 6 12 0 -TABLE test t3 81 54 27 54 9 18 0 +TABLE test t1 30 18 12 18 3 9 0 +TABLE test t2 48 30 18 30 6 12 0 +TABLE test t3 75 48 27 48 9 18 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 33 -TABLE test t2 54 -TABLE test t3 81 +TABLE test t1 30 +TABLE test t2 48 +TABLE test t3 75 insert into test.t1 set a=401, b=1, c=1; insert into test.t2 set a=402, b=2, c=2; insert into test.t2 set a=403, b=3, c=3; @@ -775,11 +860,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -789,76 +874,76 @@ a b c d "================== Step 9 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 lock tables test.t1 read, test.t2 read, test.t3 read; unlock tables; lock tables test.t1 write, test.t2 write, test.t3 write; @@ -867,300 +952,300 @@ unlock tables; "================== Step 10 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 flush tables; "================== flush marker ==================" "================== Step 11 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 set global read_only=1; set global read_only=0; "================== global read_only marker ==================" "================== Step 12 ==================" call dump_thread(); username event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con1 disconnected ==================" "================== Step 13 ==================" call dump_thread(); username status user1 not found username event_name count_star -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con2 disconnected ==================" "================== Step 14 ==================" call dump_thread(); @@ -1169,70 +1254,70 @@ user1 not found username status user2 not found username event_name count_star -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con3 disconnected ==================" "================== Step 15 ==================" call dump_thread(); @@ -1243,67 +1328,67 @@ user2 not found username status user3 not found username event_name count_star -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 "================== con4 disconnected ==================" "================== Step 16 ==================" call dump_thread(); @@ -1317,63 +1402,63 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_thread_by_event_name; "================== BY_THREAD truncated ==================" "================== Step 17 ==================" @@ -1388,63 +1473,63 @@ username status user4 not found execute dump_waits_account; user host event_name count_star -user1 localhost wait/io/table/sql/handler 35 +user1 localhost wait/io/table/sql/handler 32 user1 localhost wait/lock/table/sql/handler 0 -user2 localhost wait/io/table/sql/handler 57 +user2 localhost wait/io/table/sql/handler 51 user2 localhost wait/lock/table/sql/handler 0 -user3 localhost wait/io/table/sql/handler 76 +user3 localhost wait/io/table/sql/handler 70 user3 localhost wait/lock/table/sql/handler 0 -user4 localhost wait/io/table/sql/handler 95 +user4 localhost wait/io/table/sql/handler 89 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_account_by_event_name; "================== BY_ACCOUNT truncated ==================" "================== Step 18 ==================" @@ -1469,53 +1554,53 @@ user4 localhost wait/io/table/sql/handler 0 user4 localhost wait/lock/table/sql/handler 0 execute dump_waits_user; user event_name count_star -user1 wait/io/table/sql/handler 35 +user1 wait/io/table/sql/handler 32 user1 wait/lock/table/sql/handler 0 -user2 wait/io/table/sql/handler 57 +user2 wait/io/table/sql/handler 51 user2 wait/lock/table/sql/handler 0 -user3 wait/io/table/sql/handler 76 +user3 wait/io/table/sql/handler 70 user3 wait/lock/table/sql/handler 0 -user4 wait/io/table/sql/handler 95 +user4 wait/io/table/sql/handler 89 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_user_by_event_name; "================== BY_USER truncated ==================" "================== Step 19 ==================" @@ -1550,43 +1635,43 @@ user4 wait/io/table/sql/handler 0 user4 wait/lock/table/sql/handler 0 execute dump_waits_host; host event_name count_star -localhost wait/io/table/sql/handler 263 +localhost wait/io/table/sql/handler 242 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_by_host_by_event_name; "================== BY_HOST truncated ==================" "================== Step 21 ==================" @@ -1625,39 +1710,39 @@ localhost wait/io/table/sql/handler 0 localhost wait/lock/table/sql/handler 0 execute dump_waits_global; event_name count_star -wait/io/table/sql/handler 263 +wait/io/table/sql/handler 242 wait/lock/table/sql/handler 0 execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 40 26 14 26 4 10 0 -TABLE test t1 index_b 3 3 0 3 0 0 0 +TABLE test t1 NULL 28 24 4 24 4 0 0 +TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 -TABLE test t1 PRIMARY 8 4 4 4 0 4 0 -TABLE test t2 NULL 76 48 28 48 8 20 0 -TABLE test t2 index_b 4 4 0 4 0 0 0 +TABLE test t1 PRIMARY 18 4 14 4 0 14 0 +TABLE test t2 NULL 52 44 8 44 8 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 4 4 0 4 0 0 0 -TABLE test t3 NULL 110 68 42 68 12 30 0 -TABLE test t3 index_b 14 14 0 14 0 0 0 +TABLE test t2 PRIMARY 24 4 20 4 0 20 0 +TABLE test t3 NULL 76 64 12 64 12 0 0 +TABLE test t3 index_b 10 10 0 10 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 -TABLE test t3 PRIMARY 4 4 0 4 0 0 0 +TABLE test t3 PRIMARY 34 4 30 4 0 30 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 51 33 18 33 4 14 0 -TABLE test t2 84 56 28 56 8 20 0 -TABLE test t3 128 86 42 86 12 30 0 +TABLE test t1 46 28 18 28 4 14 0 +TABLE test t2 76 48 28 48 8 20 0 +TABLE test t3 120 78 42 78 12 30 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star -TABLE test t1 51 -TABLE test t2 84 -TABLE test t3 128 +TABLE test t1 46 +TABLE test t2 76 +TABLE test t3 120 truncate performance_schema.events_waits_summary_global_by_event_name; "================== GLOBAL truncated ==================" "================== Step 21 ==================" @@ -1720,16 +1805,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1739,9 +1824,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1751,6 +1842,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result index f2c79374583..c96d610109d 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; update performance_schema.setup_consumers @@ -8,9 +20,9 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -24,6 +36,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -41,9 +56,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -52,31 +65,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -86,9 +110,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -98,6 +128,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -127,28 +158,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -188,28 +211,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -239,15 +254,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -278,28 +293,72 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 0 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 24 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -344,28 +403,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -401,11 +452,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -446,28 +497,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -517,28 +560,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -580,11 +615,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -631,28 +666,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -707,28 +734,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -776,11 +795,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -833,28 +852,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 40 16 24 8 0 0 0 8 0 12 +TABLE test t3 56 16 40 8 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 40 @@ -911,28 +922,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -986,28 +989,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1062,28 +1057,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1135,28 +1122,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1207,28 +1186,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1278,28 +1249,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1348,28 +1311,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1419,28 +1374,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1490,28 +1437,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1561,28 +1500,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1632,28 +1563,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1703,34 +1626,26 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1740,9 +1655,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1752,6 +1673,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result index 66a917412a9..1b939367b5c 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; update performance_schema.setup_consumers @@ -6,9 +18,9 @@ delete from performance_schema.setup_actors where user in ('user2', 'user4'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -23,6 +35,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -40,9 +55,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -51,31 +64,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -85,9 +109,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -97,6 +127,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -126,15 +157,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -144,10 +172,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -187,15 +215,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -205,10 +230,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -238,15 +263,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -277,15 +302,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -295,10 +317,67 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 12 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 36 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -343,15 +422,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -361,10 +437,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -400,11 +476,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -445,15 +521,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -463,10 +536,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -516,15 +589,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -534,10 +604,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -579,11 +649,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -630,15 +700,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -648,10 +715,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t2 36 12 24 6 0 0 0 6 0 12 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -706,15 +773,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -724,10 +788,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t2 36 12 24 6 0 0 0 6 0 12 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -775,11 +839,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -832,15 +896,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -850,10 +911,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 48 16 32 8 0 0 0 8 0 0 16 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 40 16 24 8 0 0 0 8 0 12 +TABLE test t2 48 16 32 8 0 0 0 8 0 16 +TABLE test t3 56 16 40 8 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 40 @@ -910,15 +971,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -928,10 +986,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -985,15 +1043,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1003,10 +1058,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1061,15 +1116,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1079,10 +1131,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1134,15 +1186,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1152,10 +1201,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1206,15 +1255,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1224,10 +1270,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1277,15 +1323,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1295,10 +1338,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1347,15 +1390,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1365,10 +1405,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1418,15 +1458,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1436,10 +1473,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1489,15 +1526,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1507,10 +1541,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1560,15 +1594,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1578,10 +1609,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1631,15 +1662,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1649,10 +1677,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1702,15 +1730,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1720,16 +1745,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1739,9 +1764,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1751,6 +1782,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result index 3b6326fd2df..c8198bbbd07 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; update performance_schema.setup_consumers @@ -6,11 +18,11 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -24,6 +36,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -41,9 +56,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -52,31 +65,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -86,9 +110,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -98,6 +128,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -127,28 +158,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -188,28 +211,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -239,15 +254,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -278,28 +293,72 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 0 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 24 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -344,28 +403,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -401,11 +452,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -446,28 +497,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -517,28 +560,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -580,11 +615,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -631,28 +666,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -707,28 +734,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -776,11 +795,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -833,28 +852,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 40 16 24 8 0 0 0 8 0 12 +TABLE test t3 56 16 40 8 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 40 @@ -911,28 +922,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -986,28 +989,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1062,28 +1057,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1135,28 +1122,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1207,28 +1186,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1278,28 +1249,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1348,28 +1311,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1419,28 +1374,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1490,28 +1437,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1561,28 +1500,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1632,28 +1563,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1703,34 +1626,26 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1740,9 +1655,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1752,6 +1673,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result index 85e1bbeb332..b35bb53199c 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result @@ -1,14 +1,26 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; update performance_schema.setup_consumers set enabled='NO' where name='thread_instrumentation'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -23,6 +35,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -40,9 +55,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -51,31 +64,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -85,9 +109,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -97,6 +127,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -126,15 +157,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -144,10 +172,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -187,15 +215,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -205,10 +230,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -238,15 +263,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -277,15 +302,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -295,10 +317,67 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 12 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 0 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 0 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 0 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 36 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -343,15 +422,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -361,10 +437,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -400,11 +476,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -445,15 +521,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -463,10 +536,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -516,15 +589,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -534,10 +604,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -579,11 +649,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -630,15 +700,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -648,10 +715,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t2 36 12 24 6 0 0 0 6 0 12 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -706,15 +773,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -724,10 +788,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t2 36 12 24 6 0 0 0 6 0 12 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -775,11 +839,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -832,15 +896,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -850,10 +911,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 48 16 32 8 0 0 0 8 0 0 16 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 40 16 24 8 0 0 0 8 0 12 +TABLE test t2 48 16 32 8 0 0 0 8 0 16 +TABLE test t3 56 16 40 8 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 40 @@ -910,15 +971,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -928,10 +986,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -985,15 +1043,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1003,10 +1058,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1061,15 +1116,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1079,10 +1131,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1134,15 +1186,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1152,10 +1201,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1206,15 +1255,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1224,10 +1270,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1277,15 +1323,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1295,10 +1338,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1347,15 +1390,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1365,10 +1405,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1418,15 +1458,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1436,10 +1473,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1489,15 +1526,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1507,10 +1541,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1560,15 +1594,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1578,10 +1609,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1631,15 +1662,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1649,10 +1677,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1702,15 +1730,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1720,16 +1745,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1739,9 +1764,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1751,6 +1782,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result index 725770f2b3c..58442bf4589 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; delete from performance_schema.setup_actors @@ -6,9 +18,9 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -22,6 +34,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -39,9 +54,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -50,31 +63,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -84,9 +108,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -96,6 +126,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -125,28 +156,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -186,28 +209,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -237,15 +252,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -278,28 +293,74 @@ wait/lock/table/sql/handler 10 TABLE test t1 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 0 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 24 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 24 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 24 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 24 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 24 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/lock/table/sql/handler 10 TABLE test t1 +wait/lock/table/sql/handler 14 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -346,28 +407,20 @@ wait/lock/table/sql/handler 10 TABLE test t1 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -403,11 +456,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -450,28 +503,20 @@ wait/lock/table/sql/handler 10 TABLE test t1 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -523,28 +568,20 @@ wait/lock/table/sql/handler 10 TABLE test t1 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -586,11 +623,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -639,28 +676,20 @@ wait/lock/table/sql/handler 20 TABLE test t1 wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -717,28 +746,20 @@ wait/lock/table/sql/handler 20 TABLE test t1 wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -786,11 +807,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -845,28 +866,20 @@ wait/lock/table/sql/handler 20 TABLE test t1 wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -925,28 +938,20 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1002,28 +1007,20 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1080,28 +1077,20 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1155,28 +1144,20 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1229,28 +1210,20 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1302,28 +1275,20 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1374,28 +1339,20 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1447,28 +1404,20 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1520,28 +1469,20 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1593,28 +1534,20 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1666,28 +1599,20 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1739,34 +1664,26 @@ wait/lock/table/sql/handler 24 TABLE test t1 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1776,9 +1693,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1788,6 +1711,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result index d92ec0a1997..b86094d778a 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result @@ -1,12 +1,24 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; delete from performance_schema.setup_actors where user in ('user2', 'user4'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -21,6 +33,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -38,9 +53,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -49,31 +62,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -83,9 +107,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -95,6 +125,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -124,15 +155,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -142,10 +170,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -185,15 +213,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -203,10 +228,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -236,15 +261,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -278,15 +303,12 @@ wait/lock/table/sql/handler 12 TABLE test t2 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -296,10 +318,70 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 12 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 36 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 36 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 36 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 36 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 36 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/lock/table/sql/handler 10 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -347,15 +429,12 @@ wait/lock/table/sql/handler 12 TABLE test t2 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -365,10 +444,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -404,11 +483,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -452,15 +531,12 @@ wait/lock/table/sql/handler 12 TABLE test t2 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -470,10 +546,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -526,15 +602,12 @@ wait/lock/table/sql/handler 12 TABLE test t2 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -544,10 +617,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -589,11 +662,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -643,15 +716,12 @@ wait/lock/table/sql/handler 24 TABLE test t2 wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -661,10 +731,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -722,15 +792,12 @@ wait/lock/table/sql/handler 24 TABLE test t2 wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -740,10 +807,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -791,11 +858,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -851,15 +918,12 @@ wait/lock/table/sql/handler 24 TABLE test t2 wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -869,10 +933,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -932,15 +996,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -950,10 +1011,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1010,15 +1071,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1028,10 +1086,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1089,15 +1147,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1107,10 +1162,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1165,15 +1220,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1183,10 +1235,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1240,15 +1292,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1258,10 +1307,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1314,15 +1363,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1332,10 +1378,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1387,15 +1433,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1405,10 +1448,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1461,15 +1504,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1479,10 +1519,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1535,15 +1575,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1553,10 +1590,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1609,15 +1646,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1627,10 +1661,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1683,15 +1717,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1701,10 +1732,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1757,15 +1788,12 @@ wait/lock/table/sql/handler 28 TABLE test t2 wait/lock/table/sql/handler 32 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1775,16 +1803,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1794,9 +1822,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1806,6 +1840,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result index b03a26f4694..b6f70d3d3ed 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result @@ -1,14 +1,26 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -22,6 +34,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -39,9 +54,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -50,31 +63,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -84,9 +108,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -96,6 +126,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -125,28 +156,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -186,28 +209,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -237,15 +252,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -278,28 +293,74 @@ wait/lock/table/sql/handler 10 TABLE test t1 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 0 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 24 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 24 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 24 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 24 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 24 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/lock/table/sql/handler 10 TABLE test t1 +wait/lock/table/sql/handler 14 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -346,28 +407,20 @@ wait/lock/table/sql/handler 10 TABLE test t1 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -403,11 +456,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -450,28 +503,20 @@ wait/lock/table/sql/handler 20 TABLE test t1 wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -523,28 +568,20 @@ wait/lock/table/sql/handler 20 TABLE test t1 wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -586,11 +623,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -639,28 +676,20 @@ wait/lock/table/sql/handler 30 TABLE test t1 wait/lock/table/sql/handler 42 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -717,28 +746,20 @@ wait/lock/table/sql/handler 30 TABLE test t1 wait/lock/table/sql/handler 42 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -786,11 +807,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -845,28 +866,20 @@ wait/lock/table/sql/handler 40 TABLE test t1 wait/lock/table/sql/handler 56 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 40 16 24 8 0 0 0 8 0 12 +TABLE test t3 56 16 40 8 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 40 @@ -925,28 +938,20 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1002,28 +1007,20 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1080,28 +1077,20 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1155,28 +1144,20 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1229,28 +1210,20 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1302,28 +1275,20 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1374,28 +1339,20 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1447,28 +1404,20 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1520,28 +1469,20 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1593,28 +1534,20 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1666,28 +1599,20 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1739,34 +1664,26 @@ wait/lock/table/sql/handler 44 TABLE test t1 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1776,9 +1693,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1788,6 +1711,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result index ca62861bedb..a81c7f4750f 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result @@ -1,12 +1,24 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -21,6 +33,9 @@ events_stages_history_long YES events_statements_current YES events_statements_history YES events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES events_waits_current YES events_waits_history YES events_waits_history_long YES @@ -38,9 +53,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -49,31 +62,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -83,9 +107,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -95,6 +125,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -124,15 +155,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -142,10 +170,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -185,15 +213,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -203,10 +228,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -236,15 +261,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -278,15 +303,12 @@ wait/lock/table/sql/handler 12 TABLE test t2 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -296,10 +318,70 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 12 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 36 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 36 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 36 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 36 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 36 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +wait/lock/table/sql/handler 10 TABLE test t1 +wait/lock/table/sql/handler 12 TABLE test t2 +wait/lock/table/sql/handler 14 TABLE test t3 +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -347,15 +429,12 @@ wait/lock/table/sql/handler 12 TABLE test t2 wait/lock/table/sql/handler 14 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -365,10 +444,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -404,11 +483,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -452,15 +531,12 @@ wait/lock/table/sql/handler 24 TABLE test t2 wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -470,10 +546,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -526,15 +602,12 @@ wait/lock/table/sql/handler 24 TABLE test t2 wait/lock/table/sql/handler 28 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -544,10 +617,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -589,11 +662,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -643,15 +716,12 @@ wait/lock/table/sql/handler 36 TABLE test t2 wait/lock/table/sql/handler 42 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -661,10 +731,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t2 36 12 24 6 0 0 0 6 0 12 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -722,15 +792,12 @@ wait/lock/table/sql/handler 36 TABLE test t2 wait/lock/table/sql/handler 42 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -740,10 +807,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t2 36 12 24 6 0 0 0 6 0 12 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -791,11 +858,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -851,15 +918,12 @@ wait/lock/table/sql/handler 48 TABLE test t2 wait/lock/table/sql/handler 56 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -869,10 +933,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 48 16 32 8 0 0 0 8 0 0 16 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 40 16 24 8 0 0 0 8 0 12 +TABLE test t2 48 16 32 8 0 0 0 8 0 16 +TABLE test t3 56 16 40 8 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 40 @@ -932,15 +996,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -950,10 +1011,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1010,15 +1071,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1028,10 +1086,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1089,15 +1147,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1107,10 +1162,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1165,15 +1220,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1183,10 +1235,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1240,15 +1292,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1258,10 +1307,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1314,15 +1363,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1332,10 +1378,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1387,15 +1433,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1405,10 +1448,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1461,15 +1504,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1479,10 +1519,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1535,15 +1575,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1553,10 +1590,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1609,15 +1646,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1627,10 +1661,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1683,15 +1717,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1701,10 +1732,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1757,15 +1788,12 @@ wait/lock/table/sql/handler 52 TABLE test t2 wait/lock/table/sql/handler 60 TABLE test t3 execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1775,16 +1803,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1794,9 +1822,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1806,6 +1840,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result index 7c1bbd2ddb0..778cc635ec6 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; update performance_schema.setup_consumers @@ -8,9 +20,9 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -24,6 +36,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -41,9 +56,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -52,31 +65,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -86,9 +110,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -98,6 +128,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -127,28 +158,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -188,28 +211,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -239,15 +254,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -278,28 +293,72 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 0 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 24 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 24 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 24 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 24 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 24 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -344,28 +403,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -401,11 +452,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -446,28 +497,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -517,28 +560,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -580,11 +615,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -631,28 +666,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -707,28 +734,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -776,11 +795,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -833,28 +852,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -911,28 +922,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -986,28 +989,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1062,28 +1057,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1135,28 +1122,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1207,28 +1186,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1278,28 +1249,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1348,28 +1311,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1419,28 +1374,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1490,28 +1437,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1561,28 +1500,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1632,28 +1563,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1703,34 +1626,26 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1740,9 +1655,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1752,6 +1673,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result index 302563786d2..b1800ad07f4 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; update performance_schema.setup_consumers @@ -6,9 +18,9 @@ delete from performance_schema.setup_actors where user in ('user2', 'user4'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user3 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user3 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -23,6 +35,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -40,9 +55,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -51,31 +64,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -85,9 +109,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -97,6 +127,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -126,15 +157,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -144,10 +172,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -187,15 +215,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -205,10 +230,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -238,15 +263,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -277,15 +302,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -295,10 +317,67 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 12 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 36 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 36 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 36 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 36 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 36 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -343,15 +422,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -361,10 +437,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -400,11 +476,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -445,15 +521,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -463,10 +536,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -516,15 +589,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -534,10 +604,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -579,11 +649,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -630,15 +700,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -648,10 +715,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -706,15 +773,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -724,10 +788,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -775,11 +839,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -832,15 +896,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -850,10 +911,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -910,15 +971,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -928,10 +986,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -985,15 +1043,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1003,10 +1058,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1061,15 +1116,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1079,10 +1131,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1134,15 +1186,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1152,10 +1201,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1206,15 +1255,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1224,10 +1270,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1277,15 +1323,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1295,10 +1338,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1347,15 +1390,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1365,10 +1405,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1418,15 +1458,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1436,10 +1473,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1489,15 +1526,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1507,10 +1541,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1560,15 +1594,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1578,10 +1609,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1631,15 +1662,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1649,10 +1677,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 24 10 14 4 0 0 1 5 0 0 7 -TABLE test t2 28 10 18 4 0 0 1 5 0 0 9 -TABLE test t3 32 10 22 4 0 0 1 5 0 0 11 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 24 10 14 4 0 0 1 5 0 7 +TABLE test t2 28 10 18 4 0 0 1 5 0 9 +TABLE test t3 32 10 22 4 0 0 1 5 0 11 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 24 @@ -1702,15 +1730,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1720,16 +1745,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1739,9 +1764,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1751,6 +1782,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result index 390a3523421..6a6a48090cc 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result @@ -1,3 +1,15 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; update performance_schema.setup_consumers @@ -6,11 +18,11 @@ delete from performance_schema.setup_objects where object_name='t2'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -24,6 +36,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -41,9 +56,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -52,31 +65,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -86,9 +110,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -98,6 +128,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -127,28 +158,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -188,28 +211,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -239,15 +254,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -278,28 +293,72 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 0 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 24 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 24 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 24 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 24 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 24 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -344,28 +403,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -401,11 +452,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -446,28 +497,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -517,28 +560,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -580,11 +615,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -631,28 +666,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -707,28 +734,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -776,11 +795,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -833,28 +852,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 40 16 24 8 0 0 0 8 0 12 +TABLE test t3 56 16 40 8 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 40 @@ -911,28 +922,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -986,28 +989,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1062,28 +1057,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1135,28 +1122,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1207,28 +1186,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1278,28 +1249,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1348,28 +1311,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1419,28 +1374,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1490,28 +1437,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1561,28 +1500,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1632,28 +1563,20 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1703,34 +1626,26 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 -TABLE test t2 index_b 0 0 0 0 0 0 0 -TABLE test t2 index_cb 0 0 0 0 0 0 0 -TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 execute dump_waits_table_io; object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete TABLE test t1 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1740,9 +1655,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1752,6 +1673,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result index 123075896aa..62f7fa01086 100644 --- a/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result +++ b/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result @@ -1,14 +1,26 @@ +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 1287 Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. +Warnings: +Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. update performance_schema.setup_instruments set enabled='NO' where name='wait/io/table/sql/handler'; update performance_schema.setup_consumers set enabled='NO' where name like 'event%'; select * from performance_schema.setup_actors order by USER, HOST, ROLE; -HOST USER ROLE -localhost user1 % -localhost user2 % -localhost user3 % -localhost user4 % +HOST USER ROLE ENABLED HISTORY +localhost user1 % YES YES +localhost user2 % YES YES +localhost user3 % YES YES +localhost user4 % YES YES select * from performance_schema.setup_objects order by object_type, object_schema, object_name; OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAME ENABLED TIMED @@ -23,6 +35,9 @@ events_stages_history_long NO events_statements_current NO events_statements_history NO events_statements_history_long NO +events_transactions_current NO +events_transactions_history NO +events_transactions_history_long NO events_waits_current NO events_waits_history NO events_waits_history_long NO @@ -40,9 +55,7 @@ truncate performance_schema.events_waits_summary_by_user_by_event_name; truncate performance_schema.events_waits_summary_by_host_by_event_name; truncate performance_schema.events_waits_summary_global_by_event_name; truncate performance_schema.events_waits_history_long; -show variables where -`Variable_name` != "performance_schema_max_statement_classes" and -`Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; Variable_name Value performance_schema ON performance_schema_accounts_size 100 @@ -51,31 +64,42 @@ performance_schema_events_stages_history_long_size 1000 performance_schema_events_stages_history_size 10 performance_schema_events_statements_history_long_size 1000 performance_schema_events_statements_history_size 10 +performance_schema_events_transactions_history_long_size 1000 +performance_schema_events_transactions_history_size 10 performance_schema_events_waits_history_long_size 10000 performance_schema_events_waits_history_size 10 performance_schema_hosts_size 100 performance_schema_max_cond_classes 80 performance_schema_max_cond_instances 1000 performance_schema_max_digest_length 1024 -performance_schema_max_file_classes 50 +performance_schema_max_file_classes 80 performance_schema_max_file_handles 32768 performance_schema_max_file_instances 10000 +performance_schema_max_index_stat 5000 +performance_schema_max_memory_classes 320 +performance_schema_max_metadata_locks 10000 performance_schema_max_mutex_classes 200 performance_schema_max_mutex_instances 5000 +performance_schema_max_prepared_statements_instances 100 +performance_schema_max_program_instances 5000 performance_schema_max_rwlock_classes 40 performance_schema_max_rwlock_instances 5000 performance_schema_max_socket_classes 10 performance_schema_max_socket_instances 1000 +performance_schema_max_sql_text_length 1024 performance_schema_max_stage_classes 150 +performance_schema_max_statement_classes 193 +performance_schema_max_statement_stack 10 performance_schema_max_table_handles 1000 performance_schema_max_table_instances 500 +performance_schema_max_table_lock_stat 500 performance_schema_max_thread_classes 50 performance_schema_max_thread_instances 200 performance_schema_session_connect_attrs_size 2048 performance_schema_setup_actors_size 100 performance_schema_setup_objects_size 100 performance_schema_users_size 100 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -85,9 +109,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -97,6 +127,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 @@ -126,15 +157,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -144,10 +172,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -187,15 +215,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -205,10 +230,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 @@ -238,15 +263,15 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=101; update test.t2 set d=d+1 where a=101; update test.t3 set d=d+1 where a=101; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 1 "================== con1 marker ==================" -"================== Step 3 ==================" +"================== Step 3-A ==================" call dump_thread(); username event_name count_star user1 wait/io/table/sql/handler 0 @@ -277,15 +302,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -295,10 +317,67 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 +execute dump_objects_summary; +object_type object_schema object_name count_star +TABLE test t1 10 +TABLE test t2 12 +TABLE test t3 14 +flush tables; +"================== con1 FLUSH ==================" +"================== Step 3-B ==================" +call dump_thread(); +username event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 36 +username status +user2 not found +username status +user3 not found +username status +user4 not found +execute dump_waits_account; +user host event_name count_star +user1 localhost wait/io/table/sql/handler 0 +user1 localhost wait/lock/table/sql/handler 36 +execute dump_waits_user; +user event_name count_star +user1 wait/io/table/sql/handler 0 +user1 wait/lock/table/sql/handler 36 +execute dump_waits_host; +host event_name count_star +localhost wait/io/table/sql/handler 0 +localhost wait/lock/table/sql/handler 36 +execute dump_waits_global; +event_name count_star +wait/io/table/sql/handler 0 +wait/lock/table/sql/handler 36 +execute dump_waits_history; +event_name count(event_name) object_type object_schema object_name +execute dump_waits_index_io; +object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 index_b 0 0 0 0 0 0 0 +TABLE test t1 index_cb 0 0 0 0 0 0 0 +TABLE test t1 PRIMARY 0 0 0 0 0 0 0 +TABLE test t2 index_b 0 0 0 0 0 0 0 +TABLE test t2 index_cb 0 0 0 0 0 0 0 +TABLE test t2 PRIMARY 0 0 0 0 0 0 0 +TABLE test t3 index_b 0 0 0 0 0 0 0 +TABLE test t3 index_cb 0 0 0 0 0 0 0 +TABLE test t3 PRIMARY 0 0 0 0 0 0 0 +execute dump_waits_table_io; +object_type object_schema object_name count_star count_read count_write count_fetch count_insert count_update count_delete +TABLE test t1 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 +execute dump_waits_table_lock; +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -343,15 +422,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -361,10 +437,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 10 4 6 2 0 0 0 2 0 0 3 -TABLE test t2 12 4 8 2 0 0 0 2 0 0 4 -TABLE test t3 14 4 10 2 0 0 0 2 0 0 5 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 10 4 6 2 0 0 0 2 0 3 +TABLE test t2 12 4 8 2 0 0 0 2 0 4 +TABLE test t3 14 4 10 2 0 0 0 2 0 5 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 10 @@ -400,11 +476,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=201; update test.t2 set d=d+1 where a=201; update test.t3 set d=d+1 where a=201; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 2 205 5 5 1 @@ -445,15 +521,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -463,10 +536,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -516,15 +589,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -534,10 +604,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 20 8 12 4 0 0 0 4 0 0 6 -TABLE test t2 24 8 16 4 0 0 0 4 0 0 8 -TABLE test t3 28 8 20 4 0 0 0 4 0 0 10 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 20 8 12 4 0 0 0 4 0 6 +TABLE test t2 24 8 16 4 0 0 0 4 0 8 +TABLE test t3 28 8 20 4 0 0 0 4 0 10 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 20 @@ -579,11 +649,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=301; update test.t2 set d=d+1 where a=301; update test.t3 set d=d+1 where a=301; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 3 205 5 5 2 @@ -630,15 +700,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -648,10 +715,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t2 36 12 24 6 0 0 0 6 0 12 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -706,15 +773,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -724,10 +788,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 30 12 18 6 0 0 0 6 0 0 9 -TABLE test t2 36 12 24 6 0 0 0 6 0 0 12 -TABLE test t3 42 12 30 6 0 0 0 6 0 0 15 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 30 12 18 6 0 0 0 6 0 9 +TABLE test t2 36 12 24 6 0 0 0 6 0 12 +TABLE test t3 42 12 30 6 0 0 0 6 0 15 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 30 @@ -775,11 +839,11 @@ update test.t3 set d=d+1; update test.t1 set d=d+1 where a=401; update test.t2 set d=d+1 where a=401; update test.t3 set d=d+1 where a=401; -select * from test.t1 where b=5; +select * from test.t1 force index(index_b) where b=5; a b c d -select * from test.t2 where b=5; +select * from test.t2 force index(index_b) where b=5; a b c d -select * from test.t3 where b=5; +select * from test.t3 force index(index_b) where b=5; a b c d 105 5 5 4 205 5 5 3 @@ -832,15 +896,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -850,10 +911,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 40 16 24 8 0 0 0 8 0 0 12 -TABLE test t2 48 16 32 8 0 0 0 8 0 0 16 -TABLE test t3 56 16 40 8 0 0 0 8 0 0 20 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 40 16 24 8 0 0 0 8 0 12 +TABLE test t2 48 16 32 8 0 0 0 8 0 16 +TABLE test t3 56 16 40 8 0 0 0 8 0 20 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 40 @@ -910,15 +971,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -928,10 +986,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -985,15 +1043,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1003,10 +1058,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1061,15 +1116,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1079,10 +1131,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1134,15 +1186,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1152,10 +1201,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1206,15 +1255,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1224,10 +1270,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1277,15 +1323,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1295,10 +1338,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1347,15 +1390,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1365,10 +1405,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1418,15 +1458,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1436,10 +1473,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1489,15 +1526,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1507,10 +1541,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1560,15 +1594,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1578,10 +1609,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1631,15 +1662,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1649,10 +1677,10 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 44 18 26 8 0 0 1 9 0 0 13 -TABLE test t2 52 18 34 8 0 0 1 9 0 0 17 -TABLE test t3 60 18 42 8 0 0 1 9 0 0 21 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 44 18 26 8 0 0 1 9 0 13 +TABLE test t2 52 18 34 8 0 0 1 9 0 17 +TABLE test t3 60 18 42 8 0 0 1 9 0 21 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 44 @@ -1702,15 +1730,12 @@ execute dump_waits_history; event_name count(event_name) object_type object_schema object_name execute dump_waits_index_io; object_type object_schema object_name index_name count_star count_read count_write count_fetch count_insert count_update count_delete -TABLE test t1 NULL 0 0 0 0 0 0 0 TABLE test t1 index_b 0 0 0 0 0 0 0 TABLE test t1 index_cb 0 0 0 0 0 0 0 TABLE test t1 PRIMARY 0 0 0 0 0 0 0 -TABLE test t2 NULL 0 0 0 0 0 0 0 TABLE test t2 index_b 0 0 0 0 0 0 0 TABLE test t2 index_cb 0 0 0 0 0 0 0 TABLE test t2 PRIMARY 0 0 0 0 0 0 0 -TABLE test t3 NULL 0 0 0 0 0 0 0 TABLE test t3 index_b 0 0 0 0 0 0 0 TABLE test t3 index_cb 0 0 0 0 0 0 0 TABLE test t3 PRIMARY 0 0 0 0 0 0 0 @@ -1720,16 +1745,16 @@ TABLE test t1 0 0 0 0 0 0 0 TABLE test t2 0 0 0 0 0 0 0 TABLE test t3 0 0 0 0 0 0 0 execute dump_waits_table_lock; -object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_delayed count_write_low_priority count_write_external -TABLE test t1 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t2 0 0 0 0 0 0 0 0 0 0 0 -TABLE test t3 0 0 0 0 0 0 0 0 0 0 0 +object_type object_schema object_name count_star count_read count_write count_read_normal count_read_with_shared_locks count_read_high_priority count_read_no_insert count_read_external count_write_low_priority count_write_external +TABLE test t1 0 0 0 0 0 0 0 0 0 0 +TABLE test t2 0 0 0 0 0 0 0 0 0 0 +TABLE test t3 0 0 0 0 0 0 0 0 0 0 execute dump_objects_summary; object_type object_schema object_name count_star TABLE test t1 0 TABLE test t2 0 TABLE test t3 0 -show status like "performance_schema%"; +show global status like "performance_schema%"; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -1739,9 +1764,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -1751,6 +1782,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/table_schema.result b/mysql-test/suite/perfschema/r/table_schema.result index faf0a384503..f216798803a 100644 --- a/mysql-test/suite/perfschema/r/table_schema.result +++ b/mysql-test/suite/perfschema/r/table_schema.result @@ -1,801 +1,1203 @@ select * from information_schema.columns where table_schema="performance_schema" order by table_name, ordinal_position; -TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -def performance_schema accounts USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references -def performance_schema accounts HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references -def performance_schema accounts CURRENT_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema accounts TOTAL_CONNECTIONS 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema cond_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema cond_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_current THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_current EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_current END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_stages_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_stages_current TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_current TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_current TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_current NESTING_EVENT_ID 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_current NESTING_EVENT_TYPE 10 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references -def performance_schema events_stages_history THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_stages_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_stages_history TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history NESTING_EVENT_ID 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history NESTING_EVENT_TYPE 10 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references -def performance_schema events_stages_history_long THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history_long EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history_long END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_stages_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_stages_history_long TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history_long TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history_long TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history_long NESTING_EVENT_ID 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_history_long NESTING_EVENT_TYPE 10 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references -def performance_schema events_stages_summary_by_account_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references -def performance_schema events_stages_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references -def performance_schema events_stages_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_stages_summary_by_account_by_event_name COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_account_by_event_name SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_account_by_event_name MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_account_by_event_name AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_account_by_event_name MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references -def performance_schema events_stages_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_stages_summary_by_host_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_host_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_host_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_host_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_host_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_thread_by_event_name THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_stages_summary_by_thread_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_thread_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_thread_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_thread_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_thread_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_user_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references -def performance_schema events_stages_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_stages_summary_by_user_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_user_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_user_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_user_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_by_user_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_stages_summary_global_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_global_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_global_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_global_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_stages_summary_global_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_statements_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_current TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references -def performance_schema events_statements_current DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references -def performance_schema events_statements_current DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references -def performance_schema events_statements_current CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_current OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_current OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_current OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_current OBJECT_INSTANCE_BEGIN 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current MYSQL_ERRNO 18 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references -def performance_schema events_statements_current RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8 utf8_general_ci varchar(5) select,insert,update,references -def performance_schema events_statements_current MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_statements_current ERRORS 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current WARNINGS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current ROWS_AFFECTED 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current ROWS_SENT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current ROWS_EXAMINED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current CREATED_TMP_DISK_TABLES 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current CREATED_TMP_TABLES 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current SELECT_FULL_JOIN 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current SELECT_FULL_RANGE_JOIN 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current SELECT_RANGE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current SELECT_RANGE_CHECK 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current SELECT_SCAN 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current SORT_MERGE_PASSES 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current SORT_RANGE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current SORT_ROWS 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current SORT_SCAN 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current NO_INDEX_USED 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current NO_GOOD_INDEX_USED 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current NESTING_EVENT_ID 39 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_current NESTING_EVENT_TYPE 40 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references -def performance_schema events_statements_history THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_statements_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_history TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references -def performance_schema events_statements_history DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references -def performance_schema events_statements_history DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references -def performance_schema events_statements_history CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_history OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_history OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_history OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_history OBJECT_INSTANCE_BEGIN 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history MYSQL_ERRNO 18 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references -def performance_schema events_statements_history RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8 utf8_general_ci varchar(5) select,insert,update,references -def performance_schema events_statements_history MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_statements_history ERRORS 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history WARNINGS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history ROWS_AFFECTED 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history ROWS_SENT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history ROWS_EXAMINED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history CREATED_TMP_DISK_TABLES 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history CREATED_TMP_TABLES 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history SELECT_FULL_JOIN 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history SELECT_FULL_RANGE_JOIN 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history SELECT_RANGE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history SELECT_RANGE_CHECK 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history SELECT_SCAN 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history SORT_MERGE_PASSES 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history SORT_RANGE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history SORT_ROWS 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history SORT_SCAN 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history NO_INDEX_USED 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history NO_GOOD_INDEX_USED 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history NESTING_EVENT_ID 39 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history NESTING_EVENT_TYPE 40 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references -def performance_schema events_statements_history_long THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_statements_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_history_long TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references -def performance_schema events_statements_history_long DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references -def performance_schema events_statements_history_long DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references -def performance_schema events_statements_history_long CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_history_long OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_history_long OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_history_long OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_history_long OBJECT_INSTANCE_BEGIN 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long MYSQL_ERRNO 18 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references -def performance_schema events_statements_history_long RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8 utf8_general_ci varchar(5) select,insert,update,references -def performance_schema events_statements_history_long MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_statements_history_long ERRORS 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long WARNINGS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long ROWS_AFFECTED 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long ROWS_SENT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long ROWS_EXAMINED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long CREATED_TMP_DISK_TABLES 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long CREATED_TMP_TABLES 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long SELECT_FULL_JOIN 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long SELECT_FULL_RANGE_JOIN 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long SELECT_RANGE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long SELECT_RANGE_CHECK 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long SELECT_SCAN 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long SORT_MERGE_PASSES 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long SORT_RANGE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long SORT_ROWS 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long SORT_SCAN 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long NO_INDEX_USED 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long NO_GOOD_INDEX_USED 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long NESTING_EVENT_ID 39 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_history_long NESTING_EVENT_TYPE 40 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_ERRORS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_WARNINGS 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_ROWS_AFFECTED 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_ROWS_SENT 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_ROWS_EXAMINED 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_CREATED_TMP_DISK_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_CREATED_TMP_TABLES 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_FULL_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_FULL_RANGE_JOIN 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_RANGE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_RANGE_CHECK 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_SCAN 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_MERGE_PASSES 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_RANGE 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_ROWS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_SCAN 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_NO_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_account_by_event_name SUM_NO_GOOD_INDEX_USED 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SCHEMA_NAME 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_statements_summary_by_digest DIGEST 2 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references -def performance_schema events_statements_summary_by_digest DIGEST_TEXT 3 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references -def performance_schema events_statements_summary_by_digest COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_ERRORS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_WARNINGS 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_ROWS_AFFECTED 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_ROWS_SENT 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_ROWS_EXAMINED 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_CREATED_TMP_DISK_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_CREATED_TMP_TABLES 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_SELECT_FULL_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_SELECT_FULL_RANGE_JOIN 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_SELECT_RANGE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_SELECT_RANGE_CHECK 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_SELECT_SCAN 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_SORT_MERGE_PASSES 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_SORT_RANGE 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_SORT_ROWS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_SORT_SCAN 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_NO_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest SUM_NO_GOOD_INDEX_USED 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_digest FIRST_SEEN 28 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references -def performance_schema events_statements_summary_by_digest LAST_SEEN 29 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_LOCK_TIME 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_ERRORS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_WARNINGS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_ROWS_AFFECTED 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_ROWS_SENT 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_ROWS_EXAMINED 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_CREATED_TMP_DISK_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_CREATED_TMP_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_FULL_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_FULL_RANGE_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_RANGE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_RANGE_CHECK 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_SCAN 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_MERGE_PASSES 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_RANGE 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_ROWS 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_SCAN 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_NO_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_host_by_event_name SUM_NO_GOOD_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_LOCK_TIME 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_ERRORS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_WARNINGS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_ROWS_AFFECTED 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_ROWS_SENT 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_ROWS_EXAMINED 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_CREATED_TMP_DISK_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_CREATED_TMP_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_FULL_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_FULL_RANGE_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_RANGE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_RANGE_CHECK 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_SCAN 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_MERGE_PASSES 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_RANGE 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_ROWS 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_SCAN 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_NO_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_thread_by_event_name SUM_NO_GOOD_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_LOCK_TIME 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_ERRORS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_WARNINGS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_ROWS_AFFECTED 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_ROWS_SENT 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_ROWS_EXAMINED 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_CREATED_TMP_DISK_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_CREATED_TMP_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_FULL_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_FULL_RANGE_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_RANGE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_RANGE_CHECK 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_SCAN 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_MERGE_PASSES 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_RANGE 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_ROWS 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_SCAN 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_NO_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_by_user_by_event_name SUM_NO_GOOD_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_LOCK_TIME 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_ERRORS 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_WARNINGS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_ROWS_AFFECTED 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_ROWS_SENT 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_ROWS_EXAMINED 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_CREATED_TMP_DISK_TABLES 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_CREATED_TMP_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_FULL_JOIN 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_FULL_RANGE_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_RANGE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_RANGE_CHECK 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_SCAN 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_SORT_MERGE_PASSES 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_SORT_RANGE 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_SORT_ROWS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_SORT_SCAN 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_NO_INDEX_USED 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_statements_summary_global_by_event_name SUM_NO_GOOD_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_current THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_current EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_current END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_waits_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_current TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_current TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_current TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_current SPINS 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references -def performance_schema events_waits_current OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_current OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references -def performance_schema events_waits_current INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_current OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_current OBJECT_INSTANCE_BEGIN 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_current NESTING_EVENT_ID 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_current NESTING_EVENT_TYPE 16 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references -def performance_schema events_waits_current OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references -def performance_schema events_waits_current NUMBER_OF_BYTES 18 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema events_waits_current FLAGS 19 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references -def performance_schema events_waits_history THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_waits_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_history TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history SPINS 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references -def performance_schema events_waits_history OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_history OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references -def performance_schema events_waits_history INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_history OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_history OBJECT_INSTANCE_BEGIN 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history NESTING_EVENT_ID 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history NESTING_EVENT_TYPE 16 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references -def performance_schema events_waits_history OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references -def performance_schema events_waits_history NUMBER_OF_BYTES 18 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema events_waits_history FLAGS 19 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references -def performance_schema events_waits_history_long THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history_long EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history_long END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_waits_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_history_long TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history_long TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history_long TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history_long SPINS 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references -def performance_schema events_waits_history_long OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_history_long OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references -def performance_schema events_waits_history_long INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_history_long OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema events_waits_history_long OBJECT_INSTANCE_BEGIN 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history_long NESTING_EVENT_ID 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_history_long NESTING_EVENT_TYPE 16 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('STATEMENT','STAGE','WAIT') select,insert,update,references -def performance_schema events_waits_history_long OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references -def performance_schema events_waits_history_long NUMBER_OF_BYTES 18 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema events_waits_history_long FLAGS 19 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_account_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references -def performance_schema events_waits_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references -def performance_schema events_waits_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_waits_summary_by_account_by_event_name COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_account_by_event_name SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_account_by_event_name MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_account_by_event_name AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_account_by_event_name MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references -def performance_schema events_waits_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_waits_summary_by_host_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_host_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_host_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_host_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_host_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_instance EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_waits_summary_by_instance OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_instance COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_instance SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_instance MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_instance AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_instance MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_thread_by_event_name THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_waits_summary_by_thread_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_thread_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_thread_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_thread_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_thread_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_user_by_event_name USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references -def performance_schema events_waits_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_waits_summary_by_user_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_user_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_user_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_user_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_by_user_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema events_waits_summary_global_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_global_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_global_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_global_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema events_waits_summary_global_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_instances FILE_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references -def performance_schema file_instances EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema file_instances OPEN_COUNT 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema file_summary_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name COUNT_READ 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name SUM_TIMER_READ 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name MIN_TIMER_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name AVG_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name MAX_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name SUM_NUMBER_OF_BYTES_READ 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema file_summary_by_event_name COUNT_WRITE 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name SUM_TIMER_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name MIN_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name AVG_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name MAX_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name SUM_NUMBER_OF_BYTES_WRITE 18 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema file_summary_by_event_name COUNT_MISC 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name SUM_TIMER_MISC 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name MIN_TIMER_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name AVG_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_event_name MAX_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance FILE_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references -def performance_schema file_summary_by_instance EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema file_summary_by_instance OBJECT_INSTANCE_BEGIN 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance COUNT_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance SUM_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance MIN_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance AVG_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance MAX_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance SUM_NUMBER_OF_BYTES_READ 14 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema file_summary_by_instance COUNT_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance SUM_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance MIN_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance AVG_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance MAX_TIMER_WRITE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance SUM_NUMBER_OF_BYTES_WRITE 20 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema file_summary_by_instance COUNT_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance SUM_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance MIN_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance AVG_TIMER_MISC 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema file_summary_by_instance MAX_TIMER_MISC 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema hosts HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references -def performance_schema hosts CURRENT_CONNECTIONS 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema hosts TOTAL_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache IP 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema host_cache HOST 2 NULL YES varchar 255 765 NULL NULL NULL utf8 utf8_bin varchar(255) select,insert,update,references -def performance_schema host_cache HOST_VALIDATED 3 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -def performance_schema host_cache SUM_CONNECT_ERRORS 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_HOST_BLOCKED_ERRORS 5 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_NAMEINFO_TRANSIENT_ERRORS 6 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_NAMEINFO_PERMANENT_ERRORS 7 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_FORMAT_ERRORS 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_ADDRINFO_TRANSIENT_ERRORS 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_ADDRINFO_PERMANENT_ERRORS 10 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_FCRDNS_ERRORS 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_HOST_ACL_ERRORS 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_NO_AUTH_PLUGIN_ERRORS 13 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_AUTH_PLUGIN_ERRORS 14 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_HANDSHAKE_ERRORS 15 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_PROXY_USER_ERRORS 16 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_PROXY_USER_ACL_ERRORS 17 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_AUTHENTICATION_ERRORS 18 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_SSL_ERRORS 19 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_MAX_USER_CONNECTIONS_ERRORS 20 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 21 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_DEFAULT_DATABASE_ERRORS 22 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_INIT_CONNECT_ERRORS 23 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_LOCAL_ERRORS 24 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache COUNT_UNKNOWN_ERRORS 25 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema host_cache FIRST_SEEN 26 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references -def performance_schema host_cache LAST_SEEN 27 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references -def performance_schema host_cache FIRST_ERROR_SEEN 28 0000-00-00 00:00:00 YES timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references -def performance_schema host_cache LAST_ERROR_SEEN 29 0000-00-00 00:00:00 YES timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references -def performance_schema mutex_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema mutex_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema mutex_instances LOCKED_BY_THREAD_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema objects_summary_global_by_type OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema objects_summary_global_by_type OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema objects_summary_global_by_type OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema objects_summary_global_by_type COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema objects_summary_global_by_type SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema objects_summary_global_by_type MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema objects_summary_global_by_type AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema objects_summary_global_by_type MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema performance_timers TIMER_NAME 1 NULL NO enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') select,insert,update,references -def performance_schema performance_timers TIMER_FREQUENCY 2 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema performance_timers TIMER_RESOLUTION 3 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema performance_timers TIMER_OVERHEAD 4 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema rwlock_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema rwlock_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema rwlock_instances WRITE_LOCKED_BY_THREAD_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema rwlock_instances READ_LOCKED_BY_COUNT 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references -def performance_schema session_account_connect_attrs PROCESSLIST_ID 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references -def performance_schema session_account_connect_attrs ATTR_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_bin varchar(32) select,insert,update,references -def performance_schema session_account_connect_attrs ATTR_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_bin varchar(1024) select,insert,update,references -def performance_schema session_account_connect_attrs ORDINAL_POSITION 4 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references -def performance_schema session_connect_attrs PROCESSLIST_ID 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references -def performance_schema session_connect_attrs ATTR_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_bin varchar(32) select,insert,update,references -def performance_schema session_connect_attrs ATTR_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_bin varchar(1024) select,insert,update,references -def performance_schema session_connect_attrs ORDINAL_POSITION 4 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references -def performance_schema setup_actors HOST 1 % NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references -def performance_schema setup_actors USER 2 % NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references -def performance_schema setup_actors ROLE 3 % NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references -def performance_schema setup_consumers NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema setup_consumers ENABLED 2 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -def performance_schema setup_instruments NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema setup_instruments ENABLED 2 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -def performance_schema setup_instruments TIMED 3 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -def performance_schema setup_objects OBJECT_TYPE 1 TABLE NO enum 5 15 NULL NULL NULL utf8 utf8_general_ci enum('TABLE') select,insert,update,references -def performance_schema setup_objects OBJECT_SCHEMA 2 % YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema setup_objects OBJECT_NAME 3 % NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema setup_objects ENABLED 4 YES NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -def performance_schema setup_objects TIMED 5 YES NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -def performance_schema setup_timers NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema setup_timers TIMER_NAME 2 NULL NO enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') select,insert,update,references -def performance_schema socket_instances EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema socket_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_instances THREAD_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_instances SOCKET_ID 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references -def performance_schema socket_instances IP 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema socket_instances PORT 6 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references -def performance_schema socket_instances STATE 7 NULL NO enum 6 18 NULL NULL NULL utf8 utf8_general_ci enum('IDLE','ACTIVE') select,insert,update,references -def performance_schema socket_summary_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema socket_summary_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name COUNT_READ 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name SUM_TIMER_READ 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name MIN_TIMER_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name AVG_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name MAX_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name SUM_NUMBER_OF_BYTES_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name COUNT_WRITE 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name SUM_TIMER_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name MIN_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name AVG_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name MAX_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name SUM_NUMBER_OF_BYTES_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name COUNT_MISC 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name SUM_TIMER_MISC 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name MIN_TIMER_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name AVG_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_event_name MAX_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema socket_summary_by_instance OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance COUNT_READ 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance SUM_TIMER_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance MIN_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance AVG_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance MAX_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance SUM_NUMBER_OF_BYTES_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance COUNT_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance SUM_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance MIN_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance AVG_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance MAX_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance SUM_NUMBER_OF_BYTES_WRITE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance COUNT_MISC 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance SUM_TIMER_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance MIN_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance AVG_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema socket_summary_by_instance MAX_TIMER_MISC 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage INDEX_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage COUNT_STAR 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_WAIT 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage COUNT_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_READ 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage COUNT_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_WRITE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage COUNT_FETCH 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_FETCH 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_FETCH 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_FETCH 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_FETCH 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage COUNT_INSERT 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_INSERT 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_INSERT 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_INSERT 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_INSERT 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage COUNT_UPDATE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_UPDATE 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_UPDATE 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_UPDATE 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_UPDATE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage COUNT_DELETE 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_DELETE 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_DELETE 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_DELETE 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_DELETE 39 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema table_io_waits_summary_by_table OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema table_io_waits_summary_by_table OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema table_io_waits_summary_by_table COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table COUNT_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table SUM_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MIN_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table AVG_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MAX_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table COUNT_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table SUM_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MIN_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table AVG_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MAX_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table COUNT_FETCH 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table SUM_TIMER_FETCH 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MIN_TIMER_FETCH 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table AVG_TIMER_FETCH 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MAX_TIMER_FETCH 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table COUNT_INSERT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table SUM_TIMER_INSERT 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MIN_TIMER_INSERT 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table AVG_TIMER_INSERT 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MAX_TIMER_INSERT 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table COUNT_UPDATE 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table SUM_TIMER_UPDATE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MIN_TIMER_UPDATE 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table AVG_TIMER_UPDATE 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MAX_TIMER_UPDATE 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table COUNT_DELETE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table SUM_TIMER_DELETE 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MIN_TIMER_DELETE 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table AVG_TIMER_DELETE 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_io_waits_summary_by_table MAX_TIMER_DELETE 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema table_lock_waits_summary_by_table OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema table_lock_waits_summary_by_table OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_READ_NORMAL 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_NORMAL 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_NORMAL 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_NORMAL 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_NORMAL 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_READ_WITH_SHARED_LOCKS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_WITH_SHARED_LOCKS 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_WITH_SHARED_LOCKS 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_WITH_SHARED_LOCKS 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_WITH_SHARED_LOCKS 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_READ_HIGH_PRIORITY 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_HIGH_PRIORITY 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_HIGH_PRIORITY 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_HIGH_PRIORITY 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_HIGH_PRIORITY 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_READ_NO_INSERT 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_NO_INSERT 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_NO_INSERT 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_NO_INSERT 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_NO_INSERT 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_READ_EXTERNAL 39 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_EXTERNAL 40 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_EXTERNAL 41 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_EXTERNAL 42 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_EXTERNAL 43 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_ALLOW_WRITE 44 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_ALLOW_WRITE 45 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_ALLOW_WRITE 46 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_ALLOW_WRITE 47 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_ALLOW_WRITE 48 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_CONCURRENT_INSERT 49 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_CONCURRENT_INSERT 50 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_CONCURRENT_INSERT 51 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_CONCURRENT_INSERT 52 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_CONCURRENT_INSERT 53 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_DELAYED 54 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_DELAYED 55 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_DELAYED 56 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_DELAYED 57 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_DELAYED 58 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_LOW_PRIORITY 59 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_LOW_PRIORITY 60 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_LOW_PRIORITY 61 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_LOW_PRIORITY 62 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_LOW_PRIORITY 63 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_NORMAL 64 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_NORMAL 65 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_NORMAL 66 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_NORMAL 67 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_NORMAL 68 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_EXTERNAL 69 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_EXTERNAL 70 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_EXTERNAL 71 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_EXTERNAL 72 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_EXTERNAL 73 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema threads THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema threads NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references -def performance_schema threads TYPE 3 NULL NO varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references -def performance_schema threads PROCESSLIST_ID 4 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema threads PROCESSLIST_USER 5 NULL YES varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select,insert,update,references -def performance_schema threads PROCESSLIST_HOST 6 NULL YES varchar 60 180 NULL NULL NULL utf8 utf8_general_ci varchar(60) select,insert,update,references -def performance_schema threads PROCESSLIST_DB 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema threads PROCESSLIST_COMMAND 8 NULL YES varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select,insert,update,references -def performance_schema threads PROCESSLIST_TIME 9 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema threads PROCESSLIST_STATE 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema threads PROCESSLIST_INFO 11 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references -def performance_schema threads PARENT_THREAD_ID 12 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references -def performance_schema threads ROLE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references -def performance_schema threads INSTRUMENTED 14 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references -def performance_schema users USER 1 NULL YES char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references -def performance_schema users CURRENT_CONNECTIONS 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references -def performance_schema users TOTAL_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE DATETIME_PRECISION CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT GENERATION_EXPRESSION +def performance_schema accounts USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema accounts HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema accounts CURRENT_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema accounts TOTAL_CONNECTIONS 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema cond_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema cond_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_current THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_current EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_current END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_stages_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_stages_current TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_current TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_current TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_current WORK_COMPLETED 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_current WORK_ESTIMATED 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_current NESTING_EVENT_ID 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_current NESTING_EVENT_TYPE 12 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_stages_history THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_stages_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_stages_history TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history WORK_COMPLETED 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history WORK_ESTIMATED 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history NESTING_EVENT_ID 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history NESTING_EVENT_TYPE 12 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_stages_history_long THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history_long EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history_long END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_stages_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_stages_history_long TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history_long TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history_long TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history_long WORK_COMPLETED 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history_long WORK_ESTIMATED 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history_long NESTING_EVENT_ID 11 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_history_long NESTING_EVENT_TYPE 12 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_stages_summary_by_account_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema events_stages_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema events_stages_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_stages_summary_by_account_by_event_name COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_account_by_event_name SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_account_by_event_name MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_account_by_event_name AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_account_by_event_name MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema events_stages_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_stages_summary_by_host_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_host_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_host_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_host_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_host_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_thread_by_event_name THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_stages_summary_by_thread_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_thread_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_thread_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_thread_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_thread_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_user_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema events_stages_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_stages_summary_by_user_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_user_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_user_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_user_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_by_user_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_stages_summary_global_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_global_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_global_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_global_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_stages_summary_global_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_statements_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_current TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references +def performance_schema events_statements_current DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references +def performance_schema events_statements_current DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references +def performance_schema events_statements_current CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_current OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_current OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_current OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_current OBJECT_INSTANCE_BEGIN 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current MYSQL_ERRNO 18 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema events_statements_current RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8 utf8_general_ci varchar(5) select,insert,update,references +def performance_schema events_statements_current MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_statements_current ERRORS 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current WARNINGS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current ROWS_AFFECTED 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current ROWS_SENT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current ROWS_EXAMINED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current CREATED_TMP_DISK_TABLES 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current CREATED_TMP_TABLES 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current SELECT_FULL_JOIN 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current SELECT_FULL_RANGE_JOIN 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current SELECT_RANGE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current SELECT_RANGE_CHECK 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current SELECT_SCAN 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current SORT_MERGE_PASSES 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current SORT_RANGE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current SORT_ROWS 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current SORT_SCAN 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current NO_INDEX_USED 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current NO_GOOD_INDEX_USED 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current NESTING_EVENT_ID 39 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_current NESTING_EVENT_TYPE 40 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_statements_current NESTING_EVENT_LEVEL 41 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema events_statements_history THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_statements_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_history TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references +def performance_schema events_statements_history DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references +def performance_schema events_statements_history DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references +def performance_schema events_statements_history CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_history OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_history OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_history OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_history OBJECT_INSTANCE_BEGIN 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history MYSQL_ERRNO 18 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema events_statements_history RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8 utf8_general_ci varchar(5) select,insert,update,references +def performance_schema events_statements_history MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_statements_history ERRORS 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history WARNINGS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history ROWS_AFFECTED 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history ROWS_SENT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history ROWS_EXAMINED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history CREATED_TMP_DISK_TABLES 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history CREATED_TMP_TABLES 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history SELECT_FULL_JOIN 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history SELECT_FULL_RANGE_JOIN 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history SELECT_RANGE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history SELECT_RANGE_CHECK 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history SELECT_SCAN 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history SORT_MERGE_PASSES 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history SORT_RANGE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history SORT_ROWS 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history SORT_SCAN 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history NO_INDEX_USED 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history NO_GOOD_INDEX_USED 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history NESTING_EVENT_ID 39 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history NESTING_EVENT_TYPE 40 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_statements_history NESTING_EVENT_LEVEL 41 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema events_statements_history_long THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_statements_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_history_long TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long SQL_TEXT 10 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references +def performance_schema events_statements_history_long DIGEST 11 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references +def performance_schema events_statements_history_long DIGEST_TEXT 12 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references +def performance_schema events_statements_history_long CURRENT_SCHEMA 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_history_long OBJECT_TYPE 14 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_history_long OBJECT_SCHEMA 15 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_history_long OBJECT_NAME 16 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_history_long OBJECT_INSTANCE_BEGIN 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long MYSQL_ERRNO 18 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema events_statements_history_long RETURNED_SQLSTATE 19 NULL YES varchar 5 15 NULL NULL NULL utf8 utf8_general_ci varchar(5) select,insert,update,references +def performance_schema events_statements_history_long MESSAGE_TEXT 20 NULL YES varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_statements_history_long ERRORS 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long WARNINGS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long ROWS_AFFECTED 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long ROWS_SENT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long ROWS_EXAMINED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long CREATED_TMP_DISK_TABLES 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long CREATED_TMP_TABLES 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long SELECT_FULL_JOIN 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long SELECT_FULL_RANGE_JOIN 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long SELECT_RANGE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long SELECT_RANGE_CHECK 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long SELECT_SCAN 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long SORT_MERGE_PASSES 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long SORT_RANGE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long SORT_ROWS 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long SORT_SCAN 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long NO_INDEX_USED 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long NO_GOOD_INDEX_USED 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long NESTING_EVENT_ID 39 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_history_long NESTING_EVENT_TYPE 40 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_statements_history_long NESTING_EVENT_LEVEL 41 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_ERRORS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_WARNINGS 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_ROWS_AFFECTED 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_ROWS_SENT 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_ROWS_EXAMINED 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_CREATED_TMP_DISK_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_CREATED_TMP_TABLES 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_FULL_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_FULL_RANGE_JOIN 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_RANGE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_RANGE_CHECK 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_SELECT_SCAN 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_MERGE_PASSES 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_RANGE 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_ROWS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_SORT_SCAN 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_NO_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_account_by_event_name SUM_NO_GOOD_INDEX_USED 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SCHEMA_NAME 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_summary_by_digest DIGEST 2 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references +def performance_schema events_statements_summary_by_digest DIGEST_TEXT 3 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references +def performance_schema events_statements_summary_by_digest COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_LOCK_TIME 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_ERRORS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_WARNINGS 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_ROWS_AFFECTED 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_ROWS_SENT 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_ROWS_EXAMINED 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_CREATED_TMP_DISK_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_CREATED_TMP_TABLES 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_SELECT_FULL_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_SELECT_FULL_RANGE_JOIN 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_SELECT_RANGE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_SELECT_RANGE_CHECK 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_SELECT_SCAN 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_SORT_MERGE_PASSES 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_SORT_RANGE 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_SORT_ROWS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_SORT_SCAN 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_NO_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest SUM_NO_GOOD_INDEX_USED 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_digest FIRST_SEEN 28 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references +def performance_schema events_statements_summary_by_digest LAST_SEEN 29 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_LOCK_TIME 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_ERRORS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_WARNINGS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_ROWS_AFFECTED 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_ROWS_SENT 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_ROWS_EXAMINED 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_CREATED_TMP_DISK_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_CREATED_TMP_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_FULL_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_FULL_RANGE_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_RANGE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_RANGE_CHECK 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_SELECT_SCAN 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_MERGE_PASSES 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_RANGE 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_ROWS 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_SORT_SCAN 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_NO_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_host_by_event_name SUM_NO_GOOD_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program OBJECT_TYPE 1 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER') select,insert,update,references +def performance_schema events_statements_summary_by_program OBJECT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_summary_by_program OBJECT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_statements_summary_by_program COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program COUNT_STATEMENTS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_STATEMENTS_WAIT 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program MIN_STATEMENTS_WAIT 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program AVG_STATEMENTS_WAIT 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program MAX_STATEMENTS_WAIT 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_LOCK_TIME 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_ERRORS 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_WARNINGS 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_ROWS_AFFECTED 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_ROWS_SENT 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_ROWS_EXAMINED 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_CREATED_TMP_DISK_TABLES 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_CREATED_TMP_TABLES 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_SELECT_FULL_JOIN 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_SELECT_FULL_RANGE_JOIN 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_SELECT_RANGE 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_SELECT_RANGE_CHECK 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_SELECT_SCAN 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_SORT_MERGE_PASSES 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_SORT_RANGE 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_SORT_ROWS 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_SORT_SCAN 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_NO_INDEX_USED 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_program SUM_NO_GOOD_INDEX_USED 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_LOCK_TIME 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_ERRORS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_WARNINGS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_ROWS_AFFECTED 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_ROWS_SENT 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_ROWS_EXAMINED 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_CREATED_TMP_DISK_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_CREATED_TMP_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_FULL_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_FULL_RANGE_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_RANGE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_RANGE_CHECK 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_SELECT_SCAN 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_MERGE_PASSES 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_RANGE 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_ROWS 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_SORT_SCAN 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_NO_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_thread_by_event_name SUM_NO_GOOD_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_LOCK_TIME 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_ERRORS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_WARNINGS 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_ROWS_AFFECTED 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_ROWS_SENT 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_ROWS_EXAMINED 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_CREATED_TMP_DISK_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_CREATED_TMP_TABLES 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_FULL_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_FULL_RANGE_JOIN 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_RANGE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_RANGE_CHECK 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_SELECT_SCAN 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_MERGE_PASSES 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_RANGE 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_ROWS 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_SORT_SCAN 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_NO_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_by_user_by_event_name SUM_NO_GOOD_INDEX_USED 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_LOCK_TIME 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_ERRORS 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_WARNINGS 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_ROWS_AFFECTED 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_ROWS_SENT 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_ROWS_EXAMINED 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_CREATED_TMP_DISK_TABLES 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_CREATED_TMP_TABLES 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_FULL_JOIN 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_FULL_RANGE_JOIN 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_RANGE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_RANGE_CHECK 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_SELECT_SCAN 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_SORT_MERGE_PASSES 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_SORT_RANGE 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_SORT_ROWS 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_SORT_SCAN 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_NO_INDEX_USED 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_statements_summary_global_by_event_name SUM_NO_GOOD_INDEX_USED 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_transactions_current STATE 5 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('ACTIVE','COMMITTED','ROLLED BACK') select,insert,update,references +def performance_schema events_transactions_current TRX_ID 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current GTID 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_current XID_FORMAT_ID 8 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema events_transactions_current XID_GTRID 9 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references +def performance_schema events_transactions_current XID_BQUAL 10 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references +def performance_schema events_transactions_current XA_STATE 11 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_current SOURCE 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_current TIMER_START 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current TIMER_END 14 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current TIMER_WAIT 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current ACCESS_MODE 16 NULL YES enum 10 30 NULL NULL NULL utf8 utf8_general_ci enum('READ ONLY','READ WRITE') select,insert,update,references +def performance_schema events_transactions_current ISOLATION_LEVEL 17 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_current AUTOCOMMIT 18 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema events_transactions_current NUMBER_OF_SAVEPOINTS 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current NUMBER_OF_ROLLBACK_TO_SAVEPOINT 20 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current NUMBER_OF_RELEASE_SAVEPOINT 21 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current OBJECT_INSTANCE_BEGIN 22 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current NESTING_EVENT_ID 23 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_current NESTING_EVENT_TYPE 24 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_transactions_history THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_transactions_history STATE 5 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('ACTIVE','COMMITTED','ROLLED BACK') select,insert,update,references +def performance_schema events_transactions_history TRX_ID 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history GTID 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_history XID_FORMAT_ID 8 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema events_transactions_history XID_GTRID 9 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references +def performance_schema events_transactions_history XID_BQUAL 10 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references +def performance_schema events_transactions_history XA_STATE 11 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_history SOURCE 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_history TIMER_START 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history TIMER_END 14 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history TIMER_WAIT 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history ACCESS_MODE 16 NULL YES enum 10 30 NULL NULL NULL utf8 utf8_general_ci enum('READ ONLY','READ WRITE') select,insert,update,references +def performance_schema events_transactions_history ISOLATION_LEVEL 17 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_history AUTOCOMMIT 18 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema events_transactions_history NUMBER_OF_SAVEPOINTS 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history NUMBER_OF_ROLLBACK_TO_SAVEPOINT 20 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history NUMBER_OF_RELEASE_SAVEPOINT 21 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history OBJECT_INSTANCE_BEGIN 22 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history NESTING_EVENT_ID 23 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history NESTING_EVENT_TYPE 24 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_transactions_history_long THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_transactions_history_long STATE 5 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('ACTIVE','COMMITTED','ROLLED BACK') select,insert,update,references +def performance_schema events_transactions_history_long TRX_ID 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long GTID 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_history_long XID_FORMAT_ID 8 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema events_transactions_history_long XID_GTRID 9 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references +def performance_schema events_transactions_history_long XID_BQUAL 10 NULL YES varchar 130 390 NULL NULL NULL utf8 utf8_general_ci varchar(130) select,insert,update,references +def performance_schema events_transactions_history_long XA_STATE 11 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_history_long SOURCE 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_history_long TIMER_START 13 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long TIMER_END 14 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long TIMER_WAIT 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long ACCESS_MODE 16 NULL YES enum 10 30 NULL NULL NULL utf8 utf8_general_ci enum('READ ONLY','READ WRITE') select,insert,update,references +def performance_schema events_transactions_history_long ISOLATION_LEVEL 17 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_transactions_history_long AUTOCOMMIT 18 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema events_transactions_history_long NUMBER_OF_SAVEPOINTS 19 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long NUMBER_OF_ROLLBACK_TO_SAVEPOINT 20 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long NUMBER_OF_RELEASE_SAVEPOINT 21 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long OBJECT_INSTANCE_BEGIN 22 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long NESTING_EVENT_ID 23 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_history_long NESTING_EVENT_TYPE 24 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name COUNT_READ_WRITE 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name SUM_TIMER_READ_WRITE 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name MIN_TIMER_READ_WRITE 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name AVG_TIMER_READ_WRITE 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name MAX_TIMER_READ_WRITE 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name COUNT_READ_ONLY 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name SUM_TIMER_READ_ONLY 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name MIN_TIMER_READ_ONLY 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name AVG_TIMER_READ_ONLY 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_account_by_event_name MAX_TIMER_READ_ONLY 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name COUNT_READ_WRITE 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name SUM_TIMER_READ_WRITE 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name MIN_TIMER_READ_WRITE 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name AVG_TIMER_READ_WRITE 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name MAX_TIMER_READ_WRITE 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name COUNT_READ_ONLY 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name SUM_TIMER_READ_ONLY 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name MIN_TIMER_READ_ONLY 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name AVG_TIMER_READ_ONLY 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_host_by_event_name MAX_TIMER_READ_ONLY 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name COUNT_READ_WRITE 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name SUM_TIMER_READ_WRITE 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name MIN_TIMER_READ_WRITE 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name AVG_TIMER_READ_WRITE 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name MAX_TIMER_READ_WRITE 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name COUNT_READ_ONLY 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name SUM_TIMER_READ_ONLY 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name MIN_TIMER_READ_ONLY 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name AVG_TIMER_READ_ONLY 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_thread_by_event_name MAX_TIMER_READ_ONLY 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name COUNT_READ_WRITE 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name SUM_TIMER_READ_WRITE 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name MIN_TIMER_READ_WRITE 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name AVG_TIMER_READ_WRITE 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name MAX_TIMER_READ_WRITE 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name COUNT_READ_ONLY 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name SUM_TIMER_READ_ONLY 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name MIN_TIMER_READ_ONLY 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name AVG_TIMER_READ_ONLY 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_by_user_by_event_name MAX_TIMER_READ_ONLY 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name COUNT_READ_WRITE 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name SUM_TIMER_READ_WRITE 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name MIN_TIMER_READ_WRITE 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name AVG_TIMER_READ_WRITE 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name MAX_TIMER_READ_WRITE 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name COUNT_READ_ONLY 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name SUM_TIMER_READ_ONLY 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name MIN_TIMER_READ_ONLY 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name AVG_TIMER_READ_ONLY 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_transactions_summary_global_by_event_name MAX_TIMER_READ_ONLY 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_current THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_current EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_current END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_current EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_waits_current SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_current TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_current TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_current TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_current SPINS 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references +def performance_schema events_waits_current OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_current OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references +def performance_schema events_waits_current INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_current OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_current OBJECT_INSTANCE_BEGIN 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_current NESTING_EVENT_ID 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_current NESTING_EVENT_TYPE 16 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_waits_current OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references +def performance_schema events_waits_current NUMBER_OF_BYTES 18 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema events_waits_current FLAGS 19 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references +def performance_schema events_waits_history THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_waits_history SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_history TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history SPINS 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references +def performance_schema events_waits_history OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_history OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references +def performance_schema events_waits_history INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_history OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_history OBJECT_INSTANCE_BEGIN 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history NESTING_EVENT_ID 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history NESTING_EVENT_TYPE 16 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_waits_history OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references +def performance_schema events_waits_history NUMBER_OF_BYTES 18 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema events_waits_history FLAGS 19 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references +def performance_schema events_waits_history_long THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history_long EVENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history_long END_EVENT_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history_long EVENT_NAME 4 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_waits_history_long SOURCE 5 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_history_long TIMER_START 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history_long TIMER_END 7 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history_long TIMER_WAIT 8 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history_long SPINS 9 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references +def performance_schema events_waits_history_long OBJECT_SCHEMA 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_history_long OBJECT_NAME 11 NULL YES varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references +def performance_schema events_waits_history_long INDEX_NAME 12 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_history_long OBJECT_TYPE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema events_waits_history_long OBJECT_INSTANCE_BEGIN 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history_long NESTING_EVENT_ID 15 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_history_long NESTING_EVENT_TYPE 16 NULL YES enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('TRANSACTION','STATEMENT','STAGE','WAIT') select,insert,update,references +def performance_schema events_waits_history_long OPERATION 17 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references +def performance_schema events_waits_history_long NUMBER_OF_BYTES 18 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema events_waits_history_long FLAGS 19 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_account_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema events_waits_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema events_waits_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_waits_summary_by_account_by_event_name COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_account_by_event_name SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_account_by_event_name MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_account_by_event_name AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_account_by_event_name MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema events_waits_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_waits_summary_by_host_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_host_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_host_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_host_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_host_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_instance EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_waits_summary_by_instance OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_instance COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_instance SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_instance MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_instance AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_instance MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_thread_by_event_name THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_waits_summary_by_thread_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_thread_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_thread_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_thread_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_thread_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_user_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema events_waits_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_waits_summary_by_user_by_event_name COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_user_by_event_name SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_user_by_event_name MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_user_by_event_name AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_by_user_by_event_name MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema events_waits_summary_global_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_global_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_global_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_global_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema events_waits_summary_global_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_instances FILE_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references +def performance_schema file_instances EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema file_instances OPEN_COUNT 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema file_summary_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name COUNT_READ 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name SUM_TIMER_READ 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name MIN_TIMER_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name AVG_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name MAX_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name SUM_NUMBER_OF_BYTES_READ 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema file_summary_by_event_name COUNT_WRITE 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name SUM_TIMER_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name MIN_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name AVG_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name MAX_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name SUM_NUMBER_OF_BYTES_WRITE 18 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema file_summary_by_event_name COUNT_MISC 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name SUM_TIMER_MISC 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name MIN_TIMER_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name AVG_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_event_name MAX_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance FILE_NAME 1 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references +def performance_schema file_summary_by_instance EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema file_summary_by_instance OBJECT_INSTANCE_BEGIN 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance COUNT_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance SUM_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance MIN_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance AVG_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance MAX_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance SUM_NUMBER_OF_BYTES_READ 14 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema file_summary_by_instance COUNT_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance SUM_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance MIN_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance AVG_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance MAX_TIMER_WRITE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance SUM_NUMBER_OF_BYTES_WRITE 20 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema file_summary_by_instance COUNT_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance SUM_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance MIN_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance AVG_TIMER_MISC 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema file_summary_by_instance MAX_TIMER_MISC 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema global_status VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema global_status VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references +def performance_schema global_variables VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema global_variables VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references +def performance_schema hosts HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema hosts CURRENT_CONNECTIONS 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema hosts TOTAL_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache IP 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema host_cache HOST 2 NULL YES varchar 255 765 NULL NULL NULL utf8 utf8_bin varchar(255) select,insert,update,references +def performance_schema host_cache HOST_VALIDATED 3 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema host_cache SUM_CONNECT_ERRORS 4 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_HOST_BLOCKED_ERRORS 5 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_NAMEINFO_TRANSIENT_ERRORS 6 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_NAMEINFO_PERMANENT_ERRORS 7 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_FORMAT_ERRORS 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_ADDRINFO_TRANSIENT_ERRORS 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_ADDRINFO_PERMANENT_ERRORS 10 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_FCRDNS_ERRORS 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_HOST_ACL_ERRORS 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_NO_AUTH_PLUGIN_ERRORS 13 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_AUTH_PLUGIN_ERRORS 14 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_HANDSHAKE_ERRORS 15 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_PROXY_USER_ERRORS 16 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_PROXY_USER_ACL_ERRORS 17 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_AUTHENTICATION_ERRORS 18 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_SSL_ERRORS 19 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_MAX_USER_CONNECTIONS_ERRORS 20 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS 21 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_DEFAULT_DATABASE_ERRORS 22 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_INIT_CONNECT_ERRORS 23 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_LOCAL_ERRORS 24 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache COUNT_UNKNOWN_ERRORS 25 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema host_cache FIRST_SEEN 26 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references +def performance_schema host_cache LAST_SEEN 27 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references +def performance_schema host_cache FIRST_ERROR_SEEN 28 0000-00-00 00:00:00 YES timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references +def performance_schema host_cache LAST_ERROR_SEEN 29 0000-00-00 00:00:00 YES timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name EVENT_NAME 3 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name COUNT_ALLOC 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name COUNT_FREE 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name SUM_NUMBER_OF_BYTES_ALLOC 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name SUM_NUMBER_OF_BYTES_FREE 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name LOW_COUNT_USED 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name CURRENT_COUNT_USED 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name HIGH_COUNT_USED 10 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name LOW_NUMBER_OF_BYTES_USED 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name CURRENT_NUMBER_OF_BYTES_USED 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_account_by_event_name HIGH_NUMBER_OF_BYTES_USED 13 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name COUNT_ALLOC 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name COUNT_FREE 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name SUM_NUMBER_OF_BYTES_ALLOC 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name SUM_NUMBER_OF_BYTES_FREE 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name LOW_COUNT_USED 7 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name CURRENT_COUNT_USED 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name HIGH_COUNT_USED 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name LOW_NUMBER_OF_BYTES_USED 10 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name CURRENT_NUMBER_OF_BYTES_USED 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_host_by_event_name HIGH_NUMBER_OF_BYTES_USED 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name COUNT_ALLOC 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name COUNT_FREE 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name SUM_NUMBER_OF_BYTES_ALLOC 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name SUM_NUMBER_OF_BYTES_FREE 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name LOW_COUNT_USED 7 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name CURRENT_COUNT_USED 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name HIGH_COUNT_USED 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name LOW_NUMBER_OF_BYTES_USED 10 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name CURRENT_NUMBER_OF_BYTES_USED 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_thread_by_event_name HIGH_NUMBER_OF_BYTES_USED 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name EVENT_NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name COUNT_ALLOC 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name COUNT_FREE 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name SUM_NUMBER_OF_BYTES_ALLOC 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name SUM_NUMBER_OF_BYTES_FREE 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name LOW_COUNT_USED 7 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name CURRENT_COUNT_USED 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name HIGH_COUNT_USED 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name LOW_NUMBER_OF_BYTES_USED 10 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name CURRENT_NUMBER_OF_BYTES_USED 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_by_user_by_event_name HIGH_NUMBER_OF_BYTES_USED 12 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_global_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema memory_summary_global_by_event_name COUNT_ALLOC 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_global_by_event_name COUNT_FREE 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_global_by_event_name SUM_NUMBER_OF_BYTES_ALLOC 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_global_by_event_name SUM_NUMBER_OF_BYTES_FREE 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema memory_summary_global_by_event_name LOW_COUNT_USED 6 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_global_by_event_name CURRENT_COUNT_USED 7 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_global_by_event_name HIGH_COUNT_USED 8 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_global_by_event_name LOW_NUMBER_OF_BYTES_USED 9 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_global_by_event_name CURRENT_NUMBER_OF_BYTES_USED 10 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema memory_summary_global_by_event_name HIGH_NUMBER_OF_BYTES_USED 11 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema metadata_locks OBJECT_TYPE 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema metadata_locks OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema metadata_locks OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema metadata_locks OBJECT_INSTANCE_BEGIN 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema metadata_locks LOCK_TYPE 5 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references +def performance_schema metadata_locks LOCK_DURATION 6 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references +def performance_schema metadata_locks LOCK_STATUS 7 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references +def performance_schema metadata_locks SOURCE 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema metadata_locks OWNER_THREAD_ID 9 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema metadata_locks OWNER_EVENT_ID 10 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema mutex_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema mutex_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema mutex_instances LOCKED_BY_THREAD_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema objects_summary_global_by_type OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema objects_summary_global_by_type OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema objects_summary_global_by_type OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema objects_summary_global_by_type COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema objects_summary_global_by_type SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema objects_summary_global_by_type MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema objects_summary_global_by_type AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema objects_summary_global_by_type MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema performance_timers TIMER_NAME 1 NULL NO enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') select,insert,update,references +def performance_schema performance_timers TIMER_FREQUENCY 2 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema performance_timers TIMER_RESOLUTION 3 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema performance_timers TIMER_OVERHEAD 4 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema prepared_statements_instances OBJECT_INSTANCE_BEGIN 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances STATEMENT_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances STATEMENT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema prepared_statements_instances SQL_TEXT 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references +def performance_schema prepared_statements_instances OWNER_THREAD_ID 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances OWNER_EVENT_ID 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances OWNER_OBJECT_TYPE 7 NULL YES enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER') select,insert,update,references +def performance_schema prepared_statements_instances OWNER_OBJECT_SCHEMA 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema prepared_statements_instances OWNER_OBJECT_NAME 9 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema prepared_statements_instances TIMER_PREPARE 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances COUNT_REPREPARE 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances COUNT_EXECUTE 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_TIMER_EXECUTE 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances MIN_TIMER_EXECUTE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances AVG_TIMER_EXECUTE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances MAX_TIMER_EXECUTE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_LOCK_TIME 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_ERRORS 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_WARNINGS 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_ROWS_AFFECTED 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_ROWS_SENT 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_ROWS_EXAMINED 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_CREATED_TMP_DISK_TABLES 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_CREATED_TMP_TABLES 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_SELECT_FULL_JOIN 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_SELECT_FULL_RANGE_JOIN 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_SELECT_RANGE 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_SELECT_RANGE_CHECK 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_SELECT_SCAN 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_SORT_MERGE_PASSES 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_SORT_RANGE 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_SORT_ROWS 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_SORT_SCAN 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_NO_INDEX_USED 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema prepared_statements_instances SUM_NO_GOOD_INDEX_USED 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_applier_configuration CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references +def performance_schema replication_applier_configuration DESIRED_DELAY 2 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema replication_applier_status CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references +def performance_schema replication_applier_status SERVICE_STATE 2 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('ON','OFF') select,insert,update,references +def performance_schema replication_applier_status REMAINING_DELAY 3 NULL YES int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references +def performance_schema replication_applier_status COUNT_TRANSACTIONS_RETRIES 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_applier_status_by_coordinator CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references +def performance_schema replication_applier_status_by_coordinator THREAD_ID 2 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_applier_status_by_coordinator SERVICE_STATE 3 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('ON','OFF') select,insert,update,references +def performance_schema replication_applier_status_by_coordinator LAST_ERROR_NUMBER 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema replication_applier_status_by_coordinator LAST_ERROR_MESSAGE 5 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references +def performance_schema replication_applier_status_by_coordinator LAST_ERROR_TIMESTAMP 6 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references +def performance_schema replication_applier_status_by_worker CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references +def performance_schema replication_applier_status_by_worker WORKER_ID 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_applier_status_by_worker THREAD_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_applier_status_by_worker SERVICE_STATE 4 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('ON','OFF') select,insert,update,references +def performance_schema replication_applier_status_by_worker LAST_SEEN_TRANSACTION 5 NULL NO char 57 171 NULL NULL NULL utf8 utf8_general_ci char(57) select,insert,update,references +def performance_schema replication_applier_status_by_worker LAST_ERROR_NUMBER 6 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema replication_applier_status_by_worker LAST_ERROR_MESSAGE 7 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references +def performance_schema replication_applier_status_by_worker LAST_ERROR_TIMESTAMP 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references +def performance_schema replication_connection_configuration CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references +def performance_schema replication_connection_configuration HOST 2 NULL NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema replication_connection_configuration PORT 3 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema replication_connection_configuration USER 4 NULL NO char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema replication_connection_configuration NETWORK_INTERFACE 5 NULL NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema replication_connection_configuration AUTO_POSITION 6 NULL NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('1','0') select,insert,update,references +def performance_schema replication_connection_configuration SSL_ALLOWED 7 NULL NO enum 7 21 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO','IGNORED') select,insert,update,references +def performance_schema replication_connection_configuration SSL_CA_FILE 8 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references +def performance_schema replication_connection_configuration SSL_CA_PATH 9 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references +def performance_schema replication_connection_configuration SSL_CERTIFICATE 10 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references +def performance_schema replication_connection_configuration SSL_CIPHER 11 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references +def performance_schema replication_connection_configuration SSL_KEY 12 NULL NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select,insert,update,references +def performance_schema replication_connection_configuration SSL_VERIFY_SERVER_CERTIFICATE 13 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema replication_connection_configuration SSL_CRL_FILE 14 NULL NO varchar 255 765 NULL NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references +def performance_schema replication_connection_configuration SSL_CRL_PATH 15 NULL NO varchar 255 765 NULL NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references +def performance_schema replication_connection_configuration CONNECTION_RETRY_INTERVAL 16 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema replication_connection_configuration CONNECTION_RETRY_COUNT 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_connection_configuration HEARTBEAT_INTERVAL 18 NULL NO double NULL NULL 10 3 NULL NULL NULL double(10,3) unsigned select,insert,update,references Number of seconds after which a heartbeat will be sent . +def performance_schema replication_connection_configuration TLS_VERSION 19 NULL NO varchar 255 765 NULL NULL NULL utf8 utf8_general_ci varchar(255) select,insert,update,references +def performance_schema replication_connection_status CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references +def performance_schema replication_connection_status GROUP_NAME 2 NULL NO char 36 108 NULL NULL NULL utf8 utf8_bin char(36) select,insert,update,references +def performance_schema replication_connection_status SOURCE_UUID 3 NULL NO char 36 108 NULL NULL NULL utf8 utf8_bin char(36) select,insert,update,references +def performance_schema replication_connection_status THREAD_ID 4 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_connection_status SERVICE_STATE 5 NULL NO enum 10 30 NULL NULL NULL utf8 utf8_general_ci enum('ON','OFF','CONNECTING') select,insert,update,references +def performance_schema replication_connection_status COUNT_RECEIVED_HEARTBEATS 6 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_connection_status LAST_HEARTBEAT_TIMESTAMP 7 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references Shows when the most recent heartbeat signal was received. +def performance_schema replication_connection_status RECEIVED_TRANSACTION_SET 8 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_general_ci text select,insert,update,references +def performance_schema replication_connection_status LAST_ERROR_NUMBER 9 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema replication_connection_status LAST_ERROR_MESSAGE 10 NULL NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references +def performance_schema replication_connection_status LAST_ERROR_TIMESTAMP 11 0000-00-00 00:00:00 NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp select,insert,update,references +def performance_schema replication_group_members CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references +def performance_schema replication_group_members MEMBER_ID 2 NULL NO char 36 108 NULL NULL NULL utf8 utf8_bin char(36) select,insert,update,references +def performance_schema replication_group_members MEMBER_HOST 3 NULL NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema replication_group_members MEMBER_PORT 4 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema replication_group_members MEMBER_STATE 5 NULL NO char 64 192 NULL NULL NULL utf8 utf8_bin char(64) select,insert,update,references +def performance_schema replication_group_member_stats CHANNEL_NAME 1 NULL NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references +def performance_schema replication_group_member_stats VIEW_ID 2 NULL NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema replication_group_member_stats MEMBER_ID 3 NULL NO char 36 108 NULL NULL NULL utf8 utf8_bin char(36) select,insert,update,references +def performance_schema replication_group_member_stats COUNT_TRANSACTIONS_IN_QUEUE 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_group_member_stats COUNT_TRANSACTIONS_CHECKED 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_group_member_stats COUNT_CONFLICTS_DETECTED 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_group_member_stats COUNT_TRANSACTIONS_VALIDATING 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema replication_group_member_stats TRANSACTIONS_COMMITTED_ALL_MEMBERS 8 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references +def performance_schema replication_group_member_stats LAST_CONFLICT_FREE_TRANSACTION 9 NULL NO text 65535 65535 NULL NULL NULL utf8 utf8_general_ci text select,insert,update,references +def performance_schema rwlock_instances NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema rwlock_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema rwlock_instances WRITE_LOCKED_BY_THREAD_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema rwlock_instances READ_LOCKED_BY_COUNT 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(10) unsigned select,insert,update,references +def performance_schema session_account_connect_attrs PROCESSLIST_ID 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema session_account_connect_attrs ATTR_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_bin varchar(32) select,insert,update,references +def performance_schema session_account_connect_attrs ATTR_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_bin varchar(1024) select,insert,update,references +def performance_schema session_account_connect_attrs ORDINAL_POSITION 4 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema session_connect_attrs PROCESSLIST_ID 1 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema session_connect_attrs ATTR_NAME 2 NULL NO varchar 32 96 NULL NULL NULL utf8 utf8_bin varchar(32) select,insert,update,references +def performance_schema session_connect_attrs ATTR_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_bin varchar(1024) select,insert,update,references +def performance_schema session_connect_attrs ORDINAL_POSITION 4 NULL YES int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema session_status VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema session_status VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references +def performance_schema session_variables VARIABLE_NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema session_variables VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references +def performance_schema setup_actors HOST 1 % NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema setup_actors USER 2 % NO char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema setup_actors ROLE 3 % NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) select,insert,update,references +def performance_schema setup_actors ENABLED 4 YES NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema setup_actors HISTORY 5 YES NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema setup_consumers NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema setup_consumers ENABLED 2 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema setup_instruments NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema setup_instruments ENABLED 2 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema setup_instruments TIMED 3 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema setup_objects OBJECT_TYPE 1 TABLE NO enum 9 27 NULL NULL NULL utf8 utf8_general_ci enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER') select,insert,update,references +def performance_schema setup_objects OBJECT_SCHEMA 2 % YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema setup_objects OBJECT_NAME 3 % NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema setup_objects ENABLED 4 YES NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema setup_objects TIMED 5 YES NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema setup_timers NAME 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema setup_timers TIMER_NAME 2 NULL NO enum 11 33 NULL NULL NULL utf8 utf8_general_ci enum('CYCLE','NANOSECOND','MICROSECOND','MILLISECOND','TICK') select,insert,update,references +def performance_schema socket_instances EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema socket_instances OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_instances THREAD_ID 3 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_instances SOCKET_ID 4 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema socket_instances IP 5 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema socket_instances PORT 6 NULL NO int NULL NULL 10 0 NULL NULL NULL int(11) select,insert,update,references +def performance_schema socket_instances STATE 7 NULL NO enum 6 18 NULL NULL NULL utf8 utf8_general_ci enum('IDLE','ACTIVE') select,insert,update,references +def performance_schema socket_summary_by_event_name EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema socket_summary_by_event_name COUNT_STAR 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name SUM_TIMER_WAIT 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name MIN_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name AVG_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name MAX_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name COUNT_READ 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name SUM_TIMER_READ 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name MIN_TIMER_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name AVG_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name MAX_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name SUM_NUMBER_OF_BYTES_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name COUNT_WRITE 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name SUM_TIMER_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name MIN_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name AVG_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name MAX_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name SUM_NUMBER_OF_BYTES_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name COUNT_MISC 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name SUM_TIMER_MISC 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name MIN_TIMER_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name AVG_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_event_name MAX_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance EVENT_NAME 1 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema socket_summary_by_instance OBJECT_INSTANCE_BEGIN 2 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance COUNT_STAR 3 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance SUM_TIMER_WAIT 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance MIN_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance AVG_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance MAX_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance COUNT_READ 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance SUM_TIMER_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance MIN_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance AVG_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance MAX_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance SUM_NUMBER_OF_BYTES_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance COUNT_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance SUM_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance MIN_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance AVG_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance MAX_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance SUM_NUMBER_OF_BYTES_WRITE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance COUNT_MISC 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance SUM_TIMER_MISC 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance MIN_TIMER_MISC 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance AVG_TIMER_MISC 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema socket_summary_by_instance MAX_TIMER_MISC 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema status_by_account USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema status_by_account HOST 2 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema status_by_account VARIABLE_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema status_by_account VARIABLE_VALUE 4 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references +def performance_schema status_by_host HOST 1 NULL YES char 60 180 NULL NULL NULL utf8 utf8_bin char(60) select,insert,update,references +def performance_schema status_by_host VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema status_by_host VARIABLE_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references +def performance_schema status_by_thread THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema status_by_thread VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema status_by_thread VARIABLE_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references +def performance_schema status_by_user USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema status_by_user VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema status_by_user VARIABLE_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references +def performance_schema table_handles OBJECT_TYPE 1 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_handles OBJECT_SCHEMA 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_handles OBJECT_NAME 3 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_handles OBJECT_INSTANCE_BEGIN 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_handles OWNER_THREAD_ID 5 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_handles OWNER_EVENT_ID 6 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_handles INTERNAL_LOCK 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_handles EXTERNAL_LOCK 8 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage INDEX_NAME 4 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage COUNT_STAR 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_WAIT 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage COUNT_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_READ 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage COUNT_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_WRITE 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage COUNT_FETCH 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_FETCH 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_FETCH 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_FETCH 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_FETCH 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage COUNT_INSERT 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_INSERT 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_INSERT 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_INSERT 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_INSERT 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage COUNT_UPDATE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_UPDATE 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_UPDATE 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_UPDATE 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_UPDATE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage COUNT_DELETE 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage SUM_TIMER_DELETE 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MIN_TIMER_DELETE 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage AVG_TIMER_DELETE 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_index_usage MAX_TIMER_DELETE 39 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_io_waits_summary_by_table OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_io_waits_summary_by_table OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_io_waits_summary_by_table COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table COUNT_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table SUM_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MIN_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table AVG_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MAX_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table COUNT_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table SUM_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MIN_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table AVG_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MAX_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table COUNT_FETCH 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table SUM_TIMER_FETCH 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MIN_TIMER_FETCH 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table AVG_TIMER_FETCH 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MAX_TIMER_FETCH 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table COUNT_INSERT 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table SUM_TIMER_INSERT 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MIN_TIMER_INSERT 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table AVG_TIMER_INSERT 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MAX_TIMER_INSERT 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table COUNT_UPDATE 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table SUM_TIMER_UPDATE 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MIN_TIMER_UPDATE 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table AVG_TIMER_UPDATE 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MAX_TIMER_UPDATE 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table COUNT_DELETE 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table SUM_TIMER_DELETE 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MIN_TIMER_DELETE 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table AVG_TIMER_DELETE 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_io_waits_summary_by_table MAX_TIMER_DELETE 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table OBJECT_TYPE 1 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_lock_waits_summary_by_table OBJECT_SCHEMA 2 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_lock_waits_summary_by_table OBJECT_NAME 3 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_STAR 4 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WAIT 5 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WAIT 6 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WAIT 7 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WAIT 8 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_READ 9 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ 10 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ 11 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ 12 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ 13 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_WRITE 14 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE 15 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE 16 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE 17 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE 18 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_READ_NORMAL 19 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_NORMAL 20 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_NORMAL 21 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_NORMAL 22 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_NORMAL 23 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_READ_WITH_SHARED_LOCKS 24 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_WITH_SHARED_LOCKS 25 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_WITH_SHARED_LOCKS 26 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_WITH_SHARED_LOCKS 27 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_WITH_SHARED_LOCKS 28 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_READ_HIGH_PRIORITY 29 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_HIGH_PRIORITY 30 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_HIGH_PRIORITY 31 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_HIGH_PRIORITY 32 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_HIGH_PRIORITY 33 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_READ_NO_INSERT 34 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_NO_INSERT 35 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_NO_INSERT 36 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_NO_INSERT 37 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_NO_INSERT 38 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_READ_EXTERNAL 39 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_READ_EXTERNAL 40 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_READ_EXTERNAL 41 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_READ_EXTERNAL 42 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_READ_EXTERNAL 43 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_ALLOW_WRITE 44 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_ALLOW_WRITE 45 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_ALLOW_WRITE 46 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_ALLOW_WRITE 47 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_ALLOW_WRITE 48 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_CONCURRENT_INSERT 49 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_CONCURRENT_INSERT 50 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_CONCURRENT_INSERT 51 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_CONCURRENT_INSERT 52 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_CONCURRENT_INSERT 53 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_LOW_PRIORITY 54 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_LOW_PRIORITY 55 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_LOW_PRIORITY 56 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_LOW_PRIORITY 57 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_LOW_PRIORITY 58 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_NORMAL 59 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_NORMAL 60 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_NORMAL 61 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_NORMAL 62 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_NORMAL 63 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table COUNT_WRITE_EXTERNAL 64 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table SUM_TIMER_WRITE_EXTERNAL 65 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MIN_TIMER_WRITE_EXTERNAL 66 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table AVG_TIMER_WRITE_EXTERNAL 67 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema table_lock_waits_summary_by_table MAX_TIMER_WRITE_EXTERNAL 68 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema threads THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema threads NAME 2 NULL NO varchar 128 384 NULL NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references +def performance_schema threads TYPE 3 NULL NO varchar 10 30 NULL NULL NULL utf8 utf8_general_ci varchar(10) select,insert,update,references +def performance_schema threads PROCESSLIST_ID 4 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema threads PROCESSLIST_USER 5 NULL YES varchar 32 96 NULL NULL NULL utf8 utf8_general_ci varchar(32) select,insert,update,references +def performance_schema threads PROCESSLIST_HOST 6 NULL YES varchar 60 180 NULL NULL NULL utf8 utf8_general_ci varchar(60) select,insert,update,references +def performance_schema threads PROCESSLIST_DB 7 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema threads PROCESSLIST_COMMAND 8 NULL YES varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select,insert,update,references +def performance_schema threads PROCESSLIST_TIME 9 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema threads PROCESSLIST_STATE 10 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema threads PROCESSLIST_INFO 11 NULL YES longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select,insert,update,references +def performance_schema threads PARENT_THREAD_ID 12 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema threads ROLE 13 NULL YES varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema threads INSTRUMENTED 14 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema threads HISTORY 15 NULL NO enum 3 9 NULL NULL NULL utf8 utf8_general_ci enum('YES','NO') select,insert,update,references +def performance_schema threads CONNECTION_TYPE 16 NULL YES varchar 16 48 NULL NULL NULL utf8 utf8_general_ci varchar(16) select,insert,update,references +def performance_schema threads THREAD_OS_ID 17 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema users USER 1 NULL YES char 32 96 NULL NULL NULL utf8 utf8_bin char(32) select,insert,update,references +def performance_schema users CURRENT_CONNECTIONS 2 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema users TOTAL_CONNECTIONS 3 NULL NO bigint NULL NULL 19 0 NULL NULL NULL bigint(20) select,insert,update,references +def performance_schema user_variables_by_thread THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema user_variables_by_thread VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema user_variables_by_thread VARIABLE_VALUE 3 NULL YES longblob 4294967295 4294967295 NULL NULL NULL NULL NULL longblob select,insert,update,references +def performance_schema variables_by_thread THREAD_ID 1 NULL NO bigint NULL NULL 20 0 NULL NULL NULL bigint(20) unsigned select,insert,update,references +def performance_schema variables_by_thread VARIABLE_NAME 2 NULL NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select,insert,update,references +def performance_schema variables_by_thread VARIABLE_VALUE 3 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select,insert,update,references select count(*) from information_schema.columns where table_schema="performance_schema" and data_type = "bigint" and column_name like "%number_of_bytes" into @count_byte_columns; diff --git a/mysql-test/suite/perfschema/r/temp_table_io.result b/mysql-test/suite/perfschema/r/temp_table_io.result index c5de365dbf4..50ba7e1296b 100644 --- a/mysql-test/suite/perfschema/r/temp_table_io.result +++ b/mysql-test/suite/perfschema/r/temp_table_io.result @@ -70,21 +70,21 @@ where event_name like 'wait/io/table/%' and object_schema in ("test") order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -94,9 +94,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -106,6 +112,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/thread_cache.result b/mysql-test/suite/perfschema/r/thread_cache.result index f64cadc2705..9d610e45b6f 100644 --- a/mysql-test/suite/perfschema/r/thread_cache.result +++ b/mysql-test/suite/perfschema/r/thread_cache.result @@ -1,7 +1,7 @@ flush status; SET @saved_thread_cache_size = @@global.thread_cache_size; set global thread_cache_size = 0; -show variables like "thread_cache_size"; +show global variables like "thread_cache_size"; Variable_name Value thread_cache_size 0 select @id_increment; @@ -17,7 +17,7 @@ select @thread_id_increment; @thread_id_increment 1 set global thread_cache_size = 100; -show variables like "thread_cache_size"; +show global variables like "thread_cache_size"; Variable_name Value thread_cache_size 100 select @id_increment; @@ -33,7 +33,7 @@ select @thread_id_increment; @thread_id_increment 1 set global thread_cache_size = @saved_thread_cache_size; -show status like "performance_schema_thread%"; +show global status like "performance_schema_thread%"; Variable_name Value Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 diff --git a/mysql-test/suite/perfschema/r/thread_misc.result b/mysql-test/suite/perfschema/r/thread_misc.result new file mode 100644 index 00000000000..31094e64b59 --- /dev/null +++ b/mysql-test/suite/perfschema/r/thread_misc.result @@ -0,0 +1 @@ +select * from information_schema.columns ORDER BY table_name; diff --git a/mysql-test/suite/perfschema/r/threads_history.result b/mysql-test/suite/perfschema/r/threads_history.result new file mode 100644 index 00000000000..c848f8ac911 --- /dev/null +++ b/mysql-test/suite/perfschema/r/threads_history.result @@ -0,0 +1,655 @@ +create user user1@localhost; +create user user2@localhost; +create user user3@localhost; +create user user4@localhost; +grant ALL on *.* to user1@localhost; +grant ALL on *.* to user2@localhost; +grant ALL on *.* to user3@localhost; +grant ALL on *.* to user4@localhost; +flush privileges; +select * from performance_schema.setup_consumers; +NAME ENABLED +events_stages_current YES +events_stages_history YES +events_stages_history_long YES +events_statements_current YES +events_statements_history YES +events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES +events_waits_current YES +events_waits_history YES +events_waits_history_long YES +global_instrumentation YES +thread_instrumentation YES +statements_digest YES +# Switch to (con1, localhost, user1, , ) +update performance_schema.threads +set INSTRUMENTED='YES', HISTORY='YES' + where PROCESSLIST_ID = connection_id(); +# Switch to (con2, localhost, user2, , ) +update performance_schema.threads +set INSTRUMENTED='YES', HISTORY='NO' + where PROCESSLIST_ID = connection_id(); +# Switch to (con3, localhost, user3, , ) +update performance_schema.threads +set INSTRUMENTED='NO', HISTORY='YES' + where PROCESSLIST_ID = connection_id(); +# Switch to (con4, localhost, user4, , ) +update performance_schema.threads +set INSTRUMENTED='NO', HISTORY='NO' + where PROCESSLIST_ID = connection_id(); +# Switch to connection default +truncate table performance_schema.events_transactions_current; +truncate table performance_schema.events_transactions_history; +truncate table performance_schema.events_transactions_history_long; +truncate table performance_schema.events_statements_current; +truncate table performance_schema.events_statements_history; +truncate table performance_schema.events_statements_history_long; +truncate table performance_schema.events_stages_current; +truncate table performance_schema.events_stages_history; +truncate table performance_schema.events_stages_history_long; +truncate table performance_schema.events_waits_current; +truncate table performance_schema.events_waits_history; +truncate table performance_schema.events_waits_history_long; +# Switch to connection con1 +XA START 'XA_CON1', 'XA_BQUAL', 12; +select "Hi from con1"; +Hi from con1 +Hi from con1 +XA END 'XA_CON1', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON1', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON1', 'XA_BQUAL', 12; +# Switch to connection con2 +XA START 'XA_CON2', 'XA_BQUAL', 12; +select "Hi from con2"; +Hi from con2 +Hi from con2 +XA END 'XA_CON2', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON2', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON2', 'XA_BQUAL', 12; +# Switch to connection con3 +XA START 'XA_CON3', 'XA_BQUAL', 12; +select "Hi from con3"; +Hi from con3 +Hi from con3 +XA END 'XA_CON3', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON3', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON3', 'XA_BQUAL', 12; +# Switch to connection con4 +XA START 'XA_CON4', 'XA_BQUAL', 12; +select "Hi from con4"; +Hi from con4 +Hi from con4 +XA END 'XA_CON4', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON4', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON4', 'XA_BQUAL', 12; +"=========================== Transactions user 1" +XID_FORMAT_ID XID_GTRID XID_BQUAL +12 XA_CON1 XA_BQUAL +XID_FORMAT_ID XID_GTRID XID_BQUAL +12 XA_CON1 XA_BQUAL +XID_FORMAT_ID XID_GTRID XID_BQUAL +12 XA_CON1 XA_BQUAL +"=========================== Transactions user 2" +XID_FORMAT_ID XID_GTRID XID_BQUAL +12 XA_CON2 XA_BQUAL +count(*) +0 +count(*) +0 +"=========================== Transactions user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Transactions user 4" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Statements user 1" +EVENT_NAME SQL_TEXT +statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12 +EVENT_NAME SQL_TEXT +statement/sql/xa_start XA START 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/select select "Hi from con1" +statement/sql/xa_end XA END 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/xa_prepare XA PREPARE 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12 +EVENT_NAME SQL_TEXT +statement/sql/xa_start XA START 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/select select "Hi from con1" +statement/sql/xa_end XA END 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/xa_prepare XA PREPARE 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12 +"=========================== Statements user 2" +EVENT_NAME SQL_TEXT +statement/sql/xa_commit XA COMMIT 'XA_CON2', 'XA_BQUAL', 12 +count(*) +0 +count(*) +0 +"=========================== Statements user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Statements user 4" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Stages user 1" +EVENT_NAME +EVENT_NAME +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +EVENT_NAME +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +stage/sql/starting +stage/sql/checking permissions +stage/sql/Opening tables +stage/sql/init +stage/sql/optimizing +stage/sql/executing +stage/sql/end +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +"=========================== Stages user 2" +EVENT_NAME +count(*) +0 +count(*) +0 +"=========================== Stages user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Stages user 4" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Waits user 1" +EVENT_NAME +idle +has_waits +1 +has_waits +1 +"=========================== Waits user 2" +EVENT_NAME +idle +count(*) +0 +count(*) +0 +"=========================== Waits user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Waits user 4" +count(*) +0 +count(*) +0 +count(*) +0 +# Switch to connection default, disable consumers +update performance_schema.setup_consumers +set enabled='NO' where name like "%history%"; +select * from performance_schema.setup_consumers; +NAME ENABLED +events_stages_current YES +events_stages_history NO +events_stages_history_long NO +events_statements_current YES +events_statements_history NO +events_statements_history_long NO +events_transactions_current YES +events_transactions_history NO +events_transactions_history_long NO +events_waits_current YES +events_waits_history NO +events_waits_history_long NO +global_instrumentation YES +thread_instrumentation YES +statements_digest YES +truncate table performance_schema.events_transactions_current; +truncate table performance_schema.events_transactions_history; +truncate table performance_schema.events_transactions_history_long; +truncate table performance_schema.events_statements_current; +truncate table performance_schema.events_statements_history; +truncate table performance_schema.events_statements_history_long; +truncate table performance_schema.events_stages_current; +truncate table performance_schema.events_stages_history; +truncate table performance_schema.events_stages_history_long; +truncate table performance_schema.events_waits_current; +truncate table performance_schema.events_waits_history; +truncate table performance_schema.events_waits_history_long; +# Switch to connection con1 +XA START 'XA_CON1', 'XA_BQUAL', 12; +select "Hi from con1"; +Hi from con1 +Hi from con1 +XA END 'XA_CON1', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON1', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON1', 'XA_BQUAL', 12; +# Switch to connection con2 +XA START 'XA_CON2', 'XA_BQUAL', 12; +select "Hi from con2"; +Hi from con2 +Hi from con2 +XA END 'XA_CON2', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON2', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON2', 'XA_BQUAL', 12; +# Switch to connection con3 +XA START 'XA_CON3', 'XA_BQUAL', 12; +select "Hi from con3"; +Hi from con3 +Hi from con3 +XA END 'XA_CON3', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON3', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON3', 'XA_BQUAL', 12; +# Switch to connection con4 +XA START 'XA_CON4', 'XA_BQUAL', 12; +select "Hi from con4"; +Hi from con4 +Hi from con4 +XA END 'XA_CON4', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON4', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON4', 'XA_BQUAL', 12; +"=========================== Transactions user 1" +XID_FORMAT_ID XID_GTRID XID_BQUAL +12 XA_CON1 XA_BQUAL +count(*) +0 +count(*) +0 +"=========================== Transactions user 2" +XID_FORMAT_ID XID_GTRID XID_BQUAL +12 XA_CON2 XA_BQUAL +count(*) +0 +count(*) +0 +"=========================== Transactions user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Transactions user 4" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Statements user 1" +EVENT_NAME SQL_TEXT +statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12 +count(*) +0 +count(*) +0 +"=========================== Statements user 2" +EVENT_NAME SQL_TEXT +statement/sql/xa_commit XA COMMIT 'XA_CON2', 'XA_BQUAL', 12 +count(*) +0 +count(*) +0 +"=========================== Statements user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Statements user 4" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Stages user 1" +EVENT_NAME +count(*) +0 +count(*) +0 +"=========================== Stages user 2" +EVENT_NAME +count(*) +0 +count(*) +0 +"=========================== Stages user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Stages user 4" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Waits user 1" +EVENT_NAME +idle +has_waits +0 +has_waits +0 +"=========================== Waits user 2" +EVENT_NAME +idle +count(*) +0 +count(*) +0 +"=========================== Waits user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Waits user 4" +count(*) +0 +count(*) +0 +count(*) +0 +# Switch to connection default, enable consumers +update performance_schema.setup_consumers +set enabled='YES' where name like "%history%"; +select * from performance_schema.setup_consumers; +NAME ENABLED +events_stages_current YES +events_stages_history YES +events_stages_history_long YES +events_statements_current YES +events_statements_history YES +events_statements_history_long YES +events_transactions_current YES +events_transactions_history YES +events_transactions_history_long YES +events_waits_current YES +events_waits_history YES +events_waits_history_long YES +global_instrumentation YES +thread_instrumentation YES +statements_digest YES +truncate table performance_schema.events_transactions_current; +truncate table performance_schema.events_transactions_history; +truncate table performance_schema.events_transactions_history_long; +truncate table performance_schema.events_statements_current; +truncate table performance_schema.events_statements_history; +truncate table performance_schema.events_statements_history_long; +truncate table performance_schema.events_stages_current; +truncate table performance_schema.events_stages_history; +truncate table performance_schema.events_stages_history_long; +truncate table performance_schema.events_waits_current; +truncate table performance_schema.events_waits_history; +truncate table performance_schema.events_waits_history_long; +# Switch to connection con1 +XA START 'XA_CON1', 'XA_BQUAL', 12; +select "Hi from con1"; +Hi from con1 +Hi from con1 +XA END 'XA_CON1', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON1', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON1', 'XA_BQUAL', 12; +# Switch to connection con2 +XA START 'XA_CON2', 'XA_BQUAL', 12; +select "Hi from con2"; +Hi from con2 +Hi from con2 +XA END 'XA_CON2', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON2', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON2', 'XA_BQUAL', 12; +# Switch to connection con3 +XA START 'XA_CON3', 'XA_BQUAL', 12; +select "Hi from con3"; +Hi from con3 +Hi from con3 +XA END 'XA_CON3', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON3', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON3', 'XA_BQUAL', 12; +# Switch to connection con4 +XA START 'XA_CON4', 'XA_BQUAL', 12; +select "Hi from con4"; +Hi from con4 +Hi from con4 +XA END 'XA_CON4', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON4', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON4', 'XA_BQUAL', 12; +"=========================== Transactions user 1" +XID_FORMAT_ID XID_GTRID XID_BQUAL +12 XA_CON1 XA_BQUAL +XID_FORMAT_ID XID_GTRID XID_BQUAL +12 XA_CON1 XA_BQUAL +XID_FORMAT_ID XID_GTRID XID_BQUAL +12 XA_CON1 XA_BQUAL +"=========================== Transactions user 2" +XID_FORMAT_ID XID_GTRID XID_BQUAL +12 XA_CON2 XA_BQUAL +count(*) +0 +count(*) +0 +"=========================== Transactions user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Transactions user 4" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Statements user 1" +EVENT_NAME SQL_TEXT +statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12 +EVENT_NAME SQL_TEXT +statement/sql/xa_start XA START 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/select select "Hi from con1" +statement/sql/xa_end XA END 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/xa_prepare XA PREPARE 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12 +EVENT_NAME SQL_TEXT +statement/sql/xa_start XA START 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/select select "Hi from con1" +statement/sql/xa_end XA END 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/xa_prepare XA PREPARE 'XA_CON1', 'XA_BQUAL', 12 +statement/sql/xa_commit XA COMMIT 'XA_CON1', 'XA_BQUAL', 12 +"=========================== Statements user 2" +EVENT_NAME SQL_TEXT +statement/sql/xa_commit XA COMMIT 'XA_CON2', 'XA_BQUAL', 12 +count(*) +0 +count(*) +0 +"=========================== Statements user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Statements user 4" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Stages user 1" +EVENT_NAME +EVENT_NAME +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +EVENT_NAME +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +stage/sql/starting +stage/sql/checking permissions +stage/sql/Opening tables +stage/sql/init +stage/sql/optimizing +stage/sql/executing +stage/sql/end +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +stage/sql/starting +stage/sql/query end +stage/sql/closing tables +stage/sql/freeing items +stage/sql/cleaning up +"=========================== Stages user 2" +EVENT_NAME +count(*) +0 +count(*) +0 +"=========================== Stages user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Stages user 4" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Waits user 1" +EVENT_NAME +idle +has_waits +1 +has_waits +1 +"=========================== Waits user 2" +EVENT_NAME +idle +count(*) +0 +count(*) +0 +"=========================== Waits user 3" +count(*) +0 +count(*) +0 +count(*) +0 +"=========================== Waits user 4" +count(*) +0 +count(*) +0 +count(*) +0 +# Switch to connection default +revoke all privileges, grant option from user1@localhost; +revoke all privileges, grant option from user2@localhost; +revoke all privileges, grant option from user3@localhost; +revoke all privileges, grant option from user4@localhost; +drop user user1@localhost; +drop user user2@localhost; +drop user user3@localhost; +drop user user4@localhost; +flush privileges; +truncate table performance_schema.setup_actors; +insert into performance_schema.setup_actors +values ('%', '%', '%', 'YES', 'YES'); +select * from performance_schema.setup_actors; +HOST USER ROLE ENABLED HISTORY +% % % YES YES diff --git a/mysql-test/suite/perfschema/r/threads_innodb.result b/mysql-test/suite/perfschema/r/threads_innodb.result index fdbd7469c7e..4abb1d31717 100644 --- a/mysql-test/suite/perfschema/r/threads_innodb.result +++ b/mysql-test/suite/perfschema/r/threads_innodb.result @@ -5,10 +5,16 @@ FROM performance_schema.threads WHERE name LIKE 'thread/innodb/%' GROUP BY name; name type processlist_user processlist_host processlist_db processlist_command processlist_time processlist_state processlist_info parent_thread_id role instrumented -thread/innodb/io_handler_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES +thread/innodb/buf_dump_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES +thread/innodb/dict_stats_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES +thread/innodb/io_ibuf_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES +thread/innodb/io_log_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES +thread/innodb/io_read_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES +thread/innodb/io_write_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES thread/innodb/page_cleaner_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES thread/innodb/srv_error_monitor_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES thread/innodb/srv_lock_timeout_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES thread/innodb/srv_master_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES thread/innodb/srv_monitor_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES thread/innodb/srv_purge_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES +thread/innodb/srv_worker_thread BACKGROUND NULL NULL NULL NULL NULL NULL NULL NULL NULL YES diff --git a/mysql-test/suite/perfschema/r/threads_insert_delayed.result b/mysql-test/suite/perfschema/r/threads_insert_delayed.result deleted file mode 100644 index 07e625a4727..00000000000 --- a/mysql-test/suite/perfschema/r/threads_insert_delayed.result +++ /dev/null @@ -1,21 +0,0 @@ -DROP TABLE IF EXISTS t1; -DROP TEMPORARY TABLE IF EXISTS t2; -CREATE TABLE t1 (f1 BIGINT) ENGINE = MyISAM; -CREATE TEMPORARY TABLE t2 AS -SELECT thread_id FROM performance_schema.threads WHERE 1 = 2; -SELECT COUNT(*) = 0 AS expect_1 FROM performance_schema.threads -WHERE name = 'thread/sql/delayed_insert'; -expect_1 -1 -INSERT INTO t2 SELECT thread_id -FROM performance_schema.threads; -INSERT DELAYED INTO t1 SET f1 = SLEEP(3); -Warnings: -Warning 1287 'INSERT DELAYED' is deprecated and will be removed in a future release. Please use INSERT instead -SELECT name, type, instrumented, processlist_user, processlist_host -FROM performance_schema.threads -WHERE thread_id NOT IN (SELECT thread_id FROM t2); -name type instrumented processlist_user processlist_host -thread/sql/delayed_insert FOREGROUND YES root localhost -DROP TABLE t1; -DROP TEMPORARY TABLE t2; diff --git a/mysql-test/suite/perfschema/r/threads_mysql.result b/mysql-test/suite/perfschema/r/threads_mysql.result index 6ab0b0641b0..b96339b7de0 100644 --- a/mysql-test/suite/perfschema/r/threads_mysql.result +++ b/mysql-test/suite/perfschema/r/threads_mysql.result @@ -7,6 +7,16 @@ role, instrumented FROM performance_schema.threads WHERE name LIKE 'thread/sql%' ORDER BY name; +name thread/sql/compress_gtid_table +type FOREGROUND +processlist_user NULL +processlist_host NULL +processlist_db NULL +processlist_command Daemon +processlist_info NULL +unified_parent_thread_id unified parent_thread_id +role NULL +instrumented YES name thread/sql/main type BACKGROUND processlist_user NULL @@ -44,6 +54,16 @@ processlist_info NULL unified_parent_thread_id unified parent_thread_id role NULL instrumented YES +name thread/sql/thread_timer_notifier +type BACKGROUND +processlist_user NULL +processlist_host NULL +processlist_db NULL +processlist_command NULL +processlist_info NULL +unified_parent_thread_id unified parent_thread_id +role NULL +instrumented YES CREATE TEMPORARY TABLE t1 AS SELECT thread_id FROM performance_schema.threads WHERE name LIKE 'thread/sql%'; @@ -103,6 +123,8 @@ WHERE t1.name LIKE 'thread/sql%' ORDER BY parent_thread_name, child_thread_name; parent_thread_name child_thread_name thread/sql/event_scheduler thread/sql/event_worker +thread/sql/main thread/sql/compress_gtid_table thread/sql/main thread/sql/one_connection thread/sql/main thread/sql/signal_handler +thread/sql/main thread/sql/thread_timer_notifier thread/sql/one_connection thread/sql/event_scheduler diff --git a/mysql-test/suite/perfschema/r/threads_mysql_freebsd.result b/mysql-test/suite/perfschema/r/threads_mysql_freebsd.result new file mode 100644 index 00000000000..36158d06406 --- /dev/null +++ b/mysql-test/suite/perfschema/r/threads_mysql_freebsd.result @@ -0,0 +1,3 @@ +SELECT THREAD_ID, NAME, THREAD_OS_ID from performance_schema.threads +WHERE THREAD_OS_ID is NULL; +THREAD_ID NAME THREAD_OS_ID diff --git a/mysql-test/suite/perfschema/r/threads_mysql_linux.result b/mysql-test/suite/perfschema/r/threads_mysql_linux.result new file mode 100644 index 00000000000..36158d06406 --- /dev/null +++ b/mysql-test/suite/perfschema/r/threads_mysql_linux.result @@ -0,0 +1,3 @@ +SELECT THREAD_ID, NAME, THREAD_OS_ID from performance_schema.threads +WHERE THREAD_OS_ID is NULL; +THREAD_ID NAME THREAD_OS_ID diff --git a/mysql-test/suite/perfschema/r/threads_mysql_windows.result b/mysql-test/suite/perfschema/r/threads_mysql_windows.result new file mode 100644 index 00000000000..36158d06406 --- /dev/null +++ b/mysql-test/suite/perfschema/r/threads_mysql_windows.result @@ -0,0 +1,3 @@ +SELECT THREAD_ID, NAME, THREAD_OS_ID from performance_schema.threads +WHERE THREAD_OS_ID is NULL; +THREAD_ID NAME THREAD_OS_ID diff --git a/mysql-test/suite/perfschema/r/transaction.result b/mysql-test/suite/perfschema/r/transaction.result new file mode 100644 index 00000000000..c2a538bd741 --- /dev/null +++ b/mysql-test/suite/perfschema/r/transaction.result @@ -0,0 +1,604 @@ + +======================================================================== +STEP 1 - SETUP +======================================================================== + +# Control thread + +SET SESSION AUTOCOMMIT= 1; +SELECT thread_id INTO @my_thread_id +FROM performance_schema.threads +WHERE processlist_id = connection_id(); + +# Connection 1 + +SET SESSION AUTOCOMMIT= 0; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ WRITE; + +# Create test tables, one transactional and one non-transactional + +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS nt1; +CREATE TABLE t1 (s1 int, s2 varchar(64)) ENGINE=INNODB; +CREATE TABLE nt1 (s1 int, s2 varchar(64)) ENGINE=MYISAM; + +# Disable all events from the control thread + + +# Clear transaction tables + +CALL clear_transaction_tables(); + +======================================================================== +# STEP 2 - BASIC TRANSACTION +======================================================================== + +SELECT @@global.tx_isolation; +@@global.tx_isolation +REPEATABLE-READ +SELECT @@global.autocommit; +@@global.autocommit +1 +SELECT @@global.binlog_format; +@@global.binlog_format +ROW +SELECT @@tx_isolation; +@@tx_isolation +REPEATABLE-READ +SELECT @@autocommit; +@@autocommit +0 +SELECT @@binlog_format; +@@binlog_format +ROW + +# STEP 2.1 - START/COMMIT + +START TRANSACTION; +INSERT INTO t1 VALUES (101, 'COMMITTED'); +COMMIT; + +# STEP 2.2 - ROLLBACK + +START TRANSACTION; +INSERT INTO t1 VALUES (102, 'ROLLED BACK'); +ROLLBACK; + +## Expect 1 committed and 1 rolled back transaction +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'REPEATABLE READ', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'ROLLED BACK', 0, '', '', '', '', 'READ WRITE', 'REPEATABLE READ', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); + +# STEP 2.3 - COMMIT AND CHAIN + +START TRANSACTION; +INSERT INTO t1 VALUES (103, 'COMMIT AND CHAIN'); +COMMIT AND CHAIN; +INSERT INTO t1 VALUES (104, 'COMMIT AND CHAIN'); +COMMIT; + +## Expect 2 committed transactions +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'REPEATABLE READ', 'NO', 0, 0, 0, 2); +ACTUAL EXPECTED + 2 2 +CALL clear_transaction_tables(); + +======================================================================== +# STEP 3 - ISOLATION LEVEL +======================================================================== + +connection con1 +SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; +START TRANSACTION; +INSERT INTO t1 VALUES (301, 'SERIALIZABLE'); +COMMIT; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +START TRANSACTION; +INSERT INTO t1 VALUES (302, 'REPEATABLE READ'); +COMMIT; +SELECT @@binlog_format INTO @binlog_save; +SET SESSION BINLOG_FORMAT=ROW; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +START TRANSACTION; +INSERT INTO t1 VALUES (303, 'READ COMMITTED'); +COMMIT; +SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +START TRANSACTION; +INSERT INTO t1 VALUES (304, 'READ UNCOMMITTED'); +COMMIT; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +SET binlog_format= @binlog_save; + +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'SERIALIZABLE', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'REPEATABLE READ', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'READ COMMITTED', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'READ UNCOMMITTED', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); + +======================================================================== +# STEP 4 - ACCESS MODE +======================================================================== +# +# STEP 4.1 - READ ONLY, TIMING ENABLED +# + +connection con1 +SET SESSION TRANSACTION READ WRITE; +START TRANSACTION; +INSERT INTO t1 VALUES (410, 'READ ONLY'); +INSERT INTO t1 VALUES (411, 'READ ONLY'); +INSERT INTO t1 VALUES (412, 'READ ONLY'); +INSERT INTO t1 VALUES (413, 'READ ONLY'); +COMMIT; +SET SESSION TRANSACTION READ ONLY; +START TRANSACTION; +SELECT * FROM t1 ORDER BY s1; +s1 s2 +101 COMMITTED +103 COMMIT AND CHAIN +104 COMMIT AND CHAIN +301 SERIALIZABLE +302 REPEATABLE READ +303 READ COMMITTED +304 READ UNCOMMITTED +410 READ ONLY +411 READ ONLY +412 READ ONLY +413 READ ONLY +COMMIT; + +## Expect 1 read only, committed transaction in events_transactions_history +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ ONLY', 'REPEATABLE READ', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); + +# +# STEP 4.2 - READ ONLY, TIMING DISABLED +# + +## Disable timing stats for 'transaction' +UPDATE performance_schema.setup_instruments SET timed = 'NO' WHERE name = 'transaction'; + +TRUNCATE performance_schema.events_transactions_summary_global_by_event_name; +connection con1 +START TRANSACTION; +SELECT * FROM t1 ORDER BY s1; +s1 s2 +101 COMMITTED +103 COMMIT AND CHAIN +104 COMMIT AND CHAIN +301 SERIALIZABLE +302 REPEATABLE READ +303 READ COMMITTED +304 READ UNCOMMITTED +410 READ ONLY +411 READ ONLY +412 READ ONLY +413 READ ONLY +COMMIT; + +SET SESSION TRANSACTION READ WRITE; + +## Expect 1 event, 0 stats +SELECT * FROM performance_schema.events_transactions_summary_global_by_event_name; +EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ_WRITE SUM_TIMER_READ_WRITE MIN_TIMER_READ_WRITE AVG_TIMER_READ_WRITE MAX_TIMER_READ_WRITE COUNT_READ_ONLY SUM_TIMER_READ_ONLY MIN_TIMER_READ_ONLY AVG_TIMER_READ_ONLY MAX_TIMER_READ_ONLY +transaction 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 + +## Restore setup_instruments +UPDATE performance_schema.setup_instruments SET enabled = 'YES' WHERE name = 'transaction'; + +======================================================================== +# STEP 5 - IMPLICIT START +======================================================================== +# When AUTOCOMMIT is disabled, the first statement following a committed +# transaction marks the start of a new transaction. Subsequent statements will +# be part of the transaction until it is committed. + +SET SESSION AUTOCOMMIT = 0; +INSERT INTO t1 VALUES (501, 'IMPLICIT START'); + +## Expect 1 active transaction in events_transactions_current +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +INSERT INTO t1 VALUES (502, 'IMPLICIT START'); +COMMIT; + +## Expect one committed transaction in events_transactions_current and history +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); + +======================================================================== +# STEP 6 - IMPLICIT COMMIT (DDL, ETC) +======================================================================== +# Transactions are implicitly ended by DDL statements, locking statements +# and server administration commands. + +SET SESSION AUTOCOMMIT = 0; +INSERT INTO t1 VALUES (601, 'IMPLICIT COMMIT'); + +## Expect one active transaction in events_transactions_current, zero events in history +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', '', 0, '', '', '', '', '', '', 'NO', 0, 0, 0, 0); +ACTUAL EXPECTED + 0 0 +INSERT INTO t1 VALUES (602, 'IMPLICIT COMMIT'); +## Issue a DDL statement to force a commmit +CREATE TABLE t2 (s1 INT, s2 VARCHAR(64)) ENGINE=INNODB; + +## Expect 0 active transactions, 1 committed transaction +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 0); +ACTUAL EXPECTED + 0 0 +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); +DROP TABLE test.t2; + +======================================================================== +STEP 7 - XA TRANSACTIONS +======================================================================== +# +# STEP 7.1 - XA START +# +XA START 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 1234567890; + +## Expect 1 active XA transaction, state ACTIVE +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 1234567890, 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 'ACTIVE', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 + +# STEP 7.2 - XA END + +INSERT INTO t1 VALUES (701, 'XA'); +XA END 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 1234567890; + +## Expect 1 active XA transaction, state IDLE +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 1234567890, 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 'IDLE', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 + +# +# STEP 7.3 - XA PREPARE +# +XA PREPARE 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 1234567890; + +## Expect 1 active XA transaction, state PREPARED +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 1234567890, 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 'PREPARED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 + +# +# STEP 7.4 - XA COMMIT +# +XA COMMIT 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 1234567890; + +## Expect 1 committed XA transaction, state COMMITTED in current and history +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); + +# +# STEP 7.5 - XA ROLLBACK +# +XA START 'XA_CON1_002'; +INSERT INTO t1 VALUES (702, 'XA'); +XA END 'XA_CON1_002'; +XA PREPARE 'XA_CON1_002'; + +## Expect 1 active XA transaction, state PREPARED +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, 'XA_CON1_002', '', 'PREPARED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +XA ROLLBACK 'XA_CON1_002'; + +## Expect 1 XA transaction, state ROLLBACK ONLY in current and history +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ROLLED BACK', 0, 'XA_CON1_002', '', 'ROLLBACK ONLY', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'ROLLED BACK', 0, 'XA_CON1_002', '', 'ROLLBACK ONLY', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); +SELECT * FROM performance_schema.events_transactions_current ORDER BY event_id; +THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME STATE TRX_ID GTID XID_FORMAT_ID XID_GTRID XID_BQUAL XA_STATE SOURCE TIMER_START TIMER_END TIMER_WAIT ACCESS_MODE ISOLATION_LEVEL AUTOCOMMIT NUMBER_OF_SAVEPOINTS NUMBER_OF_ROLLBACK_TO_SAVEPOINT NUMBER_OF_RELEASE_SAVEPOINT OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID NESTING_EVENT_TYPE +# +# STEP 7.6 - XA TRANSACTION - LONG GTRID AND BQUAL +# +XA START 'GTRID_6789012345678901234567890123456789012345678901234567890123','BQUAL_6789012345678901234567890123456789012345678901234567890123',1234567890; +INSERT INTO t1 VALUES (703, 'XA LONG'); +XA END 'GTRID_6789012345678901234567890123456789012345678901234567890123','BQUAL_6789012345678901234567890123456789012345678901234567890123',1234567890; +XA PREPARE 'GTRID_6789012345678901234567890123456789012345678901234567890123','BQUAL_6789012345678901234567890123456789012345678901234567890123',1234567890; +XA COMMIT 'GTRID_6789012345678901234567890123456789012345678901234567890123','BQUAL_6789012345678901234567890123456789012345678901234567890123',1234567890; + +## Expect 1 committed XA transaction, state COMMITTED in current and history +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'GTRID_6789012345678901234567890123456789012345678901234567890123', 'BQUAL_6789012345678901234567890123456789012345678901234567890123', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'GTRID_6789012345678901234567890123456789012345678901234567890123', 'BQUAL_6789012345678901234567890123456789012345678901234567890123', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); +# +# STEP 7.7 - XA TRANSACTION - LONG GTRID AND BINARY BQUAL +# +XA START 'GTRID_6789012345678901234567890123456789012345678901234567890123',0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233,1234567890; +INSERT INTO t1 VALUES (704, 'XA LONG/BINARY'); +XA END 'GTRID_6789012345678901234567890123456789012345678901234567890123',0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233,1234567890; +XA PREPARE 'GTRID_6789012345678901234567890123456789012345678901234567890123',0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233,1234567890; +XA COMMIT 'GTRID_6789012345678901234567890123456789012345678901234567890123',0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233,1234567890; + +## Expect 1 committed XA transaction, state COMMITTED in current and history +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'GTRID_6789012345678901234567890123456789012345678901234567890123', '0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'GTRID_6789012345678901234567890123456789012345678901234567890123', '0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); + +======================================================================== +# STEP 8 - TRANSACTIONAL AND NON-TRANSACTIONAL TABLES +======================================================================== + +SET SESSION AUTOCOMMIT = 0; +SELECT * FROM performance_schema.events_transactions_current ORDER BY event_id; +THREAD_ID EVENT_ID END_EVENT_ID EVENT_NAME STATE TRX_ID GTID XID_FORMAT_ID XID_GTRID XID_BQUAL XA_STATE SOURCE TIMER_START TIMER_END TIMER_WAIT ACCESS_MODE ISOLATION_LEVEL AUTOCOMMIT NUMBER_OF_SAVEPOINTS NUMBER_OF_ROLLBACK_TO_SAVEPOINT NUMBER_OF_RELEASE_SAVEPOINT OBJECT_INSTANCE_BEGIN NESTING_EVENT_ID NESTING_EVENT_TYPE + +# +# STEP 8.1 - UPDATE NON-TRANSACTIONAL TABLE +# +INSERT INTO nt1 VALUES (801, 'NON-TRANSACTIONAL'); + +## Expect 0 transactions in events_transactions_current +CALL transaction_verifier(0, @con1_thread_id, 'transaction', '', 0, '', '', '', '', '', '', '', 0, 0, 0, 0); +ACTUAL EXPECTED + 0 0 +COMMIT; + +## Expect 0 transactions in events_transactions_history +CALL transaction_verifier(1, @con1_thread_id, 'transaction', '', 0, '', '', '', '', '', '', '', 0, 0, 0, 0); +ACTUAL EXPECTED + 0 0 + +# +# STEP 8.2 - UPDATE TRANSACTIONAL AND NON-TRANSACTIONAL TABLES +# + +## First non-transactional... + +INSERT INTO nt1 VALUES (802, 'NON-TRANSACTIONAL'); + +## Expect 0 transactions in events_transactions_current +CALL transaction_verifier(0, @con1_thread_id, 'transaction', '', 0, '', '', '', '', '', '', '', 0, 0, 0, 0); +ACTUAL EXPECTED + 0 0 + +## Now transactional. Transaction should be started. +INSERT INTO t1 VALUES (802, 'TRANSACTIONAL'); + +## Expect 1 transaction in events_transactions_current +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 + +COMMIT; + +## Expect 1 committed transaction in events_transactions_current and history +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); + +======================================================================== +# STEP 9 - SAVEPOINTS +======================================================================== +# +# STEP 9.1 - SAVEPOINT 1 +# +START TRANSACTION; +INSERT INTO t1 VALUES (901, 'SAVEPOINT'); +SAVEPOINT SVP001; + +## Expect 1 active transaction with 1 savepoint +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 1, 0, 0, 1); +ACTUAL EXPECTED + 1 1 + +# +# STEP 9.2 - SAVEPOINTS 2 and 3 +# +INSERT INTO t1 VALUES (902, 'SAVEPOINT'); +SAVEPOINT SVP002; +INSERT INTO t1 VALUES (903, 'SAVEPOINT'); +SAVEPOINT SVP003; +INSERT INTO t1 VALUES (904, 'SAVEPOINT'); +SELECT COUNT(*) FROM t1 WHERE s1 > 900; +COUNT(*) +4 + +# +# STEP 9.3 - ROLLBACK TO SAVEPOINT 2 +# +ROLLBACK TO SVP002; + +## Expect 1 active transaction with 3 savepoints, 1 rollback to savepoint +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 3, 1, 0, 1); +ACTUAL EXPECTED + 1 1 + +# +# STEP 9.4 - RELEASE SAVEPOINT 1 +# +RELEASE SAVEPOINT SVP001; + +## Expect 1 active transaction with 3 savepoints, 1 rollback to savepoint, 1 release savepoint +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 3, 1, 1, 1); +ACTUAL EXPECTED + 1 1 +# +# STEP 9.5 - COMMIT +# +COMMIT; + +## Expect 1 committed transaction with 3 savepoints, 1 rollback to savepoint, 1 release savepoint +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 3, 1, 1, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); + +======================================================================== +# STEP 10 - GTIDs +======================================================================== +GTIDs are tested in transaction_gtid.test. + +======================================================================== +# STEP 11 - MISCELLANY +======================================================================== +# +# STEP 11.1 - TRUNCATE DURING ACTIVE TRANSACTION +# + +# Verify that truncating events_transactions_current during an active transaction +# does not leave an orphaned transaction event, and that the row index to +# events_transactions_history is reset to 0. + +START TRANSACTION; +INSERT INTO t1 VALUES (1110, 'INSERT 1110'); +TRUNCATE performance_schema.events_transactions_current; + +COMMIT; + +START TRANSACTION; +INSERT INTO t1 VALUES (1111, 'INSERT 1111'); +COMMIT; + +## Expect 1 transaction for connection 1 +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', '', '', '', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_transaction_tables(); + +# +# STEP 11.2 - DISABLE THREAD INSTRUMENTATION +# +UPDATE performance_schema.setup_consumers +SET enabled = 'NO' + WHERE name = 'thread_instrumentation'; + +TRUNCATE performance_schema.events_transactions_summary_global_by_event_name; + +START TRANSACTION; +INSERT INTO t1 VALUES (1120, 'INSERT 1120'); +COMMIT; + +## Expect 1 event with non-zero summary stats +SELECT EVENT_NAME, COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, COUNT_READ_WRITE +FROM performance_schema.events_transactions_summary_global_by_event_name +WHERE count_star = 1 and sum_timer_wait != 0; +EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT COUNT_READ_WRITE + +## Disable timing stats for 'transaction' +UPDATE performance_schema.setup_instruments SET timed = 'NO' WHERE name = 'transaction'; + +TRUNCATE performance_schema.events_transactions_summary_global_by_event_name; + +START TRANSACTION; +INSERT INTO t1 VALUES (1121, 'INSERT 1121'); +COMMIT; + +## Expect 1 event, 0 stats +SELECT * FROM performance_schema.events_transactions_summary_global_by_event_name; +EVENT_NAME COUNT_STAR SUM_TIMER_WAIT MIN_TIMER_WAIT AVG_TIMER_WAIT MAX_TIMER_WAIT COUNT_READ_WRITE SUM_TIMER_READ_WRITE MIN_TIMER_READ_WRITE AVG_TIMER_READ_WRITE MAX_TIMER_READ_WRITE COUNT_READ_ONLY SUM_TIMER_READ_ONLY MIN_TIMER_READ_ONLY AVG_TIMER_READ_ONLY MAX_TIMER_READ_ONLY +transaction 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 + +## Restore setup_consumers and setup_instruments +UPDATE performance_schema.setup_consumers SET enabled = 'YES' WHERE name = 'thread_instrumentation'; +UPDATE performance_schema.setup_instruments SET enabled = 'YES' WHERE name = 'transaction'; + +DELETE FROM t1; +CALL clear_history(); + +# +# STEP 11.3 - STATEMENT ROLLBACK - AUTOCOMMIT OFF - BINLOG FORMAT 'STATEMENT' +# +SET SESSION binlog_format = STATEMENT; +SET SESSION AUTOCOMMIT = 0; + +START TRANSACTION; +INSERT INTO t1 VALUES (1130, 'INSERT 1130'); + +## Expect binlog statement mode error +UPDATE t1, performance_schema.setup_instruments pfs +SET t1.s1 = 1, pfs.timed = 'NO'; + +COMMIT; + +SET SESSION AUTOCOMMIT = 1; + +## Expect 1 committed transaction +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', '', '', 'NO', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 + +DELETE FROM t1; +CALL clear_history(); + +# +# STEP 11.4 - STATEMENT ROLLBACK - AUTOCOMMIT ON - BINLOG FORMAT 'STATEMENT' +# +SET SESSION binlog_format = STATEMENT; +SET SESSION AUTOCOMMIT = 1; + +## Expect binlog statement mode error +UPDATE t1, performance_schema.setup_instruments pfs +SET t1.s1 = 1, pfs.timed = 'NO'; + +## Expect 1 rolled back transaction +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'ROLLED BACK', 0, '', '', '', '', '', '', 'YES', 0, 0, 0, 1); +ACTUAL EXPECTED + 1 1 +CALL clear_history(); + +======================================================================== +# CLEAN UP +======================================================================== + +DROP TABLE t1; +DROP TABLE nt1; +DROP PROCEDURE clear_transaction_tables; +DROP PROCEDURE clear_transaction_history; +DROP PROCEDURE clear_statement_history; +DROP PROCEDURE clear_history; +DROP PROCEDURE transaction_verifier; diff --git a/mysql-test/suite/perfschema/r/transaction_gtid.result b/mysql-test/suite/perfschema/r/transaction_gtid.result new file mode 100644 index 00000000000..ed0d743444f --- /dev/null +++ b/mysql-test/suite/perfschema/r/transaction_gtid.result @@ -0,0 +1,171 @@ +include/rpl_init.inc [topology=none] +==== Configure ==== +SET GLOBAL ENFORCE_GTID_CONSISTENCY = ON; +CREATE TABLE t1 (a INT); +==== Test ==== +---- Case 1: Specify ANONYMOUS prior to transaction ---- +* BEGIN ... ROLLBACK +- history=none current=none +SET SESSION GTID_NEXT = 'ANONYMOUS'; +BEGIN; +INSERT INTO t1 VALUES (1); +ROLLBACK; +- history=ANONYMOUS current=ANONYMOUS +* BEGIN ... COMMIT +- history=none current=none +SET SESSION GTID_NEXT = 'ANONYMOUS'; +- history=none current=none +[START] BEGIN; +- history=none current=AUTOMATIC +[END] BEGIN; +- history=none current=ANONYMOUS +INSERT INTO t1 VALUES (1); +- history=none current=ANONYMOUS +COMMIT; +- history=ANONYMOUS current=ANONYMOUS +* AUTOCOMMIT = OFF +SET @@SESSION.AUTOCOMMIT = 0; +- history=none current=none +SET SESSION GTID_NEXT = 'ANONYMOUS'; +- history=none current=none +[START] INSERT INTO t1 VALUES (1); +- history=none current=ANONYMOUS +[END] INSERT INTO t1 VALUES (1); +- history=none current=ANONYMOUS +COMMIT; +- history=ANONYMOUS current=ANONYMOUS +* AUTOCOMMIT = ON +SET @@SESSION.AUTOCOMMIT = 1; +- history=none current=none +SET SESSION GTID_NEXT = 'ANONYMOUS'; +- history=none current=none +[START] INSERT INTO t1 VALUES (1); +- history=none current=ANONYMOUS +[END] INSERT INTO t1 VALUES (1); +- history=ANONYMOUS current=ANONYMOUS +---- Case 2: Generate ANONYMOUS at commit ---- +* BEGIN ... ROLLBACK +- history=none current=none +SET SESSION GTID_NEXT = 'AUTOMATIC'; +BEGIN; +INSERT INTO t1 VALUES (2); +ROLLBACK; +- history=AUTOMATIC current=AUTOMATIC +* BEGIN ... COMMIT +- history=none current=none +SET SESSION GTID_NEXT = 'AUTOMATIC'; +- history=none current=none +[START] BEGIN; +- history=none current=AUTOMATIC +[END] BEGIN; +- history=none current=AUTOMATIC +INSERT INTO t1 VALUES (2); +- history=none current=AUTOMATIC +COMMIT; +- history=ANONYMOUS current=ANONYMOUS +* AUTOCOMMIT = OFF +SET @@SESSION.AUTOCOMMIT = 0; +- history=none current=none +SET SESSION GTID_NEXT = 'AUTOMATIC'; +- history=none current=none +[START] INSERT INTO t1 VALUES (2); +- history=none current=AUTOMATIC +[END] INSERT INTO t1 VALUES (2); +- history=none current=AUTOMATIC +COMMIT; +- history=ANONYMOUS current=ANONYMOUS +* AUTOCOMMIT = ON +SET @@SESSION.AUTOCOMMIT = 1; +- history=none current=none +SET SESSION GTID_NEXT = 'AUTOMATIC'; +- history=none current=none +[START] INSERT INTO t1 VALUES (2); +- history=none current=AUTOMATIC +[END] INSERT INTO t1 VALUES (2); +- history=ANONYMOUS current=ANONYMOUS +include/rpl_set_gtid_mode.inc [ON on servers 1] +---- Case 3: Specify GTID prior to transaction ---- +* BEGIN ... ROLLBACK +- history=none current=none +SET SESSION GTID_NEXT = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1'; +BEGIN; +INSERT INTO t1 VALUES (3); +ROLLBACK; +- history=A:1 current=A:1 +* BEGIN ... COMMIT +- history=none current=none +SET SESSION GTID_NEXT = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1'; +- history=none current=none +[START] BEGIN; +- history=none current=AUTOMATIC +[END] BEGIN; +- history=none current=A:1 +INSERT INTO t1 VALUES (3); +- history=none current=A:1 +COMMIT; +- history=A:1 current=A:1 +* AUTOCOMMIT = OFF +SET @@SESSION.AUTOCOMMIT = 0; +- history=none current=none +SET SESSION GTID_NEXT = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1'; +- history=none current=none +[START] INSERT INTO t1 VALUES (3); +- history=none current=A:1 +[END] INSERT INTO t1 VALUES (3); +- history=none current=A:1 +COMMIT; +- history=A:1 current=A:1 +* AUTOCOMMIT = ON +SET @@SESSION.AUTOCOMMIT = 1; +- history=none current=none +SET SESSION GTID_NEXT = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1'; +- history=none current=none +[START] INSERT INTO t1 VALUES (3); +- history=none current=A:1 +[END] INSERT INTO t1 VALUES (3); +- history=A:1 current=A:1 +---- Case 4: Generate GTID at commit ---- +* BEGIN ... ROLLBACK +- history=none current=none +SET SESSION GTID_NEXT = 'AUTOMATIC'; +BEGIN; +INSERT INTO t1 VALUES (4); +ROLLBACK; +- history=AUTOMATIC current=AUTOMATIC +* BEGIN ... COMMIT +- history=none current=none +SET SESSION GTID_NEXT = 'AUTOMATIC'; +- history=none current=none +[START] BEGIN; +- history=none current=AUTOMATIC +[END] BEGIN; +- history=none current=AUTOMATIC +INSERT INTO t1 VALUES (4); +- history=none current=AUTOMATIC +COMMIT; +- history=SERVER_UUID:1 current=SERVER_UUID:1 +* AUTOCOMMIT = OFF +SET @@SESSION.AUTOCOMMIT = 0; +- history=none current=none +SET SESSION GTID_NEXT = 'AUTOMATIC'; +- history=none current=none +[START] INSERT INTO t1 VALUES (4); +- history=none current=AUTOMATIC +[END] INSERT INTO t1 VALUES (4); +- history=none current=AUTOMATIC +COMMIT; +- history=SERVER_UUID:1 current=SERVER_UUID:1 +* AUTOCOMMIT = ON +SET @@SESSION.AUTOCOMMIT = 1; +- history=none current=none +SET SESSION GTID_NEXT = 'AUTOMATIC'; +- history=none current=none +[START] INSERT INTO t1 VALUES (4); +- history=none current=AUTOMATIC +[END] INSERT INTO t1 VALUES (4); +- history=SERVER_UUID:1 current=SERVER_UUID:1 +==== Clean up ==== +DROP TABLE t1; +include/rpl_set_gtid_mode.inc [OFF on servers 1] +SET GLOBAL ENFORCE_GTID_CONSISTENCY = OFF; +include/rpl_end.inc diff --git a/mysql-test/suite/perfschema/r/transaction_nested_events.result b/mysql-test/suite/perfschema/r/transaction_nested_events.result new file mode 100644 index 00000000000..e0991240c05 --- /dev/null +++ b/mysql-test/suite/perfschema/r/transaction_nested_events.result @@ -0,0 +1,666 @@ + +#======================================================================== +# STEP 1 - SETUP +#======================================================================== + +## Setup control thread + +SET SESSION AUTOCOMMIT= 1; +USE test; +DROP DATABASE IF EXISTS db; + +## Create test database, test tables, one transactional and one non-transactional +CREATE DATABASE db; +CREATE TABLE db.t1 (s1 int, s2 varchar(64)) ENGINE=INNODB; +CREATE TABLE db.nt1 (s1 int, s2 varchar(64)) ENGINE=MYISAM; + +## Setup connection 1 +USE db; +SET SESSION AUTOCOMMIT = 1; +SELECT thread_id INTO @my_thread_id +FROM performance_schema.threads +WHERE processlist_id = connection_id(); + +## Disable events from the control (default) connection +UPDATE performance_schema.threads SET instrumented = 'NO' WHERE processlist_id = CONNECTION_ID(); +SET @all_threads= 0; + +## Enable only transaction and statement instruments +UPDATE performance_schema.setup_instruments SET enabled='NO', timed='NO'; +UPDATE performance_schema.setup_instruments SET enabled='YES' + WHERE name LIKE ('statement/%') OR name = 'transaction'; + +## Clear statement and transaction history +CALL test.clear_history(); + +#======================================================================== +# STEP 2 - BASIC TRANSACTION +#======================================================================== +# +# STEP 2.1 - IMPLICIT +# +INSERT INTO t1 VALUES (210, "INSERT 210"); +INSERT INTO t1 VALUES (211, "INSERT 211"); +INSERT INTO t1 VALUES (212, "INSERT 212"); +UPDATE t1 SET s1 = s1 + 1 WHERE s1 = 212; +#======================================================================== +# Verify +#======================================================================== +EVENTS_TRANSACTIONS_CURRENT + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 8 8 transaction COMMITTED READ WRITE REPEATABLE READ YES 7 STATEMENT + +EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 2 2 transaction COMMITTED READ WRITE REPEATABLE READ YES 1 STATEMENT +thread_id 4 4 transaction COMMITTED READ WRITE REPEATABLE READ YES 3 STATEMENT +thread_id 6 6 transaction COMMITTED READ WRITE REPEATABLE READ YES 5 STATEMENT +thread_id 8 8 transaction COMMITTED READ WRITE REPEATABLE READ YES 7 STATEMENT + +EVENTS_STATEMENTS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME OBJECT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE LEVEL SQL_TEXT +thread_id 1 2 statement/sql/insert NULL NULL NULL 0 INSERT INTO t1 VALUES (210, "INSERT 210") +thread_id 3 4 statement/sql/insert NULL NULL NULL 0 INSERT INTO t1 VALUES (211, "INSERT 211") +thread_id 5 6 statement/sql/insert NULL NULL NULL 0 INSERT INTO t1 VALUES (212, "INSERT 212") +thread_id 7 8 statement/sql/update NULL NULL NULL 0 UPDATE t1 SET s1 = s1 + 1 WHERE s1 = 212 + +## Combined statement and transaction event history ordered by event id + +EVENTS_STATEMENTS_HISTORY_LONG + EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE SQL_TXT +thread_id 1 2 statement/sql/insert NULL NULL INSERT INTO t1 VALUES (210, "INSERT 210") +thread_id 2 2 transaction 1 STATEMENT <transaction started> +thread_id 3 4 statement/sql/insert NULL NULL INSERT INTO t1 VALUES (211, "INSERT 211") +thread_id 4 4 transaction 3 STATEMENT <transaction started> +thread_id 5 6 statement/sql/insert NULL NULL INSERT INTO t1 VALUES (212, "INSERT 212") +thread_id 6 6 transaction 5 STATEMENT <transaction started> +thread_id 7 8 statement/sql/update NULL NULL UPDATE t1 SET s1 = s1 + 1 WHERE s1 = 212 +thread_id 8 8 transaction 7 STATEMENT <transaction started> + +## Clear statement and transaction history +CALL test.clear_history(); +## Reset db.t1 +DELETE FROM db.t1; + +# +# STEP 2.2 - EXPLICIT +# +START TRANSACTION; +INSERT INTO t1 VALUES (220, "INSERT 220"), (221, "INSERT 221"); +UPDATE t1 SET s2 = "UPDATE 221" WHERE s1 = 221; +COMMIT; +#======================================================================== +# Verify +#======================================================================== +EVENTS_TRANSACTIONS_CURRENT + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 2 5 transaction COMMITTED READ WRITE REPEATABLE READ NO 1 STATEMENT + +EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 2 5 transaction COMMITTED READ WRITE REPEATABLE READ NO 1 STATEMENT + +EVENTS_STATEMENTS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME OBJECT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE LEVEL SQL_TEXT +thread_id 1 2 statement/sql/begin NULL NULL NULL 0 START TRANSACTION +thread_id 3 3 statement/sql/insert NULL 2 TRANSACTION 0 INSERT INTO t1 VALUES (220, "INSERT 220"), (221, "INSERT 221") +thread_id 4 4 statement/sql/update NULL 2 TRANSACTION 0 UPDATE t1 SET s2 = "UPDATE 221" WHERE s1 = 221 +thread_id 5 5 statement/sql/commit NULL 2 TRANSACTION 0 COMMIT + +## Combined statement and transaction event history ordered by event id + +EVENTS_STATEMENTS_HISTORY_LONG + EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE SQL_TXT +thread_id 1 2 statement/sql/begin NULL NULL START TRANSACTION +thread_id 2 5 transaction 1 STATEMENT <transaction started> +thread_id 3 3 statement/sql/insert 2 TRANSACTION INSERT INTO t1 VALUES (220, "INSERT 220"), (221, "INSERT 221") +thread_id 4 4 statement/sql/update 2 TRANSACTION UPDATE t1 SET s2 = "UPDATE 221" WHERE s1 = 221 +thread_id 5 5 statement/sql/commit 2 TRANSACTION COMMIT + +## Clear statement and transaction history +CALL test.clear_history(); +## Reset db.t1 +DELETE FROM db.t1; + +#======================================================================== +# STEP 3 - TRANSACTIONS AND STORED PROCEDURES +#======================================================================== +# +# STEP 3.1 - STORED PROCEDURE STARTED WITHIN TRANSACTION +# +CREATE PROCEDURE tp_update() UPDATE t1 SET s1 = s1 + 1; + +START TRANSACTION; +INSERT INTO t1 VALUES (310, "INSERT 310"); +INSERT INTO t1 VALUES (311, "INSERT 311"); +INSERT INTO t1 VALUES (312, "INSERT 312"); +INSERT INTO t1 VALUES (313, "INSERT 313"); +CALL tp_update(); +COMMIT; +#======================================================================== +# Verify +#======================================================================== +EVENTS_TRANSACTIONS_CURRENT + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 3 10 transaction COMMITTED READ WRITE REPEATABLE READ NO 2 STATEMENT + +EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 3 10 transaction COMMITTED READ WRITE REPEATABLE READ NO 2 STATEMENT + +EVENTS_STATEMENTS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME OBJECT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE LEVEL SQL_TEXT +thread_id 1 1 statement/sql/create_procedure NULL NULL NULL 0 CREATE PROCEDURE tp_update() UPDATE t1 SET s1 = s1 + 1 +thread_id 2 3 statement/sql/begin NULL NULL NULL 0 START TRANSACTION +thread_id 4 4 statement/sql/insert NULL 3 TRANSACTION 0 INSERT INTO t1 VALUES (310, "INSERT 310") +thread_id 5 5 statement/sql/insert NULL 3 TRANSACTION 0 INSERT INTO t1 VALUES (311, "INSERT 311") +thread_id 6 6 statement/sql/insert NULL 3 TRANSACTION 0 INSERT INTO t1 VALUES (312, "INSERT 312") +thread_id 7 7 statement/sql/insert NULL 3 TRANSACTION 0 INSERT INTO t1 VALUES (313, "INSERT 313") +thread_id 8 9 statement/sql/call_procedure NULL 3 TRANSACTION 0 CALL tp_update() +thread_id 9 9 statement/sp/stmt tp_update 8 STATEMENT 1 UPDATE t1 SET s1 = s1 + 1 +thread_id 10 10 statement/sql/commit NULL 3 TRANSACTION 0 COMMIT + +## Combined statement and transaction event history ordered by event id + +EVENTS_STATEMENTS_HISTORY_LONG + EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE SQL_TXT +thread_id 1 1 statement/sql/create_proc NULL NULL CREATE PROCEDURE tp_update() UPDATE t1 SET s1 = s1 + 1 +thread_id 2 3 statement/sql/begin NULL NULL START TRANSACTION +thread_id 3 10 transaction 2 STATEMENT <transaction started> +thread_id 4 4 statement/sql/insert 3 TRANSACTION INSERT INTO t1 VALUES (310, "INSERT 310") +thread_id 5 5 statement/sql/insert 3 TRANSACTION INSERT INTO t1 VALUES (311, "INSERT 311") +thread_id 6 6 statement/sql/insert 3 TRANSACTION INSERT INTO t1 VALUES (312, "INSERT 312") +thread_id 7 7 statement/sql/insert 3 TRANSACTION INSERT INTO t1 VALUES (313, "INSERT 313") +thread_id 8 9 statement/sql/call_proced 3 TRANSACTION CALL tp_update() +thread_id 9 9 statement/sp/stmt 8 STATEMENT UPDATE t1 SET s1 = s1 + 1 +thread_id 10 10 statement/sql/commit 3 TRANSACTION COMMIT + +## Clear statement and transaction history +CALL test.clear_history(); +## Reset db.t1 +DELETE FROM db.t1; + +# +# STEP 3.2 - TRANSACTION STARTED WITHIN STORED PROCEDURE +# +CREATE PROCEDURE tp_start() START TRANSACTION; + +CALL tp_start(); +INSERT INTO t1 VALUES (320, "INSERT 320"),(321, "INSERT 321"); +INSERT INTO t1 VALUES (322, "INSERT 322"),(323, "INSERT 323"); +UPDATE t1 SET s1 = s1 + 1 WHERE s1 > 320; + +SELECT * FROM t1 ORDER BY s1; +s1 s2 +320 INSERT 320 +322 INSERT 321 +323 INSERT 322 +324 INSERT 323 +COMMIT; +#======================================================================== +# Verify +#======================================================================== +EVENTS_TRANSACTIONS_CURRENT + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 4 9 transaction COMMITTED READ WRITE REPEATABLE READ NO 3 STATEMENT + +EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 4 9 transaction COMMITTED READ WRITE REPEATABLE READ NO 3 STATEMENT + +EVENTS_STATEMENTS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME OBJECT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE LEVEL SQL_TEXT +thread_id 1 1 statement/sql/create_procedure NULL NULL NULL 0 CREATE PROCEDURE tp_start() START TRANSACTION +thread_id 2 4 statement/sql/call_procedure NULL NULL NULL 0 CALL tp_start() +thread_id 3 4 statement/sp/stmt tp_start 2 STATEMENT 1 START TRANSACTION +thread_id 5 5 statement/sql/insert NULL 4 TRANSACTION 0 INSERT INTO t1 VALUES (320, "INSERT 320"),(321, "INSERT 321") +thread_id 6 6 statement/sql/insert NULL 4 TRANSACTION 0 INSERT INTO t1 VALUES (322, "INSERT 322"),(323, "INSERT 323") +thread_id 7 7 statement/sql/update NULL 4 TRANSACTION 0 UPDATE t1 SET s1 = s1 + 1 WHERE s1 > 320 +thread_id 8 8 statement/sql/select NULL 4 TRANSACTION 0 SELECT * FROM t1 ORDER BY s1 +thread_id 9 9 statement/sql/commit NULL 4 TRANSACTION 0 COMMIT + +## Combined statement and transaction event history ordered by event id + +EVENTS_STATEMENTS_HISTORY_LONG + EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE SQL_TXT +thread_id 1 1 statement/sql/create_proc NULL NULL CREATE PROCEDURE tp_start() START TRANSACTION +thread_id 2 4 statement/sql/call_proced NULL NULL CALL tp_start() +thread_id 3 4 statement/sp/stmt 2 STATEMENT START TRANSACTION +thread_id 4 9 transaction 3 STATEMENT <transaction started> +thread_id 5 5 statement/sql/insert 4 TRANSACTION INSERT INTO t1 VALUES (320, "INSERT 320"),(321, "INSERT 321") +thread_id 6 6 statement/sql/insert 4 TRANSACTION INSERT INTO t1 VALUES (322, "INSERT 322"),(323, "INSERT 323") +thread_id 7 7 statement/sql/update 4 TRANSACTION UPDATE t1 SET s1 = s1 + 1 WHERE s1 > 320 +thread_id 8 8 statement/sql/select 4 TRANSACTION SELECT * FROM t1 ORDER BY s1 +thread_id 9 9 statement/sql/commit 4 TRANSACTION COMMIT + +## Clear statement and transaction history +CALL test.clear_history(); +## Reset db.t1 +DELETE FROM db.t1; + +# +# STEP 3.3 - TRANSACTION ENDED WITHIN STORED PROCEDURE +# +CREATE PROCEDURE tp_rollback() ROLLBACK; +CREATE PROCEDURE tp_commit() COMMIT; + +## COMMIT within stored procedure +START TRANSACTION; +INSERT INTO t1 VALUES (330, "INSERT 330"),(331, "INSERT 331"); +INSERT INTO t1 VALUES (332, "INSERT 332"),(333, "INSERT 333"); +DELETE FROM t1 WHERE s1 > 331; +CALL tp_commit(); + +SELECT * FROM t1 ORDER BY s1; +s1 s2 +330 INSERT 330 +331 INSERT 331 + +## ROLLBACK within stored procedure +START TRANSACTION; +UPDATE t1 SET s1 = s1*2 WHERE s1 > 331; +CALL tp_rollback(); + +SELECT * FROM t1 ORDER BY s1; +s1 s2 +330 INSERT 330 +331 INSERT 331 +#======================================================================== +# Verify +#======================================================================== +EVENTS_TRANSACTIONS_CURRENT + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 18 18 transaction COMMITTED READ WRITE REPEATABLE READ YES 17 STATEMENT + +EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 4 9 transaction COMMITTED READ WRITE REPEATABLE READ NO 3 STATEMENT +thread_id 11 11 transaction COMMITTED READ WRITE REPEATABLE READ YES 10 STATEMENT +thread_id 13 16 transaction ROLLED BACK READ WRITE REPEATABLE READ NO 12 STATEMENT +thread_id 18 18 transaction COMMITTED READ WRITE REPEATABLE READ YES 17 STATEMENT + +EVENTS_STATEMENTS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME OBJECT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE LEVEL SQL_TEXT +thread_id 1 1 statement/sql/create_procedure NULL NULL NULL 0 CREATE PROCEDURE tp_rollback() ROLLBACK +thread_id 2 2 statement/sql/create_procedure NULL NULL NULL 0 CREATE PROCEDURE tp_commit() COMMIT +thread_id 3 4 statement/sql/begin NULL NULL NULL 0 START TRANSACTION +thread_id 5 5 statement/sql/insert NULL 4 TRANSACTION 0 INSERT INTO t1 VALUES (330, "INSERT 330"),(331, "INSERT 331") +thread_id 6 6 statement/sql/insert NULL 4 TRANSACTION 0 INSERT INTO t1 VALUES (332, "INSERT 332"),(333, "INSERT 333") +thread_id 7 7 statement/sql/delete NULL 4 TRANSACTION 0 DELETE FROM t1 WHERE s1 > 331 +thread_id 8 9 statement/sql/call_procedure NULL 4 TRANSACTION 0 CALL tp_commit() +thread_id 9 9 statement/sp/stmt tp_commit 8 STATEMENT 1 COMMIT +thread_id 10 11 statement/sql/select NULL NULL NULL 0 SELECT * FROM t1 ORDER BY s1 +thread_id 12 13 statement/sql/begin NULL NULL NULL 0 START TRANSACTION +thread_id 14 14 statement/sql/update NULL 13 TRANSACTION 0 UPDATE t1 SET s1 = s1*2 WHERE s1 > 331 +thread_id 15 16 statement/sql/call_procedure NULL 13 TRANSACTION 0 CALL tp_rollback() +thread_id 16 16 statement/sp/stmt tp_rollback 15 STATEMENT 1 ROLLBACK +thread_id 17 18 statement/sql/select NULL NULL NULL 0 SELECT * FROM t1 ORDER BY s1 + +## Combined statement and transaction event history ordered by event id + +EVENTS_STATEMENTS_HISTORY_LONG + EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE SQL_TXT +thread_id 1 1 statement/sql/create_proc NULL NULL CREATE PROCEDURE tp_rollback() ROLLBACK +thread_id 2 2 statement/sql/create_proc NULL NULL CREATE PROCEDURE tp_commit() COMMIT +thread_id 3 4 statement/sql/begin NULL NULL START TRANSACTION +thread_id 4 9 transaction 3 STATEMENT <transaction started> +thread_id 5 5 statement/sql/insert 4 TRANSACTION INSERT INTO t1 VALUES (330, "INSERT 330"),(331, "INSERT 331") +thread_id 6 6 statement/sql/insert 4 TRANSACTION INSERT INTO t1 VALUES (332, "INSERT 332"),(333, "INSERT 333") +thread_id 7 7 statement/sql/delete 4 TRANSACTION DELETE FROM t1 WHERE s1 > 331 +thread_id 8 9 statement/sql/call_proced 4 TRANSACTION CALL tp_commit() +thread_id 9 9 statement/sp/stmt 8 STATEMENT COMMIT +thread_id 10 11 statement/sql/select NULL NULL SELECT * FROM t1 ORDER BY s1 +thread_id 11 11 transaction 10 STATEMENT <transaction started> +thread_id 12 13 statement/sql/begin NULL NULL START TRANSACTION +thread_id 13 16 transaction 12 STATEMENT <transaction started> +thread_id 14 14 statement/sql/update 13 TRANSACTION UPDATE t1 SET s1 = s1*2 WHERE s1 > 331 +thread_id 15 16 statement/sql/call_proced 13 TRANSACTION CALL tp_rollback() +thread_id 16 16 statement/sp/stmt 15 STATEMENT ROLLBACK +thread_id 17 18 statement/sql/select NULL NULL SELECT * FROM t1 ORDER BY s1 +thread_id 18 18 transaction 17 STATEMENT <transaction started> + +## Clear statement and transaction history +CALL test.clear_history(); +## Reset db.t1 +DELETE FROM db.t1; + +#======================================================================== +# STEP 4 - TRANSACTIONS AND STORED FUNCTIONS +#======================================================================== + +# +# STEP 4.1 - FUNCTION WITHIN A TRANSACTION +# +CREATE FUNCTION fn_add(x INT, y INT) RETURNS INT +BEGIN +INSERT INTO t1 VALUES (x, "INSERT x"),(y, "INSERT y"); +RETURN x+y; +END | + +## Clear history +CALL test.clear_history(); + +START TRANSACTION; +INSERT INTO t1 VALUES (410, "INSERT 410"); +INSERT INTO t1 VALUES (411, "INSERT 411"); +INSERT INTO t1 VALUES (412, "INSERT 412"); +DELETE FROM t1 WHERE s1 > 410; + +SELECT * FROM t1 ORDER BY s1; +s1 s2 +410 INSERT 410 + +SELECT fn_add(413, 414); +fn_add(413, 414) +827 +COMMIT; + +SELECT * FROM t1 ORDER BY s1; +s1 s2 +410 INSERT 410 +413 INSERT x +414 INSERT y +#======================================================================== +# Verify +#======================================================================== +EVENTS_TRANSACTIONS_CURRENT + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 13 13 transaction COMMITTED READ WRITE REPEATABLE READ YES 12 STATEMENT + +EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 2 11 transaction COMMITTED READ WRITE REPEATABLE READ NO 1 STATEMENT +thread_id 13 13 transaction COMMITTED READ WRITE REPEATABLE READ YES 12 STATEMENT + +EVENTS_STATEMENTS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME OBJECT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE LEVEL SQL_TEXT +thread_id 1 2 statement/sql/begin NULL NULL NULL 0 START TRANSACTION +thread_id 3 3 statement/sql/insert NULL 2 TRANSACTION 0 INSERT INTO t1 VALUES (410, "INSERT 410") +thread_id 4 4 statement/sql/insert NULL 2 TRANSACTION 0 INSERT INTO t1 VALUES (411, "INSERT 411") +thread_id 5 5 statement/sql/insert NULL 2 TRANSACTION 0 INSERT INTO t1 VALUES (412, "INSERT 412") +thread_id 6 6 statement/sql/delete NULL 2 TRANSACTION 0 DELETE FROM t1 WHERE s1 > 410 +thread_id 7 7 statement/sql/select NULL 2 TRANSACTION 0 SELECT * FROM t1 ORDER BY s1 +thread_id 8 10 statement/sql/select NULL 2 TRANSACTION 0 SELECT fn_add(413, 414) +thread_id 9 9 statement/sp/stmt fn_add 8 STATEMENT 1 INSERT INTO t1 VALUES (x, "INSERT x"),(y, "INSERT y") +thread_id 10 10 statement/sp/freturn fn_add 8 STATEMENT 1 NULL +thread_id 11 11 statement/sql/commit NULL 2 TRANSACTION 0 COMMIT +thread_id 12 13 statement/sql/select NULL NULL NULL 0 SELECT * FROM t1 ORDER BY s1 + +## Combined statement and transaction event history ordered by event id + +EVENTS_STATEMENTS_HISTORY_LONG + EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE SQL_TXT +thread_id 1 2 statement/sql/begin NULL NULL START TRANSACTION +thread_id 2 11 transaction 1 STATEMENT <transaction started> +thread_id 3 3 statement/sql/insert 2 TRANSACTION INSERT INTO t1 VALUES (410, "INSERT 410") +thread_id 4 4 statement/sql/insert 2 TRANSACTION INSERT INTO t1 VALUES (411, "INSERT 411") +thread_id 5 5 statement/sql/insert 2 TRANSACTION INSERT INTO t1 VALUES (412, "INSERT 412") +thread_id 6 6 statement/sql/delete 2 TRANSACTION DELETE FROM t1 WHERE s1 > 410 +thread_id 7 7 statement/sql/select 2 TRANSACTION SELECT * FROM t1 ORDER BY s1 +thread_id 8 10 statement/sql/select 2 TRANSACTION SELECT fn_add(413, 414) +thread_id 9 9 statement/sp/stmt 8 STATEMENT INSERT INTO t1 VALUES (x, "INSERT x"),(y, "INSERT y") +thread_id 10 10 statement/sp/freturn 8 STATEMENT NULL +thread_id 11 11 statement/sql/commit 2 TRANSACTION COMMIT +thread_id 12 13 statement/sql/select NULL NULL SELECT * FROM t1 ORDER BY s1 +thread_id 13 13 transaction 12 STATEMENT <transaction started> + +## Clear statement and transaction history +CALL test.clear_history(); +## Reset db.t1 +DELETE FROM db.t1; + + +## Again, but this time with a rollback + +START TRANSACTION; +SELECT fn_add(415, 416); +fn_add(415, 416) +831 + +ROLLBACK; + +SELECT * FROM t1 ORDER BY s1; +s1 s2 +#======================================================================== +# Verify +#======================================================================== +EVENTS_TRANSACTIONS_CURRENT + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 8 8 transaction COMMITTED READ WRITE REPEATABLE READ YES 7 STATEMENT + +EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 2 6 transaction ROLLED BACK READ WRITE REPEATABLE READ NO 1 STATEMENT +thread_id 8 8 transaction COMMITTED READ WRITE REPEATABLE READ YES 7 STATEMENT + +EVENTS_STATEMENTS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME OBJECT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE LEVEL SQL_TEXT +thread_id 1 2 statement/sql/begin NULL NULL NULL 0 START TRANSACTION +thread_id 3 5 statement/sql/select NULL 2 TRANSACTION 0 SELECT fn_add(415, 416) +thread_id 4 4 statement/sp/stmt fn_add 3 STATEMENT 1 INSERT INTO t1 VALUES (x, "INSERT x"),(y, "INSERT y") +thread_id 5 5 statement/sp/freturn fn_add 3 STATEMENT 1 NULL +thread_id 6 6 statement/sql/rollback NULL 2 TRANSACTION 0 ROLLBACK +thread_id 7 8 statement/sql/select NULL NULL NULL 0 SELECT * FROM t1 ORDER BY s1 + +## Combined statement and transaction event history ordered by event id + +EVENTS_STATEMENTS_HISTORY_LONG + EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE SQL_TXT +thread_id 1 2 statement/sql/begin NULL NULL START TRANSACTION +thread_id 2 6 transaction 1 STATEMENT <transaction started> +thread_id 3 5 statement/sql/select 2 TRANSACTION SELECT fn_add(415, 416) +thread_id 4 4 statement/sp/stmt 3 STATEMENT INSERT INTO t1 VALUES (x, "INSERT x"),(y, "INSERT y") +thread_id 5 5 statement/sp/freturn 3 STATEMENT NULL +thread_id 6 6 statement/sql/rollback 2 TRANSACTION ROLLBACK +thread_id 7 8 statement/sql/select NULL NULL SELECT * FROM t1 ORDER BY s1 +thread_id 8 8 transaction 7 STATEMENT <transaction started> + +## Clear statement and transaction history +CALL test.clear_history(); +## Reset db.t1 +DELETE FROM db.t1; + +# +# STEP 4.2 - TRANSACTION CANNOT BE STARTED OR ENDED WITHIN FUNCTION +# +CREATE FUNCTION fn_err1() RETURNS VARCHAR(10) BEGIN START TRANSACTION ; RETURN invalid ; END| +ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger. + +## Expect 0 transactions +SELECT COUNT(*) FROM performance_schema.events_transactions_history; +COUNT(*) +0 + +## Expect stored function does not exist + +SELECT fn_err1(); +ERROR 42000: FUNCTION db.fn_err1 does not exist + +## Expect 0 transactions +SELECT COUNT(*) FROM performance_schema.events_transactions_history; +COUNT(*) +0 + +CREATE FUNCTION fn_err2() RETURNS VARCHAR(10) BEGIN COMMIT; RETURN invalid ; END| +ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger. + +## Expect stored function does not exist + +START TRANSACTION; +DELETE FROM t1 WHERE s1 > 320; +SELECT fn_err2(); +ERROR 42000: FUNCTION db.fn_err2 does not exist + +## Expect 0 transactions +SELECT COUNT(*) FROM performance_schema.events_transactions_history; +COUNT(*) +0 + +## Clear transaction and statement tables +CALL test.clear_history(); +#======================================================================== +# STEP 5 - TRANSACTIONS AND TRIGGERS +#======================================================================== + +# +# STEP 5.1 - FORCE STATEMENT ROLLBACK FROM TRIGGER +# +## Create a trigger to force statement rollback + +CREATE TRIGGER trigger_before_update BEFORE UPDATE ON t1 +FOR EACH ROW +BEGIN +IF OLD.s1 >= 505 THEN +SIGNAL sqlstate '45001' SET message_text = "FORCE ERROR"; +END IF; +END;| + +## Clear history +CALL test.clear_history(); + +## Insert multiple rows, then update. Trigger will force rollback the +## UPDATE statement, but the transaction should not roll back. + +START TRANSACTION; +INSERT INTO t1 VALUES (500, "INSERT 500"); +INSERT INTO t1 VALUES (501, "INSERT 501"); +INSERT INTO t1 VALUES (502, "INSERT 502"); +INSERT INTO t1 VALUES (503, "INSERT 503"); +INSERT INTO t1 VALUES (504, "INSERT 504"); +INSERT INTO t1 VALUES (505, "INSERT 505"); + +SELECT * FROM t1 ORDER BY s1; +s1 s2 +500 INSERT 500 +501 INSERT 501 +502 INSERT 502 +503 INSERT 503 +504 INSERT 504 +505 INSERT 505 + +## Expect error when UPDATE hits record 505 + +UPDATE t1 SET s1 = s1 * 2 WHERE s1 >= 500; +ERROR 45001: FORCE ERROR + +## Verify that INSERT succeeded, UPDATE failed and transaction did not rollback + +SELECT * FROM t1 ORDER BY s1; +s1 s2 +500 INSERT 500 +501 INSERT 501 +502 INSERT 502 +503 INSERT 503 +504 INSERT 504 +505 INSERT 505 +COMMIT; + +DROP TRIGGER trigger_before_update; +#======================================================================== +# Verify +#======================================================================== +EVENTS_TRANSACTIONS_CURRENT + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 21 21 transaction COMMITTED READ WRITE REPEATABLE READ YES 20 STATEMENT + +EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME STATE ACCESS_MODE ISOLATION_LEVEL AUTO R_NESTING_EVENT_ID NESTING_EVENT_TYPE +thread_id 2 19 transaction COMMITTED READ WRITE REPEATABLE READ NO 1 STATEMENT +thread_id 21 21 transaction COMMITTED READ WRITE REPEATABLE READ YES 20 STATEMENT + +EVENTS_STATEMENTS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME OBJECT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE LEVEL SQL_TEXT +thread_id 1 2 statement/sql/begin NULL NULL NULL 0 START TRANSACTION +thread_id 3 3 statement/sql/insert NULL 2 TRANSACTION 0 INSERT INTO t1 VALUES (500, "INSERT 500") +thread_id 4 4 statement/sql/insert NULL 2 TRANSACTION 0 INSERT INTO t1 VALUES (501, "INSERT 501") +thread_id 5 5 statement/sql/insert NULL 2 TRANSACTION 0 INSERT INTO t1 VALUES (502, "INSERT 502") +thread_id 6 6 statement/sql/insert NULL 2 TRANSACTION 0 INSERT INTO t1 VALUES (503, "INSERT 503") +thread_id 7 7 statement/sql/insert NULL 2 TRANSACTION 0 INSERT INTO t1 VALUES (504, "INSERT 504") +thread_id 8 8 statement/sql/insert NULL 2 TRANSACTION 0 INSERT INTO t1 VALUES (505, "INSERT 505") +thread_id 9 9 statement/sql/select NULL 2 TRANSACTION 0 SELECT * FROM t1 ORDER BY s1 +thread_id 10 17 statement/sql/update NULL 2 TRANSACTION 0 UPDATE t1 SET s1 = s1 * 2 WHERE s1 >= 500 +thread_id 11 11 statement/sp/jump_if_not trigger_befo 10 STATEMENT 1 NULL +thread_id 12 12 statement/sp/jump_if_not trigger_befo 10 STATEMENT 1 NULL +thread_id 13 13 statement/sp/jump_if_not trigger_befo 10 STATEMENT 1 NULL +thread_id 14 14 statement/sp/jump_if_not trigger_befo 10 STATEMENT 1 NULL +thread_id 15 15 statement/sp/jump_if_not trigger_befo 10 STATEMENT 1 NULL +thread_id 16 16 statement/sp/jump_if_not trigger_befo 10 STATEMENT 1 NULL +thread_id 17 17 statement/sp/stmt trigger_befo 10 STATEMENT 1 SIGNAL sqlstate '45001' SET message_text = "FORCE ERROR" +thread_id 18 18 statement/sql/select NULL 2 TRANSACTION 0 SELECT * FROM t1 ORDER BY s1 +thread_id 19 19 statement/sql/commit NULL 2 TRANSACTION 0 COMMIT +thread_id 20 21 statement/sql/drop_trigger NULL NULL NULL 0 DROP TRIGGER trigger_before_update + +## Combined statement and transaction event history ordered by event id + +EVENTS_STATEMENTS_HISTORY_LONG + EVENTS_TRANSACTIONS_HISTORY_LONG + +THREAD_ID R_EVENT_ID R_END_EVENT_ID EVENT_NAME R_NESTING_EVENT_ID NESTING_EVENT_TYPE SQL_TXT +thread_id 1 2 statement/sql/begin NULL NULL START TRANSACTION +thread_id 2 19 transaction 1 STATEMENT <transaction started> +thread_id 3 3 statement/sql/insert 2 TRANSACTION INSERT INTO t1 VALUES (500, "INSERT 500") +thread_id 4 4 statement/sql/insert 2 TRANSACTION INSERT INTO t1 VALUES (501, "INSERT 501") +thread_id 5 5 statement/sql/insert 2 TRANSACTION INSERT INTO t1 VALUES (502, "INSERT 502") +thread_id 6 6 statement/sql/insert 2 TRANSACTION INSERT INTO t1 VALUES (503, "INSERT 503") +thread_id 7 7 statement/sql/insert 2 TRANSACTION INSERT INTO t1 VALUES (504, "INSERT 504") +thread_id 8 8 statement/sql/insert 2 TRANSACTION INSERT INTO t1 VALUES (505, "INSERT 505") +thread_id 9 9 statement/sql/select 2 TRANSACTION SELECT * FROM t1 ORDER BY s1 +thread_id 10 17 statement/sql/update 2 TRANSACTION UPDATE t1 SET s1 = s1 * 2 WHERE s1 >= 500 +thread_id 11 11 statement/sp/jump_if_not 10 STATEMENT NULL +thread_id 12 12 statement/sp/jump_if_not 10 STATEMENT NULL +thread_id 13 13 statement/sp/jump_if_not 10 STATEMENT NULL +thread_id 14 14 statement/sp/jump_if_not 10 STATEMENT NULL +thread_id 15 15 statement/sp/jump_if_not 10 STATEMENT NULL +thread_id 16 16 statement/sp/jump_if_not 10 STATEMENT NULL +thread_id 17 17 statement/sp/stmt 10 STATEMENT SIGNAL sqlstate '45001' SET message_text = "FORCE ERROR" +thread_id 18 18 statement/sql/select 2 TRANSACTION SELECT * FROM t1 ORDER BY s1 +thread_id 19 19 statement/sql/commit 2 TRANSACTION COMMIT +thread_id 20 21 statement/sql/drop_trigge NULL NULL DROP TRIGGER trigger_before_update +thread_id 21 21 transaction 20 STATEMENT <transaction started> + +## Clear statement and transaction history +CALL test.clear_history(); +## Reset db.t1 +DELETE FROM db.t1; + +# TODO: Detect statement events from scheduled event +#======================================================================= +# Cleanup +#======================================================================= +DROP DATABASE db; +UPDATE performance_schema.setup_instruments SET enabled='YES', timed='YES'; +DROP PROCEDURE clear_transaction_tables; +DROP PROCEDURE clear_transaction_history; +DROP PROCEDURE clear_statement_history; +DROP PROCEDURE clear_history; +DROP PROCEDURE transaction_verifier; diff --git a/mysql-test/suite/perfschema/r/trigger_table_io.result b/mysql-test/suite/perfschema/r/trigger_table_io.result index df63e579d6f..70c78cb00c9 100644 --- a/mysql-test/suite/perfschema/r/trigger_table_io.result +++ b/mysql-test/suite/perfschema/r/trigger_table_io.result @@ -83,88 +83,81 @@ where event_name like 'wait/io/table/%' and object_schema in ("test") order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 update NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 update NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 update NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 delete NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 delete NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 delete NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 delete NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t1 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test t2 fetch NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 update 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 update 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 update 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 update 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 update 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 update 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 update 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 update 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 delete 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 delete 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 delete 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 delete 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test t1 fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test t2 fetch 2 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -174,9 +167,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -186,6 +185,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/r/user_var_func.result b/mysql-test/suite/perfschema/r/user_var_func.result new file mode 100644 index 00000000000..bd7ba75b9e4 --- /dev/null +++ b/mysql-test/suite/perfschema/r/user_var_func.result @@ -0,0 +1,88 @@ +set @v1a="Hello"; +set @v2a="World"; +set @v3a=65; +set @v4a=NULL; +select @v1a, @v2a, @v3a, @v4a, @v_unknown; +@v1a @v2a @v3a @v4a @v_unknown +Hello World 65 NULL NULL +select VARIABLE_NAME, VARIABLE_VALUE +from performance_schema.user_variables_by_thread +order by VARIABLE_NAME; +VARIABLE_NAME VARIABLE_VALUE +v1a Hello +v2a World +v3a 65 +v4a NULL +set @v1b="Salut"; +set @v2b="La compagnie"; +set @v3b=12; +set @v4b=NULL; +select @v1b, @v2b, @v3b, @v4b, @v_unknown; +@v1b @v2b @v3b @v4b @v_unknown +Salut La compagnie 12 NULL NULL +select VARIABLE_NAME, VARIABLE_VALUE +from performance_schema.user_variables_by_thread +order by VARIABLE_NAME; +VARIABLE_NAME VARIABLE_VALUE +v1a Hello +v1b Salut +v2a World +v2b La compagnie +v3a 65 +v3b 12 +v4a NULL +v4b NULL +select VARIABLE_NAME, VARIABLE_VALUE +from performance_schema.user_variables_by_thread +order by VARIABLE_NAME; +VARIABLE_NAME VARIABLE_VALUE +v1a Hello +v2a World +v3a 65 +v4a NULL +set @blob_under_16_bits=repeat("a", 65000); +set @blob_under_24_bits=repeat("a", 1000000); +select length(@blob_under_16_bits); +length(@blob_under_16_bits) +65000 +select length(@blob_under_24_bits); +length(@blob_under_24_bits) +1000000 +select variable_name, length(variable_value) +from performance_schema.user_variables_by_thread +where VARIABLE_NAME like "blob%" + order by VARIABLE_NAME; +variable_name length(variable_value) +blob_under_16_bits 65000 +blob_under_24_bits 1000000 +set @a=10; +CREATE procedure test_user_val +(IN input INT,OUT output INT) +BEGIN +SELECT input + input +INTO output; +END| +CALL test_user_val(@a , @total); +select VARIABLE_NAME,VARIABLE_VALUE from performance_schema.user_variables_by_thread +where variable_name in ('a','total') order by VARIABLE_NAME; +VARIABLE_NAME VARIABLE_VALUE +a 10 +total 20 +create table t1 (c1 int); +CREATE TRIGGER test_uvar_trigger +AFTER INSERT ON t1 +FOR EACH ROW BEGIN +set @a=@a+@a; +END| +insert into t1 values(1); +select VARIABLE_NAME,VARIABLE_VALUE from performance_schema.user_variables_by_thread +where variable_name ='a' order by VARIABLE_NAME; +VARIABLE_NAME VARIABLE_VALUE +a 20 +insert into t1 values(1); +select VARIABLE_NAME,VARIABLE_VALUE from performance_schema.user_variables_by_thread +where variable_name ='a' order by VARIABLE_NAME; +VARIABLE_NAME VARIABLE_VALUE +a 40 +drop table t1; +drop procedure test_user_val; diff --git a/mysql-test/suite/perfschema/r/view_table_io.result b/mysql-test/suite/perfschema/r/view_table_io.result index db6acf65c73..ec2f227d0da 100644 --- a/mysql-test/suite/perfschema/r/view_table_io.result +++ b/mysql-test/suite/perfschema/r/view_table_io.result @@ -77,50 +77,42 @@ where event_name like 'wait/io/table/%' and object_schema in ("test") order by thread_id, event_id; event_name short_source object_type object_schema pretty_name operation number_of_bytes -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -wait/io/table/sql/handler handler.cc: TABLE test marker insert NULL -show status like 'performance_schema_%'; +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 3 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab update 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab delete 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test no_index_tab fetch 2 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +wait/io/table/sql/handler handler.cc: TABLE test marker insert 1 +show global status like 'performance_schema_%'; Variable_name Value Performance_schema_accounts_lost 0 Performance_schema_cond_classes_lost 0 @@ -130,9 +122,15 @@ Performance_schema_file_classes_lost 0 Performance_schema_file_handles_lost 0 Performance_schema_file_instances_lost 0 Performance_schema_hosts_lost 0 +Performance_schema_index_stat_lost 0 Performance_schema_locker_lost 0 +Performance_schema_memory_classes_lost 0 +Performance_schema_metadata_lock_lost 0 Performance_schema_mutex_classes_lost 0 Performance_schema_mutex_instances_lost 0 +Performance_schema_nested_statement_lost 0 +Performance_schema_prepared_statements_lost 0 +Performance_schema_program_lost 0 Performance_schema_rwlock_classes_lost 0 Performance_schema_rwlock_instances_lost 0 Performance_schema_session_connect_attrs_lost 0 @@ -142,6 +140,7 @@ Performance_schema_stage_classes_lost 0 Performance_schema_statement_classes_lost 0 Performance_schema_table_handles_lost 0 Performance_schema_table_instances_lost 0 +Performance_schema_table_lock_stat_lost 0 Performance_schema_thread_classes_lost 0 Performance_schema_thread_instances_lost 0 Performance_schema_users_lost 0 diff --git a/mysql-test/suite/perfschema/t/aggregate.test b/mysql-test/suite/perfschema/t/aggregate.test index 326c0e763d9..4fcbeb22886 100644 --- a/mysql-test/suite/perfschema/t/aggregate.test +++ b/mysql-test/suite/perfschema/t/aggregate.test @@ -1,9 +1,12 @@ # Tests for PERFORMANCE_SCHEMA # Verify that statistics aggregated by different criteria are consistent. +## To skip the test with QC enabled till BUG#14830950 is fixed. +-- source include/have_QC_Disabled.inc + --source include/not_embedded.inc --source include/have_perfschema.inc ---source include/have_QC_Disabled.inc +--source include/no_protocol.inc --echo "General cleanup" @@ -11,6 +14,8 @@ drop table if exists t1; --enable_warnings +--source include/turn_off_only_full_group_by.inc + update performance_schema.setup_instruments set enabled = 'NO'; update performance_schema.setup_consumers set enabled = 'NO'; @@ -73,8 +78,7 @@ set @dump_all=FALSE; # - MIN(events_waits_summary_global_by_event_name) <= # MIN(events_waits_summary_by_thread_by_event_name) # There will be equality only when no thread is removed, -# that is if no thread disconnects, or no sub thread (for example insert -# delayed) ever completes. +# that is if no thread disconnects, or no sub thread ever completes. # A thread completing will cause rows in # events_waits_summary_by_thread_by_event_name to be removed. @@ -189,3 +193,4 @@ update performance_schema.setup_instruments set enabled = 'YES', timed = 'YES'; drop table test.t1; +--source include/restore_sql_mode_after_turn_off_only_full_group_by.inc diff --git a/mysql-test/suite/perfschema/t/all_tests.test b/mysql-test/suite/perfschema/t/all_tests.test index e0db6d459de..b16364ba17f 100644 --- a/mysql-test/suite/perfschema/t/all_tests.test +++ b/mysql-test/suite/perfschema/t/all_tests.test @@ -43,10 +43,13 @@ insert into t2 select concat('dml_', table_name, '.test') from information_schem update t2 set test_name= replace(test_name, "events_waits_summary_", "ews_"); update t2 set test_name= replace(test_name, "events_stages_summary_", "esgs_"); update t2 set test_name= replace(test_name, "events_statements_summary_", "esms_"); +update t2 set test_name= replace(test_name, "events_transactions_summary_", "ets_"); update t2 set test_name= replace(test_name, "file_summary_", "fs_"); update t2 set test_name= replace(test_name, "objects_summary_", "os_"); update t2 set test_name= replace(test_name, "table_io_waits_summary_", "tiws_"); update t2 set test_name= replace(test_name, "table_lock_waits_summary_", "tlws_"); +update t2 set test_name= replace(test_name, "memory_summary_", "mems_"); +update t2 set test_name= replace(test_name, "user_variables_", "uvar_"); # Debug # select test_name as 'FOUND' from t1; diff --git a/mysql-test/suite/perfschema/t/alter_table_progress.test b/mysql-test/suite/perfschema/t/alter_table_progress.test new file mode 100644 index 00000000000..3b80d7d4743 --- /dev/null +++ b/mysql-test/suite/perfschema/t/alter_table_progress.test @@ -0,0 +1,144 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc +--source include/have_debug.inc +--source include/have_debug_sync.inc + +# Presence of the query cache changes query stages, +# causing noise in the test output +--source include/have_query_cache_disabled.inc + +# Setup + +connect (con1, localhost, root, , ); + +let $con1_THREAD_ID=`select thread_id from performance_schema.threads + where PROCESSLIST_ID = connection_id()`; + +--disable_warnings +drop table if exists t1; +--enable_warnings + +create table t1(a int) engine = myisam; + +insert into t1 values (1), (2), (3), (4), (5); + +--connection default + +update performance_schema.threads + set instrumented = 'NO' + where processlist_id = connection_id(); + +truncate table performance_schema.events_statements_history_long; +truncate table performance_schema.events_stages_history_long; + +--disable_query_log +eval select $con1_THREAD_ID into @con1_thread_id; +--enable_query_log + +--connection con1 + +# ALTER TABLE statement to inspect, +# execution should instrument progress + +SET DEBUG_SYNC='RESET'; +SET DEBUG_SYNC='copy_data_between_tables_before SIGNAL found_row WAIT_FOR wait_row EXECUTE 5'; +--send ALTER TABLE t1 engine = innodb; + +--connection default + +SET DEBUG_SYNC='now WAIT_FOR found_row'; + +# Find the statement id of the ALTER TABLE +select event_id from performance_schema.events_statements_current + where thread_id = @con1_thread_id into @con1_stmt_id; + +# completed 0 +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED + from performance_schema.events_stages_current + where (thread_id = @con1_thread_id); + +SET DEBUG_SYNC='now SIGNAL wait_row'; + +#====== + +SET DEBUG_SYNC='now WAIT_FOR found_row'; + +# completed 1 +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED + from performance_schema.events_stages_current + where (thread_id = @con1_thread_id); + +SET DEBUG_SYNC='now SIGNAL wait_row'; + +#====== + +SET DEBUG_SYNC='now WAIT_FOR found_row'; + +# completed 2 +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED + from performance_schema.events_stages_current + where (thread_id = @con1_thread_id); + +SET DEBUG_SYNC='now SIGNAL wait_row'; + +#====== + +SET DEBUG_SYNC='now WAIT_FOR found_row'; + +# completed 3 +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED + from performance_schema.events_stages_current + where (thread_id = @con1_thread_id); + +SET DEBUG_SYNC='now SIGNAL wait_row'; + +#====== + +SET DEBUG_SYNC='now WAIT_FOR found_row'; + +# completed 4 +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED + from performance_schema.events_stages_current + where (thread_id = @con1_thread_id); + +SET DEBUG_SYNC='now SIGNAL wait_row'; + +#====== + +--connection con1 + +# Complete the ALTER TABLE statement. +--reap + +# Make sure the ALTER TABLE cleanup is executed, +# as the last stages are after writing back to the client, +# and done asynchronously from the last 'reap'. +select "After payload"; + +--connection default + +--echo Dumping ALTER TABLE stages + +# Print all stages for this ALTER TABLE statement +select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED + from performance_schema.events_stages_history_long + where (thread_id = @con1_thread_id) + and (nesting_event_id = @con1_stmt_id) + order by thread_id, event_id; + +SET DEBUG_SYNC='RESET'; + +--connection con1 + +drop table t1; + +--disconnect con1 + +--connection default + +update performance_schema.threads + set instrumented = 'YES' + where processlist_id = connection_id(); + diff --git a/mysql-test/suite/perfschema/t/bad_option.test b/mysql-test/suite/perfschema/t/bad_option.test new file mode 100644 index 00000000000..a0e721070c2 --- /dev/null +++ b/mysql-test/suite/perfschema/t/bad_option.test @@ -0,0 +1,74 @@ +# Tests for PERFORMANCE_SCHEMA +# Check error handling for invalid server start options and values + +# The current test unites and replaces all suite/perfschema/t/bad_option_*.test +# which were developed by Marc. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +let $error_log= $MYSQLTEST_VARDIR/log/my_restart.err; +--error 0,1 +--remove_file $error_log +let SEARCH_FILE= $error_log; +# Stop the server +let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect; +--exec echo "wait" > $restart_file +--shutdown_server +--source include/wait_until_disconnected.inc +--error 1 +--exec $MYSQLD_CMD --loose-console --performance-schema-enabled=maybe > $error_log 2>&1 +# The server restart aborts +# [ERROR] unknown variable 'performance-schema-enabled=maybe' +let SEARCH_PATTERN= \[ERROR\] unknown variable 'performance-schema-enabled=maybe'; +--source include/search_pattern_in_file.inc +--echo # Server start with invalid startup option value 'performance-schema-enabled=maybe' : pass + +--remove_file $error_log +--error 1 +--exec $MYSQLD_CMD --loose-console --performance-schema-max_=12 > $error_log 2>&1 +# The server restart aborts +# [ERROR] unknown variable 'performance-schema-max_=12' +let SEARCH_PATTERN= \[ERROR\] unknown variable 'performance-schema-max_=12'; +--source include/search_pattern_in_file.inc +--echo # Server start with ambigous startup option 'performance-schema-max_=12' : pass +# The important points is here: +# 1. There is no option 'performance-schema-max_' or 'performance-schema-max-' at all. +# 2. But we have many options where the name starts exact with this pattern. +# 3. There is a value assigned. +# 4. The server criticizes "variable" and not "option"! +# This seems to be caused by 3. because "--performance-schema-unknown=ON" gets +# a similar reaction. + +--remove_file $error_log +--error 1 +--exec $MYSQLD_CMD --loose-console --performance-schema-unknown_99 > $error_log 2>&1 +# The server restart aborts +let SEARCH_PATTERN= \[ERROR\] unknown option '--performance-schema-unknown_99'; +--source include/search_pattern_in_file.inc +--echo # Server start with invalid startup option '--performance-schema-unknown_99' : pass + +--remove_file $error_log +--error 1 +--exec $MYSQLD_CMD --loose-console --datadir=bad_option_h_param > $error_log 2>&1 +# The server restart aborts +# [ERROR] failed to set datadir to /work/repo1/mysql-trunk2/bad_option_h_param/ +let SEARCH_PATTERN= \[ERROR\] failed to set datadir to .*bad_option_h_param; +--source include/search_pattern_in_file.inc +--echo # Server start with invalid startup option value '--datadir=bad_option_h_param' : pass +# The important point is here: +# There is no directory "bad_option_h_param". + +--remove_file $error_log +# Write file to make mysql-test-run.pl start up the server again +--exec echo "restart" > $restart_file + +# Turn on reconnect +--enable_reconnect + +# Call script that will poll the server waiting for it to be back online again +--source include/wait_until_connected_again.inc + +# Turn off reconnect again +--disable_reconnect + diff --git a/mysql-test/suite/perfschema/t/bad_option_1.test b/mysql-test/suite/perfschema/t/bad_option_1.test deleted file mode 100644 index 1c76dbdc512..00000000000 --- a/mysql-test/suite/perfschema/t/bad_option_1.test +++ /dev/null @@ -1,34 +0,0 @@ -# Tests for PERFORMANCE_SCHEMA -# Check error handling for invalid server start options - ---source include/not_embedded.inc ---source include/have_perfschema.inc - -let $outfile= $MYSQLTEST_VARDIR/tmp/bad_option_1.txt; ---error 0,1 ---remove_file $outfile ---error 7 ---exec $MYSQLD_BOOTSTRAP_CMD --loose-console --performance-schema-enabled=maybe > $outfile 2>&1 - -perl; - use strict; - use warnings; - my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/bad_option_1.txt"; - open(FILE, "<", $fname) or die; - my @lines= <FILE>; - # those must be in the file for the test to pass - my @patterns= - ("unknown variable 'performance-schema-enabled=maybe'", - "Aborting"); - foreach my $one_line (@lines) - { - foreach my $one_pattern (@patterns) - { - # print pattern, not line, to get a stable output - print "Found: $one_pattern\n" if ($one_line =~ /$one_pattern/); - } - } - close FILE; -EOF ---remove_file $outfile - diff --git a/mysql-test/suite/perfschema/t/bad_option_2.test b/mysql-test/suite/perfschema/t/bad_option_2.test deleted file mode 100644 index 175767bb9f2..00000000000 --- a/mysql-test/suite/perfschema/t/bad_option_2.test +++ /dev/null @@ -1,33 +0,0 @@ -# Tests for PERFORMANCE_SCHEMA -# Check error handling for ambiguous server start options - ---source include/not_embedded.inc ---source include/have_perfschema.inc - -let $outfile= $MYSQLTEST_VARDIR/tmp/bad_option_2.txt; ---error 0,1 ---remove_file $outfile ---error 3 ---exec $MYSQLD_BOOTSTRAP_CMD --loose-console --performance-schema-max_=12 > $outfile 2>&1 - -perl; - use strict; - use warnings; - my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/bad_option_2.txt"; - open(FILE, "<", $fname) or die; - my @lines= <FILE>; - # those must be in the file for the test to pass - my @patterns= - ("ambiguous option '--performance-schema-max_=12'"); - foreach my $one_line (@lines) - { - foreach my $one_pattern (@patterns) - { - # print pattern, not line, to get a stable output - print "Found: $one_pattern\n" if ($one_line =~ /$one_pattern/); - } - } - close FILE; -EOF ---remove_file $outfile - diff --git a/mysql-test/suite/perfschema/t/bad_option_3.test b/mysql-test/suite/perfschema/t/bad_option_3.test deleted file mode 100644 index 63565df14a2..00000000000 --- a/mysql-test/suite/perfschema/t/bad_option_3.test +++ /dev/null @@ -1,34 +0,0 @@ -# Tests for PERFORMANCE_SCHEMA -# Check error handling for invalid server start options - ---source include/not_embedded.inc ---source include/have_perfschema.inc - -let $outfile= $MYSQLTEST_VARDIR/tmp/bad_option_3.txt; ---error 0,1 ---remove_file $outfile ---error 2 ---exec $MYSQLD_BOOTSTRAP_CMD --loose-console -a -x > $outfile 2>&1 - -perl; - use strict; - use warnings; - my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/bad_option_3.txt"; - open(FILE, "<", $fname) or die; - my @lines= <FILE>; - # those must be in the file for the test to pass - my @patterns= - ("unknown option '-x'", - "Aborting"); - foreach my $one_line (@lines) - { - foreach my $one_pattern (@patterns) - { - # print pattern, not line, to get a stable output - print "Found: $one_pattern\n" if ($one_line =~ /$one_pattern/); - } - } - close FILE; -EOF ---remove_file $outfile - diff --git a/mysql-test/suite/perfschema/t/bad_option_4.test b/mysql-test/suite/perfschema/t/bad_option_4.test deleted file mode 100644 index 27a32c201a9..00000000000 --- a/mysql-test/suite/perfschema/t/bad_option_4.test +++ /dev/null @@ -1,34 +0,0 @@ -# Tests for PERFORMANCE_SCHEMA -# Check error handling for invalid server start options - ---source include/not_embedded.inc ---source include/have_perfschema.inc - -let $outfile= $MYSQLTEST_VARDIR/tmp/bad_option_4.txt; ---error 0,1 ---remove_file $outfile ---error 1 ---exec $MYSQLD_BOOTSTRAP_CMD --loose-console -a -h bad_option_h_param > $outfile 2>&1 - -perl; - use strict; - use warnings; - my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/bad_option_4.txt"; - open(FILE, "<", $fname) or die; - my @lines= <FILE>; - # those must be in the file for the test to pass - my @patterns= - ("Can't change dir to.*bad_option_h_param", - "Aborting"); - foreach my $one_line (@lines) - { - foreach my $one_pattern (@patterns) - { - # print pattern, not line, to get a stable output - print "Found: $one_pattern\n" if ($one_line =~ /$one_pattern/); - } - } - close FILE; -EOF ---remove_file $outfile - diff --git a/mysql-test/suite/perfschema/t/bad_option_5.test b/mysql-test/suite/perfschema/t/bad_option_5.test deleted file mode 100644 index ada8228b249..00000000000 --- a/mysql-test/suite/perfschema/t/bad_option_5.test +++ /dev/null @@ -1,37 +0,0 @@ -# Tests for PERFORMANCE_SCHEMA -# Check error handling for invalid server start options - ---source include/not_embedded.inc ---source include/have_perfschema.inc - -let $outfile= $MYSQLTEST_VARDIR/tmp/bad_option_5.txt; ---error 0,1 ---remove_file $outfile ---error 2 ---exec $MYSQLD_BOOTSTRAP_CMD --loose-console -aXbroken > $outfile 2>&1 - -# -aXbroken should be parsed as -a -Xbroken, or --ansi -Xbroken, -# therefore the -X option is what the server should complain about - -perl; - use strict; - use warnings; - my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/bad_option_5.txt"; - open(FILE, "<", $fname) or die; - my @lines= <FILE>; - # those must be in the file for the test to pass - my @patterns= - ("unknown option '-X'", - "Aborting"); - foreach my $one_line (@lines) - { - foreach my $one_pattern (@patterns) - { - # print pattern, not line, to get a stable output - print "Found: $one_pattern\n" if ($one_line =~ /$one_pattern/); - } - } - close FILE; -EOF ---remove_file $outfile - diff --git a/mysql-test/suite/perfschema/t/batch_table_io_func.test b/mysql-test/suite/perfschema/t/batch_table_io_func.test new file mode 100644 index 00000000000..67f98cc82d8 --- /dev/null +++ b/mysql-test/suite/perfschema/t/batch_table_io_func.test @@ -0,0 +1,148 @@ +--source include/not_embedded.inc +--source include/have_perfschema.inc + +UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES'; + +UPDATE performance_schema.setup_instruments SET enabled = 'YES' +WHERE name in ('wait/io/table/sql/handler', + 'wait/lock/table/sql/handler'); + +--disable_warnings +drop procedure if exists before_payload; +drop procedure if exists after_payload; +--enable_warnings + +delimiter $$; + +create procedure before_payload() +begin + TRUNCATE TABLE performance_schema.table_io_waits_summary_by_index_usage; + TRUNCATE TABLE performance_schema.table_io_waits_summary_by_table; + TRUNCATE TABLE performance_schema.events_waits_history_long; + TRUNCATE TABLE performance_schema.events_waits_history; + TRUNCATE TABLE performance_schema.events_waits_current; +end +$$ + +create procedure after_payload() +begin + select count(1) as number_seen, + OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, + OPERATION, NUMBER_OF_BYTES + from performance_schema.events_waits_history_long + where OBJECT_SCHEMA = "test" + group by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, OPERATION, NUMBER_OF_BYTES; + + select OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, + COUNT_STAR, COUNT_READ, COUNT_WRITE + from performance_schema.table_io_waits_summary_by_index_usage + where OBJECT_SCHEMA = "test" + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; + + select OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, + COUNT_STAR, COUNT_READ, COUNT_WRITE + from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA = "test" + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +end +$$ + +delimiter ;$$ + + +--disable_warnings +drop table if exists t1; +drop table if exists t2; +drop table if exists t3; +--enable_warnings + +create table t0(v int); +create table t1(id1 int, a int); +create table t2(id1 int, id2 int, b int); +create table t3(id2 int, id3 int, c int); + +insert into t0 values + (0), (1), (2), (3), (4), + (5), (6), (7), (8), (9); + +insert into t1(id1, a) + select v, 100*v from t0; + +insert into t2(id1, id2, b) + select X.v, 10*X.v + Y.v, 100*X.v + 10*Y.v + from t0 X, t0 Y; + +insert into t3(id2, id3, c) + select 10*X.v + Y.v, 100*X.v + 10*Y.v + Z.v, 100*X.v + 10*Y.v + Z.v + from t0 X, t0 Y, t0 Z; + +analyze table t1; +analyze table t2; +analyze table t3; + +select * from t1 order by a; + +# Only dump a small part +select * from t2 + where (b >= 180) and (b <= 220) + order by b; + +# Only dump a small part +select * from t3 + where (c >= 587) and (c <= 612) + order by c; + +# +# TEST 1 (join, no index) +# + +explain select t1.*, t2.*, t3.* + from t1 join t2 using (id1) join t3 using (id2); + +call before_payload(); + +# Payload query to analyse: should do batch io on t3 + +--disable_result_log +select t1.*, t2.*, t3.* + from t1 join t2 using (id1) join t3 using (id2); +--enable_result_log + +call after_payload(); + +# +# TEST 2 (join, with index) +# + +alter table t1 add unique index(id1); +alter table t2 add unique index(id2); +alter table t2 add index(id1); +alter table t3 add unique index(id3); +alter table t3 add index(id2); + +explain select t1.*, t2.*, t3.* + from t1 join t2 using (id1) join t3 using (id2); + +call before_payload(); + +# Payload query to analyse: should do batch io on t3 + +--disable_result_log +select t1.*, t2.*, t3.* + from t1 join t2 using (id1) join t3 using (id2); +--enable_result_log + +call after_payload(); + +# Cleanup + +drop table t0; +drop table t1; +drop table t2; +drop table t3; + +drop procedure before_payload; +drop procedure after_payload; + +UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; + diff --git a/mysql-test/suite/perfschema/t/checksum.test b/mysql-test/suite/perfschema/t/checksum.test index 125573242cc..a2d43b27bce 100644 --- a/mysql-test/suite/perfschema/t/checksum.test +++ b/mysql-test/suite/perfschema/t/checksum.test @@ -27,6 +27,14 @@ checksum table performance_schema.events_statements_summary_by_host_by_event_nam checksum table performance_schema.events_statements_summary_by_thread_by_event_name; checksum table performance_schema.events_statements_summary_by_user_by_event_name; checksum table performance_schema.events_statements_summary_global_by_event_name; +checksum table performance_schema.events_transactions_current; +checksum table performance_schema.events_transactions_history; +checksum table performance_schema.events_transactions_history_long; +checksum table performance_schema.events_transactions_summary_by_account_by_event_name; +checksum table performance_schema.events_transactions_summary_by_host_by_event_name; +checksum table performance_schema.events_transactions_summary_by_thread_by_event_name; +checksum table performance_schema.events_transactions_summary_by_user_by_event_name; +checksum table performance_schema.events_transactions_summary_global_by_event_name; checksum table performance_schema.events_waits_current; checksum table performance_schema.events_waits_history; checksum table performance_schema.events_waits_history_long; @@ -73,6 +81,14 @@ checksum table performance_schema.events_statements_summary_by_host_by_event_nam checksum table performance_schema.events_statements_summary_by_thread_by_event_name extended; checksum table performance_schema.events_statements_summary_by_user_by_event_name extended; checksum table performance_schema.events_statements_summary_global_by_event_name extended; +checksum table performance_schema.events_transactions_current extended; +checksum table performance_schema.events_transactions_history extended; +checksum table performance_schema.events_transactions_history_long extended; +checksum table performance_schema.events_transactions_summary_by_account_by_event_name extended; +checksum table performance_schema.events_transactions_summary_by_host_by_event_name extended; +checksum table performance_schema.events_transactions_summary_by_thread_by_event_name extended; +checksum table performance_schema.events_transactions_summary_by_user_by_event_name extended; +checksum table performance_schema.events_transactions_summary_global_by_event_name extended; checksum table performance_schema.events_waits_current extended; checksum table performance_schema.events_waits_history extended; checksum table performance_schema.events_waits_history_long extended; diff --git a/mysql-test/suite/perfschema/t/cnf_option.test b/mysql-test/suite/perfschema/t/cnf_option.test index 698bb44b104..04140310cf4 100644 --- a/mysql-test/suite/perfschema/t/cnf_option.test +++ b/mysql-test/suite/perfschema/t/cnf_option.test @@ -4,6 +4,6 @@ --source include/not_embedded.inc --source include/have_perfschema.inc -show variables like 'performance_schema_max_thread_classes'; -show variables like 'performance_schema_max_thread_instances'; +show global variables like 'performance_schema_max_thread_classes'; +show global variables like 'performance_schema_max_thread_instances'; diff --git a/mysql-test/suite/perfschema/t/column_privilege.test b/mysql-test/suite/perfschema/t/column_privilege.test index 6fabdfb4229..58ea1f9b520 100644 --- a/mysql-test/suite/perfschema/t/column_privilege.test +++ b/mysql-test/suite/perfschema/t/column_privilege.test @@ -7,7 +7,10 @@ show grants; +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant usage on *.* to 'pfs_user_5'@localhost with GRANT OPTION; +set sql_mode= @orig_sql_mode; # Test per column privileges on performance_schema diff --git a/mysql-test/suite/perfschema/t/connect_attrs.test b/mysql-test/suite/perfschema/t/connect_attrs.test index 1dd5a15cbdd..50e7d157ea9 100644 --- a/mysql-test/suite/perfschema/t/connect_attrs.test +++ b/mysql-test/suite/perfschema/t/connect_attrs.test @@ -57,7 +57,7 @@ SELECT COUNT(DISTINCT PROCESSLIST_ID) FROM performance_schema.session_connect_attrs; connection non_privileged_user; ---error ER_TABLEACCESS_DENIED_ERROR +--echo # must return 1 SELECT COUNT(DISTINCT PROCESSLIST_ID) FROM performance_schema.session_account_connect_attrs; diff --git a/mysql-test/suite/perfschema/t/connection_type_notwin.test b/mysql-test/suite/perfschema/t/connection_type_notwin.test new file mode 100644 index 00000000000..2a3bc2a8f0e --- /dev/null +++ b/mysql-test/suite/perfschema/t/connection_type_notwin.test @@ -0,0 +1,98 @@ + +--source include/not_windows.inc +--source include/not_embedded.inc +--source include/have_debug.inc +--source include/have_perfschema.inc + +--echo "Default connection" + +--vertical_results +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE + from performance_schema.threads + where PROCESSLIST_ID = connection_id(); + +create user 'root'@'santa.claus.ipv4.example.com'; +grant select on *.* to 'root'@'santa.claus.ipv4.example.com'; +create user 'rootssl'@'santa.claus.ipv4.example.com' + require SSL; +grant select on *.* to 'rootssl'@'santa.claus.ipv4.example.com'; + +set global debug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4"; + +# Setup +# make sure we start with a clean slate. log_tables.test says this is OK. +TRUNCATE TABLE mysql.general_log; + +SET @old_log_output= @@global.log_output; +SET @old_general_log= @@global.general_log; +SET @old_general_log_file= @@global.general_log_file; + +--replace_result $MYSQLTEST_VARDIR ... +eval SET GLOBAL general_log_file = '$MYSQLTEST_VARDIR/log/rewrite_general_con.log'; +SET GLOBAL log_output = 'FILE,TABLE'; +SET GLOBAL general_log= 'ON'; + +connect(con1, localhost, root,,); + +--echo "Connection con1" + +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE + from performance_schema.threads + where PROCESSLIST_ID = connection_id(); + +--disconnect con1 + +connect(con2, "127.0.0.1", root,,test,$MASTER_MYPORT,); + +--echo "Connection con2" + +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE + from performance_schema.threads + where PROCESSLIST_ID = connection_id(); + +--disconnect con2 + +connect(con3, "127.0.0.1", rootssl,,test,$MASTER_MYPORT,,SSL); + +--echo "Connection con3" + +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE + from performance_schema.threads + where PROCESSLIST_ID = connection_id(); + +--disconnect con3 + +--connection default + +SET GLOBAL general_log= 'OFF'; + +# show general-logging to file is correct +CREATE TABLE test_log (argument TEXT); +--replace_result $MYSQLTEST_VARDIR ... +eval LOAD DATA LOCAL INFILE '$MYSQLTEST_VARDIR/log/rewrite_general_con.log' + INTO TABLE test_log FIELDS TERMINATED BY '\n' LINES TERMINATED BY '\n'; + +select user_host, command_type, argument from mysql.general_log + where command_type = "Connect"; + +select substring(argument, locate("Connect", argument)) from test_log + where argument like "%Connect%on test%"; + + +DROP TABLE test_log; + +--remove_file $MYSQLTEST_VARDIR/log/rewrite_general_con.log + +SET GLOBAL general_log_file= @old_general_log_file; +SET GLOBAL general_log= @old_general_log; +SET GLOBAL log_output= @old_log_output; + +--horizontal_results + +set global debug= default; +revoke select on *.* from 'root'@'santa.claus.ipv4.example.com'; +drop user 'root'@'santa.claus.ipv4.example.com'; +revoke select on *.* from 'rootssl'@'santa.claus.ipv4.example.com'; +drop user 'rootssl'@'santa.claus.ipv4.example.com'; + + diff --git a/mysql-test/suite/perfschema/t/connection_type_win.test b/mysql-test/suite/perfschema/t/connection_type_win.test new file mode 100644 index 00000000000..0a9981a1bd7 --- /dev/null +++ b/mysql-test/suite/perfschema/t/connection_type_win.test @@ -0,0 +1,96 @@ + +--source include/windows.inc +--source include/not_embedded.inc +--source include/have_debug.inc +--source include/have_perfschema.inc + +--echo "Default connection" + +--vertical_results +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE + from performance_schema.threads + where PROCESSLIST_ID = connection_id(); + +create user 'root'@'santa.claus.ipv4.example.com'; +grant select on *.* to 'root'@'santa.claus.ipv4.example.com'; +create user 'rootssl'@'santa.claus.ipv4.example.com' + require SSL; +grant select on *.* to 'rootssl'@'santa.claus.ipv4.example.com'; + +set global debug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4"; + +# Setup +# make sure we start with a clean slate. log_tables.test says this is OK. +TRUNCATE TABLE mysql.general_log; + +SET @old_log_output= @@global.log_output; +SET @old_general_log= @@global.general_log; +SET @old_general_log_file= @@global.general_log_file; + +--replace_result $MYSQLTEST_VARDIR ... +eval SET GLOBAL general_log_file = '$MYSQLTEST_VARDIR/log/rewrite_general_con.log'; +SET GLOBAL log_output = 'FILE,TABLE'; +SET GLOBAL general_log= 'ON'; + +connect(con1, localhost, root,,); + +--echo "Connection con1" + +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE + from performance_schema.threads + where PROCESSLIST_ID = connection_id(); + +--disconnect con1 + +connect(con2, "127.0.0.1", root,,test,$MASTER_MYPORT,); + +--echo "Connection con2" + +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE + from performance_schema.threads + where PROCESSLIST_ID = connection_id(); + +--disconnect con2 + +connect(con3, "127.0.0.1", rootssl,,test,$MASTER_MYPORT,,SSL); + +--echo "Connection con3" + +select NAME, PROCESSLIST_USER, PROCESSLIST_HOST, CONNECTION_TYPE + from performance_schema.threads + where PROCESSLIST_ID = connection_id(); + +--disconnect con3 + +--connection default + +SET GLOBAL general_log= 'OFF'; + +# show general-logging to file is correct +CREATE TABLE test_log (argument TEXT); +--replace_result $MYSQLTEST_VARDIR ... +eval LOAD DATA LOCAL INFILE '$MYSQLTEST_VARDIR/log/rewrite_general_con.log' + INTO TABLE test_log FIELDS TERMINATED BY '\n' LINES TERMINATED BY '\n'; + +select user_host, command_type, argument from mysql.general_log + where command_type = "Connect"; + +select substring(argument, locate("Connect", argument)) from test_log + where argument like "%Connect%on test%"; + + +DROP TABLE test_log; + +--remove_file $MYSQLTEST_VARDIR/log/rewrite_general_con.log + +SET GLOBAL general_log_file= @old_general_log_file; +SET GLOBAL general_log= @old_general_log; +SET GLOBAL log_output= @old_log_output; + +--horizontal_results + +set global debug= default; +revoke select on *.* from 'root'@'santa.claus.ipv4.example.com'; +drop user 'root'@'santa.claus.ipv4.example.com'; +revoke select on *.* from 'rootssl'@'santa.claus.ipv4.example.com'; +drop user 'rootssl'@'santa.claus.ipv4.example.com'; diff --git a/mysql-test/suite/perfschema/t/ddl_esms_by_digest.test b/mysql-test/suite/perfschema/t/ddl_esms_by_digest.test index b674dc8d385..4b2a9635636 100644 --- a/mysql-test/suite/perfschema/t/ddl_esms_by_digest.test +++ b/mysql-test/suite/perfschema/t/ddl_esms_by_digest.test @@ -1,18 +1,3 @@ -# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA - # Tests for PERFORMANCE_SCHEMA --source include/not_embedded.inc diff --git a/mysql-test/suite/perfschema/t/ddl_esms_by_program.test b/mysql-test/suite/perfschema/t/ddl_esms_by_program.test new file mode 100644 index 00000000000..0d3341b7905 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_esms_by_program.test @@ -0,0 +1,21 @@ +# This line and the line below is a temporary line for tests that do not need MyISAM in future, but need to be kept for tests that need it. + --source include/have_myisam.inc + +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.events_statements_summary_by_program + add column foo integer; + +truncate table performance_schema.events_statements_summary_by_program; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.events_statements_summary_by_program ADD INDEX test_index(OBJECT_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.events_statements_summary_by_program(OBJECT_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_ets_by_account_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_ets_by_account_by_event_name.test new file mode 100644 index 00000000000..2ec1ddf79b3 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_ets_by_account_by_event_name.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.events_transactions_summary_by_account_by_event_name + add column foo integer; + +truncate table performance_schema.events_transactions_summary_by_account_by_event_name; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.events_transactions_summary_by_account_by_event_name + ADD INDEX test_index(USERNAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.events_transactions_summary_by_account_by_event_name(USERNAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_ets_by_host_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_ets_by_host_by_event_name.test new file mode 100644 index 00000000000..47ae1d197f5 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_ets_by_host_by_event_name.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.events_transactions_summary_by_host_by_event_name + add column foo integer; + +truncate table performance_schema.events_transactions_summary_by_host_by_event_name; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.events_transactions_summary_by_host_by_event_name + ADD INDEX test_index(HOSTNAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.events_transactions_summary_by_host_by_event_name(HOSTNAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_ets_by_thread_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_ets_by_thread_by_event_name.test new file mode 100644 index 00000000000..63cdfd898f3 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_ets_by_thread_by_event_name.test @@ -0,0 +1,18 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.events_transactions_summary_by_thread_by_event_name + add column foo integer; + +truncate table performance_schema.events_transactions_summary_by_thread_by_event_name; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.events_transactions_summary_by_thread_by_event_name ADD INDEX test_index(THREAD_ID); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.events_transactions_summary_by_thread_by_event_name(THREAD_ID); + diff --git a/mysql-test/suite/perfschema/t/ddl_ets_by_user_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_ets_by_user_by_event_name.test new file mode 100644 index 00000000000..9a70075b653 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_ets_by_user_by_event_name.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.events_transactions_summary_by_user_by_event_name + add column foo integer; + +truncate table performance_schema.events_transactions_summary_by_user_by_event_name; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.events_transactions_summary_by_user_by_event_name + ADD INDEX test_index(USERNAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.events_transactions_summary_by_user_by_event_name(USERNAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_ets_global_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_ets_global_by_event_name.test new file mode 100644 index 00000000000..5bb70245bd4 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_ets_global_by_event_name.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.events_transactions_summary_global_by_event_name + add column foo integer; + +truncate table performance_schema.events_transactions_summary_global_by_event_name; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.events_transactions_summary_global_by_event_name + ADD INDEX test_index(EVENT_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.events_transactions_summary_global_by_event_name(EVENT_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_events_stages_current.test b/mysql-test/suite/perfschema/t/ddl_events_stages_current.test index 6085e41a7fd..822600ce6d4 100644 --- a/mysql-test/suite/perfschema/t/ddl_events_stages_current.test +++ b/mysql-test/suite/perfschema/t/ddl_events_stages_current.test @@ -14,3 +14,8 @@ ALTER TABLE performance_schema.events_stages_current ADD INDEX test_index(EVENT_ -- error ER_DBACCESS_DENIED_ERROR CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_current(EVENT_ID); +--disable_query_log +# Checking if the column WORK_COMPLETED and WORK_ESTIMATED exists +select * from information_schema.columns where TABLE_NAME = 'events_stages_current' and column_name in ('WORK_COMPLETED','WORK_ESTIMATED') +and table_schema='performance_schema'; +--enable_query_log diff --git a/mysql-test/suite/perfschema/t/ddl_events_stages_history.test b/mysql-test/suite/perfschema/t/ddl_events_stages_history.test index 1dd186571b2..eac2889e7cb 100644 --- a/mysql-test/suite/perfschema/t/ddl_events_stages_history.test +++ b/mysql-test/suite/perfschema/t/ddl_events_stages_history.test @@ -14,3 +14,8 @@ ALTER TABLE performance_schema.events_stages_history ADD INDEX test_index(EVENT_ -- error ER_DBACCESS_DENIED_ERROR CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_history(EVENT_ID); +--disable_query_log +# Checking if the column WORK_COMPLETED and WORK_ESTIMATED exists +select * from information_schema.columns where TABLE_NAME ='events_stages_history' and column_name in ('WORK_COMPLETED','WORK_ESTIMATED') +and table_schema='performance_schema'; +--enable_query_log diff --git a/mysql-test/suite/perfschema/t/ddl_events_stages_history_long.test b/mysql-test/suite/perfschema/t/ddl_events_stages_history_long.test index 8298500cf6d..2bc78b12674 100644 --- a/mysql-test/suite/perfschema/t/ddl_events_stages_history_long.test +++ b/mysql-test/suite/perfschema/t/ddl_events_stages_history_long.test @@ -14,3 +14,8 @@ ALTER TABLE performance_schema.events_stages_history_long ADD INDEX test_index(E -- error ER_DBACCESS_DENIED_ERROR CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_history_long(EVENT_ID); +--disable_query_log +# Checking if the column WORK_COMPLETED and WORK_ESTIMATED exists +select * from information_schema.columns where TABLE_NAME ='events_stages_history_long' and column_name in ('WORK_COMPLETED','WORK_ESTIMATED') +and table_schema='performance_schema'; +--enable_query_log diff --git a/mysql-test/suite/perfschema/t/ddl_events_transactions_current.test b/mysql-test/suite/perfschema/t/ddl_events_transactions_current.test new file mode 100644 index 00000000000..5f64e65cd1e --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_events_transactions_current.test @@ -0,0 +1,16 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.events_transactions_current add column foo integer; + +truncate table performance_schema.events_transactions_current; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.events_transactions_current ADD INDEX test_index(EVENT_ID); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index ON performance_schema.events_transactions_current(EVENT_ID); + diff --git a/mysql-test/suite/perfschema/t/ddl_events_transactions_history.test b/mysql-test/suite/perfschema/t/ddl_events_transactions_history.test new file mode 100644 index 00000000000..a3b0cdded5e --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_events_transactions_history.test @@ -0,0 +1,16 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.events_transactions_history add column foo integer; + +truncate table performance_schema.events_transactions_history; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.events_transactions_history ADD INDEX test_index(EVENT_ID); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index ON performance_schema.events_transactions_history(EVENT_ID); + diff --git a/mysql-test/suite/perfschema/t/ddl_events_transactions_history_long.test b/mysql-test/suite/perfschema/t/ddl_events_transactions_history_long.test new file mode 100644 index 00000000000..1c8d6076f9f --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_events_transactions_history_long.test @@ -0,0 +1,16 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.events_transactions_history_long add column foo integer; + +truncate table performance_schema.events_transactions_history_long; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.events_transactions_history_long ADD INDEX test_index(EVENT_ID); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index ON performance_schema.events_transactions_history_long(EVENT_ID); + diff --git a/mysql-test/suite/perfschema/t/ddl_global_status.test b/mysql-test/suite/perfschema/t/ddl_global_status.test new file mode 100644 index 00000000000..fe65b79ab11 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_global_status.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.global_status + add column foo integer; + +truncate table performance_schema.global_status; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.global_status + ADD INDEX test_index(VARIABLE_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.global_status(VARIABLE_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_global_variables.test b/mysql-test/suite/perfschema/t/ddl_global_variables.test new file mode 100644 index 00000000000..f9b66a7d41c --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_global_variables.test @@ -0,0 +1,20 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.global_variables + add column foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +truncate table performance_schema.global_variables; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.global_variables + ADD INDEX test_index(VARIABLE_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.global_variables(VARIABLE_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_mems_by_account_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_mems_by_account_by_event_name.test new file mode 100644 index 00000000000..34d08cfe05c --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_mems_by_account_by_event_name.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.memory_summary_by_account_by_event_name + add column foo integer; + +truncate table performance_schema.memory_summary_by_account_by_event_name; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.memory_summary_by_account_by_event_name + ADD INDEX test_index(USERNAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.memory_summary_by_account_by_event_name(USERNAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_mems_by_host_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_mems_by_host_by_event_name.test new file mode 100644 index 00000000000..fc2e8c054e4 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_mems_by_host_by_event_name.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.memory_summary_by_host_by_event_name + add column foo integer; + +truncate table performance_schema.memory_summary_by_host_by_event_name; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.memory_summary_by_host_by_event_name + ADD INDEX test_index(USERNAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.memory_summary_by_host_by_event_name(USERNAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_mems_by_thread_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_mems_by_thread_by_event_name.test new file mode 100644 index 00000000000..d4fdf155710 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_mems_by_thread_by_event_name.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.memory_summary_by_thread_by_event_name + add column foo integer; + +truncate table performance_schema.memory_summary_by_thread_by_event_name; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.memory_summary_by_thread_by_event_name + ADD INDEX test_index(USERNAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.memory_summary_by_thread_by_event_name(USERNAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_mems_by_user_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_mems_by_user_by_event_name.test new file mode 100644 index 00000000000..03e5cebe6a2 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_mems_by_user_by_event_name.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.memory_summary_by_user_by_event_name + add column foo integer; + +truncate table performance_schema.memory_summary_by_user_by_event_name; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.memory_summary_by_user_by_event_name + ADD INDEX test_index(USERNAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.memory_summary_by_user_by_event_name(USERNAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_mems_global_by_event_name.test b/mysql-test/suite/perfschema/t/ddl_mems_global_by_event_name.test new file mode 100644 index 00000000000..a2c48997877 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_mems_global_by_event_name.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.memory_summary_global_by_event_name + add column foo integer; + +truncate table performance_schema.memory_summary_global_by_event_name; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.memory_summary_global_by_event_name + ADD INDEX test_index(USERNAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.memory_summary_global_by_event_name(USERNAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_metadata_locks.test b/mysql-test/suite/perfschema/t/ddl_metadata_locks.test new file mode 100644 index 00000000000..520b8fcd3fb --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_metadata_locks.test @@ -0,0 +1,17 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.metadata_locks add column foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +truncate table performance_schema.metadata_locks; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.metadata_locks ADD INDEX test_index(TIMER_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index ON performance_schema.metadata_locks(TIMER_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_prepared_statements_instances.test b/mysql-test/suite/perfschema/t/ddl_prepared_statements_instances.test new file mode 100644 index 00000000000..2aa0bc962a2 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_prepared_statements_instances.test @@ -0,0 +1,21 @@ +# This line and the line below is a temporary line for tests that do not need MyISAM in future, but need to be kept for tests that need it. + --source include/have_myisam.inc + +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.prepared_statements_instances + add column foo integer; + +truncate table performance_schema.prepared_statements_instances; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.prepared_statements_instances ADD INDEX test_index(OWNER_OBJECT_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.prepared_statements_instances(OWNER_OBJECT_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_replication_applier_configuration.test b/mysql-test/suite/perfschema/t/ddl_replication_applier_configuration.test new file mode 100644 index 00000000000..bc7ef8c28ab --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_replication_applier_configuration.test @@ -0,0 +1,22 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DDLs on the table replication_applier_configuration + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_applier_configuration + ADD COLUMN foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +TRUNCATE TABLE performance_schema.replication_applier_configuration; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_applier_configuration + ADD INDEX test_index(desired_delay); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index ON + performance_schema.replication_applier_configuration(desired_delay); diff --git a/mysql-test/suite/perfschema/t/ddl_replication_applier_status.test b/mysql-test/suite/perfschema/t/ddl_replication_applier_status.test new file mode 100644 index 00000000000..7cf1f656cd5 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_replication_applier_status.test @@ -0,0 +1,22 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DDLs on the table replication_applier_status + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_applier_status + ADD COLUMN foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +TRUNCATE TABLE performance_schema.replication_applier_status; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_applier_status + ADD INDEX test_index(remaining_delay); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index ON + performance_schema.replication_applier_status(remaining_delay); diff --git a/mysql-test/suite/perfschema/t/ddl_replication_applier_status_by_coordinator.test b/mysql-test/suite/perfschema/t/ddl_replication_applier_status_by_coordinator.test new file mode 100644 index 00000000000..0e5f172e2b6 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_replication_applier_status_by_coordinator.test @@ -0,0 +1,22 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DDLs on the table replication_applier_status_by_coordinator + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_applier_status_by_coordinator + ADD COLUMN foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +TRUNCATE TABLE performance_schema.replication_applier_status_by_coordinator; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_applier_status_by_coordinator + ADD INDEX test_index(thread_id); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index ON + performance_schema.replication_applier_status_by_coordinator(thread_id); diff --git a/mysql-test/suite/perfschema/t/ddl_replication_applier_status_by_worker.test b/mysql-test/suite/perfschema/t/ddl_replication_applier_status_by_worker.test new file mode 100644 index 00000000000..c5adf4ea5c5 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_replication_applier_status_by_worker.test @@ -0,0 +1,22 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DDLs on the table replication_applier_status_by_worker. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_applier_status_by_worker + add column foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +TRUNCATE TABLE performance_schema.replication_applier_status_by_worker; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_applier_status_by_worker + ADD INDEX test_index(worker_id); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index ON + performance_schema.replication_applier_status_by_worker(worker_id); diff --git a/mysql-test/suite/perfschema/t/ddl_replication_connection_configuration.test b/mysql-test/suite/perfschema/t/ddl_replication_connection_configuration.test new file mode 100644 index 00000000000..4d1dd2ddc75 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_replication_connection_configuration.test @@ -0,0 +1,22 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DDLs on the table replication_connection_configuration. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_connection_configuration + ADD COLUMN foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +TRUNCATE TABLE performance_schema.replication_connection_configuration; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_connection_configuration + ADD INDEX test_index(HOST); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.replication_connection_configuration(HOST); diff --git a/mysql-test/suite/perfschema/t/ddl_replication_connection_status.test b/mysql-test/suite/perfschema/t/ddl_replication_connection_status.test new file mode 100644 index 00000000000..4420a0dfbd4 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_replication_connection_status.test @@ -0,0 +1,22 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DDLs on the table replication_connection_status. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_connection_status + ADD COLUMN foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +TRUNCATE TABLE performance_schema.replication_connection_status; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_connection_status + ADD INDEX test_index(Thread_Id); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.replication_connection_status(Thread_Id); diff --git a/mysql-test/suite/perfschema/t/ddl_replication_group_member_stats.test b/mysql-test/suite/perfschema/t/ddl_replication_group_member_stats.test new file mode 100644 index 00000000000..eae5ed1281a --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_replication_group_member_stats.test @@ -0,0 +1,21 @@ +# Tests for PERFORMANCE_SCHEMA +# This test verifies the correct behaviour in case of invalid +# Usage of DDLs on the table replication_group_member_stats. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_group_member_stats + ADD COLUMN foo INTEGER; + +--error ER_WRONG_PERFSCHEMA_USAGE +TRUNCATE TABLE performance_schema.replication_group_member_stats; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_group_member_stats + ADD INDEX test_index(Member_Id); + +--error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.replication_group_member_stats(Member_Id); diff --git a/mysql-test/suite/perfschema/t/ddl_replication_group_members.test b/mysql-test/suite/perfschema/t/ddl_replication_group_members.test new file mode 100644 index 00000000000..bcb2c962a50 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_replication_group_members.test @@ -0,0 +1,22 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DDLs on the table replication_group_members. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_group_members + ADD COLUMN foo INTEGER; + +--error ER_WRONG_PERFSCHEMA_USAGE +TRUNCATE TABLE performance_schema.replication_group_members; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.replication_group_members + ADD INDEX test_index(Member_Id); + +--error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.replication_group_members(Member_Id); diff --git a/mysql-test/suite/perfschema/t/ddl_session_status.test b/mysql-test/suite/perfschema/t/ddl_session_status.test new file mode 100644 index 00000000000..5dfa74a0d36 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_session_status.test @@ -0,0 +1,20 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.session_status + add column foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +truncate table performance_schema.session_status; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.session_status + ADD INDEX test_index(VARIABLE_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.session_status(VARIABLE_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_session_variables.test b/mysql-test/suite/perfschema/t/ddl_session_variables.test new file mode 100644 index 00000000000..a649d2bc921 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_session_variables.test @@ -0,0 +1,20 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.session_variables + add column foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +truncate table performance_schema.session_variables; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.session_variables + ADD INDEX test_index(VARIABLE_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.session_variables(VARIABLE_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_setup_actors.test b/mysql-test/suite/perfschema/t/ddl_setup_actors.test index 836fe559d77..73e2c988939 100644 --- a/mysql-test/suite/perfschema/t/ddl_setup_actors.test +++ b/mysql-test/suite/perfschema/t/ddl_setup_actors.test @@ -27,3 +27,5 @@ ALTER TABLE performance_schema.setup_actors ADD INDEX test_index(HOST); -- error ER_DBACCESS_DENIED_ERROR CREATE UNIQUE INDEX test_index ON performance_schema.setup_actors(HOST); +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.setup_actors ADD KEY ENA(ENABLED); diff --git a/mysql-test/suite/perfschema/t/ddl_status_by_account.test b/mysql-test/suite/perfschema/t/ddl_status_by_account.test new file mode 100644 index 00000000000..52f5d72f04d --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_status_by_account.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.status_by_account + add column foo integer; + +truncate table performance_schema.status_by_account; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.status_by_account + ADD INDEX test_index(VARIABLE_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.status_by_account(VARIABLE_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_status_by_host.test b/mysql-test/suite/perfschema/t/ddl_status_by_host.test new file mode 100644 index 00000000000..418880d5c34 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_status_by_host.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.status_by_host + add column foo integer; + +truncate table performance_schema.status_by_host; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.status_by_host + ADD INDEX test_index(VARIABLE_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.status_by_host(VARIABLE_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_status_by_thread.test b/mysql-test/suite/perfschema/t/ddl_status_by_thread.test new file mode 100644 index 00000000000..8ac778a20ae --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_status_by_thread.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.status_by_thread + add column foo integer; + +truncate table performance_schema.status_by_thread; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.status_by_thread + ADD INDEX test_index(VARIABLE_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.status_by_thread(VARIABLE_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_status_by_user.test b/mysql-test/suite/perfschema/t/ddl_status_by_user.test new file mode 100644 index 00000000000..b0d97aebc6b --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_status_by_user.test @@ -0,0 +1,19 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.status_by_user + add column foo integer; + +truncate table performance_schema.status_by_user; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.status_by_user + ADD INDEX test_index(VARIABLE_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.status_by_user(VARIABLE_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_table_handles.test b/mysql-test/suite/perfschema/t/ddl_table_handles.test new file mode 100644 index 00000000000..15ef69f34e0 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_table_handles.test @@ -0,0 +1,17 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.table_handles add column foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +truncate table performance_schema.table_handles; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.table_handles ADD INDEX test_index(TIMER_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index ON performance_schema.table_handles(TIMER_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_uvar_by_thread.test b/mysql-test/suite/perfschema/t/ddl_uvar_by_thread.test new file mode 100644 index 00000000000..d8ccda59872 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_uvar_by_thread.test @@ -0,0 +1,20 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.user_variables_by_thread + add column foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +truncate table performance_schema.user_variables_by_thread; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.user_variables_by_thread + ADD INDEX test_index(VARIABLE_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.user_variables_by_thread(VARIABLE_NAME); + diff --git a/mysql-test/suite/perfschema/t/ddl_variables_by_thread.test b/mysql-test/suite/perfschema/t/ddl_variables_by_thread.test new file mode 100644 index 00000000000..e5d04f09695 --- /dev/null +++ b/mysql-test/suite/perfschema/t/ddl_variables_by_thread.test @@ -0,0 +1,20 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +-- error ER_DBACCESS_DENIED_ERROR +alter table performance_schema.variables_by_thread + add column foo integer; + +-- error ER_WRONG_PERFSCHEMA_USAGE +truncate table performance_schema.variables_by_thread; + +-- error ER_DBACCESS_DENIED_ERROR +ALTER TABLE performance_schema.variables_by_thread + ADD INDEX test_index(VARIABLE_NAME); + +-- error ER_DBACCESS_DENIED_ERROR +CREATE UNIQUE INDEX test_index + ON performance_schema.variables_by_thread(VARIABLE_NAME); + diff --git a/mysql-test/suite/perfschema/t/digest_table_full.test b/mysql-test/suite/perfschema/t/digest_table_full.test index cb9d7ea4ea8..cfdd9c8282b 100644 --- a/mysql-test/suite/perfschema/t/digest_table_full.test +++ b/mysql-test/suite/perfschema/t/digest_table_full.test @@ -24,7 +24,7 @@ SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARN # Expect no digest -SHOW VARIABLES LIKE "performance_schema_digests_size"; +SHOW GLOBAL VARIABLES LIKE "performance_schema_digests_size"; SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest; # Cleanup for Digest diff --git a/mysql-test/suite/perfschema/t/disabled.def b/mysql-test/suite/perfschema/t/disabled.def index 888298bbb09..2dc57ee9ad0 100644 --- a/mysql-test/suite/perfschema/t/disabled.def +++ b/mysql-test/suite/perfschema/t/disabled.def @@ -9,3 +9,4 @@ # Do not use any TAB characters for whitespace. # ############################################################################## +# perfschema.pfs_ccccccc : Bug#nnnnnnnn 2014-09-10 Anitha Frequent failures on PB2 diff --git a/mysql-test/suite/perfschema/t/dml_esms_by_digest.test b/mysql-test/suite/perfschema/t/dml_esms_by_digest.test index 6fdc8ec9fdc..b6ed89151b8 100644 --- a/mysql-test/suite/perfschema/t/dml_esms_by_digest.test +++ b/mysql-test/suite/perfschema/t/dml_esms_by_digest.test @@ -1,18 +1,3 @@ -# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA - # Tests for PERFORMANCE_SCHEMA --source include/not_embedded.inc diff --git a/mysql-test/suite/perfschema/t/dml_esms_by_program.test b/mysql-test/suite/perfschema/t/dml_esms_by_program.test new file mode 100644 index 00000000000..836e5c4ab11 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_esms_by_program.test @@ -0,0 +1,44 @@ +# This line and the line below is a temporary line for tests that do not need MyISAM in future, but need to be kept for tests that need it. + --source include/have_myisam.inc + +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +#--disable_result_log +select * from performance_schema.events_statements_summary_by_program + where object_name like 'XXYYZZ%' limit 1; + +select * from performance_schema.events_statements_summary_by_program + where object_name='XXYYZZ'; +#--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.events_statements_summary_by_program + set object_name='XXYYZZ', count_star=1, sum_timer_wait=2, min_timer_wait=3, + avg_timer_wait=4, max_timer_wait=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_statements_summary_by_program + set count_star=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_statements_summary_by_program + set count_star=12 where object_name like "XXYYZZ"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_statements_summary_by_program + where count_star=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_statements_summary_by_program; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_statements_summary_by_program READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_statements_summary_by_program WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_ets_by_account_by_event_name.test b/mysql-test/suite/perfschema/t/dml_ets_by_account_by_event_name.test new file mode 100644 index 00000000000..ede5f708dd9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_ets_by_account_by_event_name.test @@ -0,0 +1,42 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.events_transactions_summary_by_account_by_event_name + where event_name in ('transaction') limit 1; + +select * from performance_schema.events_transactions_summary_by_account_by_event_name + where event_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.events_transactions_summary_by_account_by_event_name + set event_name='FOO', user='BAR', host='BAZ', + count_star=1, sum_timer_wait=2, min_timer_wait=3, + avg_timer_wait=4, max_timer_wait=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_summary_by_account_by_event_name + set count_star=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_summary_by_account_by_event_name + set count_star=12 where event_name like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_summary_by_account_by_event_name + where count_star=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_summary_by_account_by_event_name; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_summary_by_account_by_event_name READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_summary_by_account_by_event_name WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_ets_by_host_by_event_name.test b/mysql-test/suite/perfschema/t/dml_ets_by_host_by_event_name.test new file mode 100644 index 00000000000..a2163b166fd --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_ets_by_host_by_event_name.test @@ -0,0 +1,42 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.events_transactions_summary_by_host_by_event_name + where event_name in ('transaction') limit 1; + +select * from performance_schema.events_transactions_summary_by_host_by_event_name + where event_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.events_transactions_summary_by_host_by_event_name + set event_name='FOO', thread_id=1, + count_star=1, sum_timer_wait=2, min_timer_wait=3, + avg_timer_wait=4, max_timer_wait=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_summary_by_host_by_event_name + set count_star=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_summary_by_host_by_event_name + set count_star=12 where event_name like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_summary_by_host_by_event_name + where count_star=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_summary_by_host_by_event_name; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_summary_by_host_by_event_name READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_summary_by_host_by_event_name WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_ets_by_thread_by_event_name.test b/mysql-test/suite/perfschema/t/dml_ets_by_thread_by_event_name.test new file mode 100644 index 00000000000..bbbb0cadcf2 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_ets_by_thread_by_event_name.test @@ -0,0 +1,42 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.events_transactions_summary_by_thread_by_event_name + where event_name in ('transaction') limit 1; + +select * from performance_schema.events_transactions_summary_by_thread_by_event_name + where event_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.events_transactions_summary_by_thread_by_event_name + set event_name='FOO', thread_id=1, + count_star=1, sum_timer_wait=2, min_timer_wait=3, + avg_timer_wait=4, max_timer_wait=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_summary_by_thread_by_event_name + set count_star=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_summary_by_thread_by_event_name + set count_star=12 where event_name like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_summary_by_thread_by_event_name + where count_star=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_summary_by_thread_by_event_name; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_summary_by_thread_by_event_name READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_summary_by_thread_by_event_name WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_ets_by_user_by_event_name.test b/mysql-test/suite/perfschema/t/dml_ets_by_user_by_event_name.test new file mode 100644 index 00000000000..dcca969c041 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_ets_by_user_by_event_name.test @@ -0,0 +1,42 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.events_transactions_summary_by_user_by_event_name + where event_name in ('transaction') limit 1; + +select * from performance_schema.events_transactions_summary_by_user_by_event_name + where event_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.events_transactions_summary_by_user_by_event_name + set event_name='FOO', user='BAR', + count_star=1, sum_timer_wait=2, min_timer_wait=3, + avg_timer_wait=4, max_timer_wait=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_summary_by_user_by_event_name + set count_star=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_summary_by_user_by_event_name + set count_star=12 where event_name like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_summary_by_user_by_event_name + where count_star=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_summary_by_user_by_event_name; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_summary_by_user_by_event_name READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_summary_by_user_by_event_name WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_ets_global_by_event_name.test b/mysql-test/suite/perfschema/t/dml_ets_global_by_event_name.test new file mode 100644 index 00000000000..f5c11cf8fda --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_ets_global_by_event_name.test @@ -0,0 +1,41 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.events_transactions_summary_global_by_event_name + where event_name in ('transaction') limit 1; + +select * from performance_schema.events_transactions_summary_global_by_event_name + where event_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.events_transactions_summary_global_by_event_name + set event_name='FOO', count_star=1, sum_timer_wait=2, min_timer_wait=3, + avg_timer_wait=4, max_timer_wait=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_summary_global_by_event_name + set count_star=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_summary_global_by_event_name + set count_star=12 where event_name like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_summary_global_by_event_name + where count_star=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_summary_global_by_event_name; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_summary_global_by_event_name READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_summary_global_by_event_name WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_events_transactions_current.test b/mysql-test/suite/perfschema/t/dml_events_transactions_current.test new file mode 100644 index 00000000000..99ab2eda766 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_events_transactions_current.test @@ -0,0 +1,41 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.events_transactions_current + where event_name in ('transaction') limit 1; + +select * from performance_schema.events_transactions_current + where event_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.events_transactions_current + set thread_id='1', event_id=1, + event_name='FOO', timer_start=1, timer_end=2, timer_wait=3; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_current + set timer_start=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_current + set timer_start=12 where thread_id=0; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_current + where thread_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_current; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_current READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_current WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_events_transactions_history.test b/mysql-test/suite/perfschema/t/dml_events_transactions_history.test new file mode 100644 index 00000000000..dfad802f219 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_events_transactions_history.test @@ -0,0 +1,47 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.events_transactions_history + where event_name in ('transaction') limit 1; + +select * from performance_schema.events_transactions_history + where event_name='FOO'; + +select * from performance_schema.events_transactions_history + where event_name in ('transaction') order by timer_wait limit 1; + +select * from performance_schema.events_transactions_history + where event_name in ('transaction') order by timer_wait desc limit 1; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.events_transactions_history + set thread_id='1', event_id=1, + event_name='FOO', timer_start=1, timer_end=2, timer_wait=3; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_history + set timer_start=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_history + set timer_start=12 where thread_id=0; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_history + where thread_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_history; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_history READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_history WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_events_transactions_history_long.test b/mysql-test/suite/perfschema/t/dml_events_transactions_history_long.test new file mode 100644 index 00000000000..b78f3e167d9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_events_transactions_history_long.test @@ -0,0 +1,47 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.events_transactions_history_long + where event_name in ('transaction') limit 1; + +select * from performance_schema.events_transactions_history_long + where event_name='FOO'; + +select * from performance_schema.events_transactions_history_long + where event_name in ('transaction') order by timer_wait limit 1; + +select * from performance_schema.events_transactions_history_long + where event_name in ('transaction') order by timer_wait desc limit 1; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.events_transactions_history_long + set thread_id='1', event_id=1, + event_name='FOO', timer_start=1, timer_end=2, timer_wait=3; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_history_long + set timer_start=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.events_transactions_history_long + set timer_start=12 where thread_id=0; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_history_long + where thread_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.events_transactions_history_long; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_history_long READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.events_transactions_history_long WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_global_status.test b/mysql-test/suite/perfschema/t/dml_global_status.test new file mode 100644 index 00000000000..65f7c3f5564 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_global_status.test @@ -0,0 +1,36 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.global_status + where variable_name like 'bytes_%' limit 1; + +select * from performance_schema.global_status + where variable_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.global_status + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.global_status + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.global_status + where variable_name <> 'FOO'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.global_status; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.global_status READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.global_status WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_global_variables.test b/mysql-test/suite/perfschema/t/dml_global_variables.test new file mode 100644 index 00000000000..20507732818 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_global_variables.test @@ -0,0 +1,36 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.global_variables + where variable_name like 'autocommit%' limit 1; + +select * from performance_schema.global_variables + where variable_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.global_variables + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.global_variables + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.global_variables + where variable_name <> 'FOO'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.global_variables; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.global_variables READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.global_variables WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_mems_by_account_by_event_name.test b/mysql-test/suite/perfschema/t/dml_mems_by_account_by_event_name.test new file mode 100644 index 00000000000..a620f586553 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_mems_by_account_by_event_name.test @@ -0,0 +1,42 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.memory_summary_by_account_by_event_name + where event_name like 'memory/%' limit 1; + +select * from performance_schema.memory_summary_by_account_by_event_name + where event_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.memory_summary_by_account_by_event_name + set event_name='FOO', user='BAR', host='BAZ', + count_alloc=1, count_free=2, sum_number_of_bytes_alloc=3, + sum_number_of_bytes_free=4, low_count_used=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.memory_summary_by_account_by_event_name + set count_alloc=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.memory_summary_by_account_by_event_name + set count_alloc=12 where event_name like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.memory_summary_by_account_by_event_name + where count_alloc=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.memory_summary_by_account_by_event_name; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.memory_summary_by_account_by_event_name READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.memory_summary_by_account_by_event_name WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_mems_by_host_by_event_name.test b/mysql-test/suite/perfschema/t/dml_mems_by_host_by_event_name.test new file mode 100644 index 00000000000..71c21457691 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_mems_by_host_by_event_name.test @@ -0,0 +1,42 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.memory_summary_by_host_by_event_name + where event_name like 'memory/%' limit 1; + +select * from performance_schema.memory_summary_by_host_by_event_name + where event_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.memory_summary_by_host_by_event_name + set event_name='FOO', host='BAZ', + count_alloc=1, count_free=2, sum_number_of_bytes_alloc=3, + sum_number_of_bytes_free=4, low_count_used=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.memory_summary_by_host_by_event_name + set count_alloc=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.memory_summary_by_host_by_event_name + set count_alloc=12 where event_name like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.memory_summary_by_host_by_event_name + where count_alloc=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.memory_summary_by_host_by_event_name; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.memory_summary_by_host_by_event_name READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.memory_summary_by_host_by_event_name WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_mems_by_thread_by_event_name.test b/mysql-test/suite/perfschema/t/dml_mems_by_thread_by_event_name.test new file mode 100644 index 00000000000..5a75dbe78f2 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_mems_by_thread_by_event_name.test @@ -0,0 +1,42 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.memory_summary_by_thread_by_event_name + where event_name like 'memory/%' limit 1; + +select * from performance_schema.memory_summary_by_thread_by_event_name + where event_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.memory_summary_by_thread_by_event_name + set event_name='FOO', thread_id=12, + count_alloc=1, count_free=2, sum_number_of_bytes_alloc=3, + sum_number_of_bytes_free=4, low_count_used=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.memory_summary_by_thread_by_event_name + set count_alloc=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.memory_summary_by_thread_by_event_name + set count_alloc=12 where event_name like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.memory_summary_by_thread_by_event_name + where count_alloc=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.memory_summary_by_thread_by_event_name; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.memory_summary_by_thread_by_event_name READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.memory_summary_by_thread_by_event_name WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_mems_by_user_by_event_name.test b/mysql-test/suite/perfschema/t/dml_mems_by_user_by_event_name.test new file mode 100644 index 00000000000..3cf63097356 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_mems_by_user_by_event_name.test @@ -0,0 +1,42 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.memory_summary_by_user_by_event_name + where event_name like 'memory/%' limit 1; + +select * from performance_schema.memory_summary_by_user_by_event_name + where event_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.memory_summary_by_user_by_event_name + set event_name='FOO', user='BAR', + count_alloc=1, count_free=2, sum_number_of_bytes_alloc=3, + sum_number_of_bytes_free=4, low_count_used=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.memory_summary_by_user_by_event_name + set count_alloc=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.memory_summary_by_user_by_event_name + set count_alloc=12 where event_name like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.memory_summary_by_user_by_event_name + where count_alloc=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.memory_summary_by_user_by_event_name; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.memory_summary_by_user_by_event_name READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.memory_summary_by_user_by_event_name WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_mems_global_by_event_name.test b/mysql-test/suite/perfschema/t/dml_mems_global_by_event_name.test new file mode 100644 index 00000000000..4e716dc668f --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_mems_global_by_event_name.test @@ -0,0 +1,42 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.memory_summary_global_by_event_name + where event_name like 'memory/%' limit 1; + +select * from performance_schema.memory_summary_global_by_event_name + where event_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.memory_summary_global_by_event_name + set event_name='FOO', + count_alloc=1, count_free=2, sum_number_of_bytes_alloc=3, + sum_number_of_bytes_free=4, low_count_used=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.memory_summary_global_by_event_name + set count_alloc=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.memory_summary_global_by_event_name + set count_alloc=12 where event_name like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.memory_summary_global_by_event_name + where count_alloc=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.memory_summary_global_by_event_name; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.memory_summary_global_by_event_name READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.memory_summary_global_by_event_name WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_metadata_locks.test b/mysql-test/suite/perfschema/t/dml_metadata_locks.test new file mode 100644 index 00000000000..d4ace2c708b --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_metadata_locks.test @@ -0,0 +1,35 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.metadata_locks; +--enable_result_log + +select * from performance_schema.metadata_locks + where object_name='foo'; + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.metadata_locks + set object_name='FOO', owner_thread_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.metadata_locks + set owner_thread_id=12 where object_name='foo'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.metadata_locks; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.metadata_locks + where timer_name='CYCLE'; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.metadata_locks READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.metadata_locks WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_prepared_statements_instances.test b/mysql-test/suite/perfschema/t/dml_prepared_statements_instances.test new file mode 100644 index 00000000000..bf17c3d56c7 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_prepared_statements_instances.test @@ -0,0 +1,43 @@ +# This line and the line below is a temporary line for tests that do not need MyISAM in future, but need to be kept for tests that need it. + --source include/have_myisam.inc + +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +#--disable_result_log +select * from performance_schema.prepared_statements_instances + where owner_object_name like 'XXYYZZ%' limit 1; + +select * from performance_schema.prepared_statements_instances + where owner_object_name='XXYYZZ'; +#--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.prepared_statements_instances + set owner_object_name='XXYYZZ', count_execute=1, sum_timer_execute=2, + min_timer_execute=3, avg_timer_execute=4, max_timer_execute=5; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.prepared_statements_instances set count_execute=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.prepared_statements_instances + set count_execute=12 where owner_object_name like "XXYYZZ"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.prepared_statements_instances + where count_execute=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.prepared_statements_instances; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.prepared_statements_instances READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.prepared_statements_instances WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_replication_applier_configuration.test b/mysql-test/suite/perfschema/t/dml_replication_applier_configuration.test new file mode 100644 index 00000000000..f465e8f7c0c --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_replication_applier_configuration.test @@ -0,0 +1,38 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DMLs on the table replication_applier_configuration. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +SELECT * FROM performance_schema.replication_applier_configuration + LIMIT 1; + +sELECT * FROM performance_schema.replication_applier_configuration + WHERE desired_delay=12; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +INSERT INTO performance_schema.replication_applier_configuration + SET desired_delay=2; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_applier_configuration + SET desired_delay=12 WHERE desired_delay=2; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_applier_configuration + WHERE desired_delay=12; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_applier_configuration; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_applier_configuration READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_applier_configuration WRITE; +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/t/dml_replication_applier_status.test b/mysql-test/suite/perfschema/t/dml_replication_applier_status.test new file mode 100644 index 00000000000..d2738c1c099 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_replication_applier_status.test @@ -0,0 +1,42 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DMLs on the table replication_applier_status. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +SELECT * FROM performance_schema.replication_applier_status + LIMIT 1; + +SELECT * FROM performance_schema.replication_applier_status + WHERE service_state='YES' OR remaining_delay=12; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +INSERT INTO performance_schema.replication_applier_status + SET service_state='YES', remaining_delay=12; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_applier_status + SET remaining_delay=12; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_applier_status + SET remaining_delay=12 WHERE service_state='YES'; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_applier_status + WHERE service_state='YES'; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_applier_status; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_applier_status READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_applier_status WRITE; +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/t/dml_replication_applier_status_by_coordinator.test b/mysql-test/suite/perfschema/t/dml_replication_applier_status_by_coordinator.test new file mode 100644 index 00000000000..6c1b82b823c --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_replication_applier_status_by_coordinator.test @@ -0,0 +1,43 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DMLs on the table replication_applier_status_by_coordinator + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +SELECT * FROM performance_schema.replication_applier_status_by_coordinator + LIMIT 1; + +SELECT * FROM performance_schema.replication_applier_status_by_coordinator + WHERE service_state='YES' or last_error_message='ERROR'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +INSERT INTO performance_schema.replication_applier_status_by_coordinator + SET service_state='YES', last_error_message='ERROR', thread_id=2, + last_error_number=1234; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_applier_status_by_coordinator + SET last_error_number=1234; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_applier_status_by_coordinator + SET last_error_number=1234 where service_state like "YES"; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_applier_status_by_coordinator + WHERE thread_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_applier_status_by_coordinator; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_applier_status_by_coordinator READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_applier_status_by_coordinator WRITE; +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/t/dml_replication_applier_status_by_worker.test b/mysql-test/suite/perfschema/t/dml_replication_applier_status_by_worker.test new file mode 100644 index 00000000000..53f50935258 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_replication_applier_status_by_worker.test @@ -0,0 +1,43 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DMLs on the table replication_applier_status_by_worker. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +SELECT * FROM performance_schema.replication_applier_status_by_worker + LIMIT 1; + +SELECT * FROM performance_schema.replication_applier_status_by_worker + WHERE service_state='YES' OR last_error_message='ERROR'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +INSERT INTO performance_schema.replication_applier_status_by_worker + SET service_state='YES', last_error_message='ERROR', + worker_id=1, thread_id=2, last_error_number=1234; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_applier_status_by_worker + SET worker_id=12; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_applier_status_by_worker + SET worker_d=12 where service_state like "YES"; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_applier_status_by_worker + WHERE worker_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_applier_status_by_worker; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_applier_status_by_worker READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_applier_status_by_worker WRITE; +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/t/dml_replication_connection_configuration.test b/mysql-test/suite/perfschema/t/dml_replication_connection_configuration.test new file mode 100644 index 00000000000..b787cbf8f63 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_replication_connection_configuration.test @@ -0,0 +1,43 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DMLs on the table replication_connection_configuration. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +SELECT * FROM performance_schema.replication_connection_configuration + LIMIT 1; + +SELECT * FROM performance_schema.replication_connection_configuration + WHERE user='FOO' or host='BAR'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +INSERT INTO performance_schema.replication_connection_configuration + SET user='FOO', host='BAR', + port=1, connection_retry_count=2; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_connection_configuration + SET connection_retry_interval=12; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_connection_configuration + SET connection_retry_interval=12 WHERE host LIKE "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_connection_configuration + WHERE connection_retry_count=1; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_connection_configuration; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_connection_configuration READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_connection_configuration WRITE; +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/t/dml_replication_connection_status.test b/mysql-test/suite/perfschema/t/dml_replication_connection_status.test new file mode 100644 index 00000000000..207ee9f5b32 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_replication_connection_status.test @@ -0,0 +1,43 @@ +# Tests for PERFORMANCE_SCHEMA + +# This test verifies the correct behaviour in case of invalid +# usage of DMLs on the table replication_connection_status. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +SELECT * FROM performance_schema.replication_connection_status + LIMIT 1; + +SELECT * FROM performance_schema.replication_connection_status + WHERE received_transaction_set='FOO' OR last_error_message='BAR'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +INSERT INTO performance_schema.replication_connection_status + SET received_transaction_set='FOO', last_error_message='BAR', + thread_id=1, last_error_number=2; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_connection_status + SET last_error_number=12; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_connection_status + SET thread_id=12 WHERE received_transaction_set like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_connection_status + WHERE last_error_number=1; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_connection_status; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_connection_status READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_connection_status WRITE; +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/t/dml_replication_group_member_stats.test b/mysql-test/suite/perfschema/t/dml_replication_group_member_stats.test new file mode 100644 index 00000000000..db42ce2d7de --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_replication_group_member_stats.test @@ -0,0 +1,38 @@ +# This test verifies the correct behaviour in case of invalid +# usage of DMLs on the table replication_group_member_stats + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +SELECT * FROM performance_schema.replication_group_member_stats + LIMIT 1; + +SELECT * FROM performance_schema.replication_group_member_stats + WHERE channel_name='FOO'; + +--error ER_TABLEACCESS_DENIED_ERROR +INSERT INTO performance_schema.replication_group_member_stats + SET channel_name='FOO', node_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_group_member_stats + SET member_id=12; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_group_member_stats + SET member_id=12 WHERE group_name LIKE "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_group_member_stats + WHERE member_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_group_member_stats; + +--error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_group_member_stats READ; +UNLOCK TABLES; + +--error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_group_member_stats WRITE; +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/t/dml_replication_group_members.test b/mysql-test/suite/perfschema/t/dml_replication_group_members.test new file mode 100644 index 00000000000..1a49b2d162f --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_replication_group_members.test @@ -0,0 +1,40 @@ +# This test verifies the correct behaviour in case of invalid +# usage of DMLs on the table replication_group_members. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +SELECT * FROM performance_schema.replication_group_members + LIMIT 1; + +SELECT * FROM performance_schema.replication_group_members + WHERE channel_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +INSERT INTO performance_schema.replication_group_members + SET channel_name='FOO', member_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_group_members + SET member_id=12; + +--error ER_TABLEACCESS_DENIED_ERROR +UPDATE performance_schema.replication_group_members + SET member_id=12 WHERE channel_name LIKE "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_group_members + WHERE member_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +DELETE FROM performance_schema.replication_group_members; + +--error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_group_members READ; +UNLOCK TABLES; + +--error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.replication_group_members WRITE; +UNLOCK TABLES; diff --git a/mysql-test/suite/perfschema/t/dml_session_status.test b/mysql-test/suite/perfschema/t/dml_session_status.test new file mode 100644 index 00000000000..c5995738636 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_session_status.test @@ -0,0 +1,36 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.session_status + where variable_name like 'bytes_%' limit 1; + +select * from performance_schema.session_status + where variable_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.session_status + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.session_status + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.session_status + where variable_name <> 'FOO'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.session_status; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.session_status READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.session_status WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_session_variables.test b/mysql-test/suite/perfschema/t/dml_session_variables.test new file mode 100644 index 00000000000..0640ce05ebb --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_session_variables.test @@ -0,0 +1,36 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.session_variables + where variable_name like 'bytes_%' limit 1; + +select * from performance_schema.session_variables + where variable_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.session_variables + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.session_variables + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.session_variables + where variable_name <> 'FOO'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.session_variables; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.session_variables READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.session_variables WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_setup_actors.test b/mysql-test/suite/perfschema/t/dml_setup_actors.test index d5424cad7e3..f74fa9b5581 100644 --- a/mysql-test/suite/perfschema/t/dml_setup_actors.test +++ b/mysql-test/suite/perfschema/t/dml_setup_actors.test @@ -10,6 +10,16 @@ drop table if exists test.setup_actors; # Save the setup create table test.setup_actors as select * from performance_schema.setup_actors; + +# Inserting Duplicate values in the table should +# throw error +--error ER_DUP_KEY +insert into performance_schema.setup_actors + values ('%','%','%','YES', 'YES'); +--error ER_DUP_KEY +insert into performance_schema.setup_actors + values ('%','%','%','NO', 'NO'); + truncate table performance_schema.setup_actors; select * from performance_schema.setup_actors; @@ -29,6 +39,16 @@ insert into performance_schema.setup_actors insert into performance_schema.setup_actors set user='%', host='%'; +# Insert with wrong value for ENABLED column +--error 1265 +insert into performance_schema.setup_actors + values ('localhost', 'user1', '%', 'NO%', 'NO'); + +# Insert with wrong value for HISTORY column +--error 1265 +insert into performance_schema.setup_actors + values ('localhost', 'user1', '%', 'NO', 'KO'); + select * from performance_schema.setup_actors order by USER, HOST; @@ -44,6 +64,44 @@ update performance_schema.setup_actors update performance_schema.setup_actors set role='ILLEGAL'; +# update on ENABLED column is allowed +update performance_schema.setup_actors + set ENABLED='YES'; + +# update on HISTORY column is allowed +update performance_schema.setup_actors + set HISTORY='YES'; + +# update on ENABLED column with wrong values +#throws error +--error 1265 +update performance_schema.setup_actors + set ENABLED=''; + +--error 1265 +update performance_schema.setup_actors + set ENABLED='YESS'; + +--error 1265 +update performance_schema.setup_actors + set ENABLED='NO%'; + +--error ER_BAD_NULL_ERROR +update performance_schema.setup_actors + set ENABLED=NULL; + +--error 1265 +update performance_schema.setup_actors + set HISTORY='YESS'; + +--error 1265 +update performance_schema.setup_actors + set HISTORY='NO%'; + +--error ER_BAD_NULL_ERROR +update performance_schema.setup_actors + set HISTORY=NULL; + select * from performance_schema.setup_actors order by USER, HOST; @@ -64,6 +122,17 @@ UNLOCK TABLES; LOCK TABLES performance_schema.setup_actors WRITE; UNLOCK TABLES; +--echo # +--echo # WL#2284: Increase the length of a user name +--echo # + +insert into performance_schema.setup_actors + set user='user_name_len_22_01234', host='localhost'; + +delete from performance_schema.setup_actors + where user = 'user_name_len_22_01234' and host = 'localhost'; + + # Restore the setup truncate table performance_schema.setup_actors; insert into performance_schema.setup_actors diff --git a/mysql-test/suite/perfschema/t/dml_setup_instruments.test b/mysql-test/suite/perfschema/t/dml_setup_instruments.test index 8a4f11ba51f..3acf9c24e18 100644 --- a/mysql-test/suite/perfschema/t/dml_setup_instruments.test +++ b/mysql-test/suite/perfschema/t/dml_setup_instruments.test @@ -30,12 +30,17 @@ select * from performance_schema.setup_instruments # COND_handler_count is dependent on the build (Windows only) # DEBUG_SYNC::cond is dependent on the build (DEBUG only) +# COND_main_thread_in_use is dependent on the build (non Windows) +# COND_start_signal_handler is dependent on the build (non Windows) select * from performance_schema.setup_instruments where name like 'Wait/Synch/Cond/sql/%' and name not in ( + 'wait/synch/cond/sql/COND_open', 'wait/synch/cond/sql/COND_handler_count', - 'wait/synch/cond/sql/DEBUG_SYNC::cond') + 'wait/synch/cond/sql/DEBUG_SYNC::cond', + 'wait/synch/cond/sql/COND_socket_listener_active', + 'wait/synch/cond/sql/COND_start_signal_handler') order by name limit 10; --disable_result_log @@ -88,3 +93,9 @@ UNLOCK TABLES; --echo UPDATE performance_schema.setup_instruments SET timed='NO' ORDER BY RAND(); + +# Test cleanup + +update performance_schema.setup_instruments + set enabled='YES', TIMED='YES'; + diff --git a/mysql-test/suite/perfschema/t/dml_setup_objects.test b/mysql-test/suite/perfschema/t/dml_setup_objects.test index 29594bf32f9..cb33dd082b3 100644 --- a/mysql-test/suite/perfschema/t/dml_setup_objects.test +++ b/mysql-test/suite/perfschema/t/dml_setup_objects.test @@ -6,7 +6,7 @@ --disable_warnings drop table if exists test.setup_objects; --enable_warnings - +SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; # Save the setup create table test.setup_objects as select * from performance_schema.setup_objects; @@ -90,4 +90,4 @@ truncate table performance_schema.setup_objects; insert into performance_schema.setup_objects select * from test.setup_objects; drop table test.setup_objects; - +SET sql_mode = default; diff --git a/mysql-test/suite/perfschema/t/dml_setup_timers.test b/mysql-test/suite/perfschema/t/dml_setup_timers.test index 641ac90b1c5..ce71a4a7342 100644 --- a/mysql-test/suite/perfschema/t/dml_setup_timers.test +++ b/mysql-test/suite/perfschema/t/dml_setup_timers.test @@ -11,6 +11,8 @@ update performance_schema.setup_timers update performance_schema.setup_timers set timer_name='NANOSECOND' where name="statement"; update performance_schema.setup_timers + set timer_name='MICROSECOND' where name="transaction"; +update performance_schema.setup_timers set timer_name='MICROSECOND' where name="idle"; select * from performance_schema.setup_timers; @@ -59,6 +61,8 @@ update performance_schema.setup_timers update performance_schema.setup_timers set timer_name='NANOSECOND' where name="statement"; update performance_schema.setup_timers + set timer_name='MICROSECOND' where name="transaction"; +update performance_schema.setup_timers set timer_name='MICROSECOND' where name="idle"; select * from performance_schema.setup_timers; diff --git a/mysql-test/suite/perfschema/t/dml_status_by_account.test b/mysql-test/suite/perfschema/t/dml_status_by_account.test new file mode 100644 index 00000000000..5b31a572955 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_status_by_account.test @@ -0,0 +1,40 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.status_by_account + where variable_name like 'bytes_%' limit 1; + +select * from performance_schema.status_by_account + where variable_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.status_by_account + set user='USER', host='HOST', variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.status_by_account + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.status_by_account + set variable_name='FOO' where user <> 'USER'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.status_by_account + where user <> 'USER'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.status_by_account; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.status_by_account READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.status_by_account WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_status_by_host.test b/mysql-test/suite/perfschema/t/dml_status_by_host.test new file mode 100644 index 00000000000..6c5c4462688 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_status_by_host.test @@ -0,0 +1,40 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.status_by_host + where variable_name like 'bytes_%' limit 1; + +select * from performance_schema.status_by_host + where variable_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.status_by_host + set host='HOST', variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.status_by_host + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.status_by_host + set variable_name='FOO' where host <> 'HOST'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.status_by_host + where host <> 'HOST'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.status_by_host; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.status_by_host READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.status_by_host WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_status_by_thread.test b/mysql-test/suite/perfschema/t/dml_status_by_thread.test new file mode 100644 index 00000000000..09022b05a47 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_status_by_thread.test @@ -0,0 +1,40 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.status_by_thread + where variable_name like 'bytes_%' limit 1; + +select * from performance_schema.status_by_thread + where variable_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.status_by_thread + set thread_id=1, variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.status_by_thread + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.status_by_thread + set variable_name='FOO' where thread_id=0; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.status_by_thread + where thread_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.status_by_thread; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.status_by_thread READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.status_by_thread WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_status_by_user.test b/mysql-test/suite/perfschema/t/dml_status_by_user.test new file mode 100644 index 00000000000..25cba557228 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_status_by_user.test @@ -0,0 +1,40 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.status_by_user + where variable_name like 'bytes_%' limit 1; + +select * from performance_schema.status_by_user + where variable_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.status_by_user + set user='USER', variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.status_by_user + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.status_by_user + set variable_name='FOO' where user <> 'USER'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.status_by_user + where user <> 'USER'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.status_by_user; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.status_by_user READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.status_by_user WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_table_handles.test b/mysql-test/suite/perfschema/t/dml_table_handles.test new file mode 100644 index 00000000000..31f5fe0bc46 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_table_handles.test @@ -0,0 +1,35 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.table_handles; +--enable_result_log + +select * from performance_schema.table_handles + where object_name='foo'; + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.table_handles + set object_name='FOO', owner_event_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.table_handles + set owner_event_id=12 where object_name='foo'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.table_handles; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.table_handles + where timer_name='CYCLE'; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.table_handles READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.table_handles WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/dml_uvar_by_thread.test b/mysql-test/suite/perfschema/t/dml_uvar_by_thread.test new file mode 100644 index 00000000000..71518d35d1f --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_uvar_by_thread.test @@ -0,0 +1,48 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.user_variables_by_thread + where variable_name like 'foo%' limit 1; + +select * from performance_schema.user_variables_by_thread + where variable_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.user_variables_by_thread + set thread_id=12, variable_name='foo', variable_value='bar'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.user_variables_by_thread + set thread_id=12; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.user_variables_by_thread + set thread_id=12 where variable_name like "FOO"; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.user_variables_by_thread + where thread_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.user_variables_by_thread; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.user_variables_by_thread READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.user_variables_by_thread WRITE; +UNLOCK TABLES; + +DELIMITER |; +-- error ER_DBACCESS_DENIED_ERROR +CREATE TRIGGER test_uvar_trigger + AFTER INSERT ON performance_schema.user_variables_by_thread + FOR EACH ROW BEGIN + set @a='OK'; +END| +DELIMITER ;| diff --git a/mysql-test/suite/perfschema/t/dml_variables_by_thread.test b/mysql-test/suite/perfschema/t/dml_variables_by_thread.test new file mode 100644 index 00000000000..db087d58ba4 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_variables_by_thread.test @@ -0,0 +1,40 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_result_log +select * from performance_schema.variables_by_thread + where variable_name like 'autocommit%' limit 1; + +select * from performance_schema.variables_by_thread + where variable_name='FOO'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.variables_by_thread + set thread_id=1, variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.variables_by_thread + set variable_name='FOO', variable_value='BAR'; + +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.variables_by_thread + set variable_name='FOO' where thread_id=0; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.variables_by_thread + where thread_id=1; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.variables_by_thread; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.variables_by_thread READ; +UNLOCK TABLES; + +-- error ER_TABLEACCESS_DENIED_ERROR +LOCK TABLES performance_schema.variables_by_thread WRITE; +UNLOCK TABLES; + diff --git a/mysql-test/suite/perfschema/t/event_aggregate.test b/mysql-test/suite/perfschema/t/event_aggregate.test index 2f49fc40190..a67ce6bed3a 100644 --- a/mysql-test/suite/perfschema/t/event_aggregate.test +++ b/mysql-test/suite/perfschema/t/event_aggregate.test @@ -1,7 +1,8 @@ # Tests for the performance schema # - +## To skip the test with QC enabled till BUG#14830950 is fixed. +-- source include/have_QC_Disabled.inc --source ../include/event_aggregate_setup.inc --source ../include/event_aggregate_load.inc --source ../include/event_aggregate_cleanup.inc ---source include/have_QC_Disabled.inc + diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a.test b/mysql-test/suite/perfschema/t/event_aggregate_no_a.test index 2f49fc40190..564667ad03e 100644 --- a/mysql-test/suite/perfschema/t/event_aggregate_no_a.test +++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a.test @@ -1,7 +1,9 @@ # Tests for the performance schema # +## To skip the test with QC enabled till BUG#14830950 is fixed. +-- source include/have_QC_Disabled.inc --source ../include/event_aggregate_setup.inc --source ../include/event_aggregate_load.inc --source ../include/event_aggregate_cleanup.inc ---source include/have_QC_Disabled.inc + diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h.test b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h.test index 2f49fc40190..564667ad03e 100644 --- a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h.test +++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h.test @@ -1,7 +1,9 @@ # Tests for the performance schema # +## To skip the test with QC enabled till BUG#14830950 is fixed. +-- source include/have_QC_Disabled.inc --source ../include/event_aggregate_setup.inc --source ../include/event_aggregate_load.inc --source ../include/event_aggregate_cleanup.inc ---source include/have_QC_Disabled.inc + diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u.test b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u.test index 2f49fc40190..564667ad03e 100644 --- a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u.test +++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u.test @@ -1,7 +1,9 @@ # Tests for the performance schema # +## To skip the test with QC enabled till BUG#14830950 is fixed. +-- source include/have_QC_Disabled.inc --source ../include/event_aggregate_setup.inc --source ../include/event_aggregate_load.inc --source ../include/event_aggregate_cleanup.inc ---source include/have_QC_Disabled.inc + diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h.test b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h.test index 2f49fc40190..564667ad03e 100644 --- a/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h.test +++ b/mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h.test @@ -1,7 +1,9 @@ # Tests for the performance schema # +## To skip the test with QC enabled till BUG#14830950 is fixed. +-- source include/have_QC_Disabled.inc --source ../include/event_aggregate_setup.inc --source ../include/event_aggregate_load.inc --source ../include/event_aggregate_cleanup.inc ---source include/have_QC_Disabled.inc + diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_h.test b/mysql-test/suite/perfschema/t/event_aggregate_no_h.test index 2f49fc40190..564667ad03e 100644 --- a/mysql-test/suite/perfschema/t/event_aggregate_no_h.test +++ b/mysql-test/suite/perfschema/t/event_aggregate_no_h.test @@ -1,7 +1,9 @@ # Tests for the performance schema # +## To skip the test with QC enabled till BUG#14830950 is fixed. +-- source include/have_QC_Disabled.inc --source ../include/event_aggregate_setup.inc --source ../include/event_aggregate_load.inc --source ../include/event_aggregate_cleanup.inc ---source include/have_QC_Disabled.inc + diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_u.test b/mysql-test/suite/perfschema/t/event_aggregate_no_u.test index 2f49fc40190..564667ad03e 100644 --- a/mysql-test/suite/perfschema/t/event_aggregate_no_u.test +++ b/mysql-test/suite/perfschema/t/event_aggregate_no_u.test @@ -1,7 +1,9 @@ # Tests for the performance schema # +## To skip the test with QC enabled till BUG#14830950 is fixed. +-- source include/have_QC_Disabled.inc --source ../include/event_aggregate_setup.inc --source ../include/event_aggregate_load.inc --source ../include/event_aggregate_cleanup.inc ---source include/have_QC_Disabled.inc + diff --git a/mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h.test b/mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h.test index 2f49fc40190..564667ad03e 100644 --- a/mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h.test +++ b/mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h.test @@ -1,7 +1,9 @@ # Tests for the performance schema # +## To skip the test with QC enabled till BUG#14830950 is fixed. +-- source include/have_QC_Disabled.inc --source ../include/event_aggregate_setup.inc --source ../include/event_aggregate_load.inc --source ../include/event_aggregate_cleanup.inc ---source include/have_QC_Disabled.inc + diff --git a/mysql-test/suite/perfschema/t/file_misc-master.opt b/mysql-test/suite/perfschema/t/file_misc-master.opt new file mode 100644 index 00000000000..9d6fb53ff50 --- /dev/null +++ b/mysql-test/suite/perfschema/t/file_misc-master.opt @@ -0,0 +1 @@ +--loose-performance-schema-max-file-instances=0 diff --git a/mysql-test/suite/perfschema/t/file_misc.test b/mysql-test/suite/perfschema/t/file_misc.test new file mode 100644 index 00000000000..e495aa90676 --- /dev/null +++ b/mysql-test/suite/perfschema/t/file_misc.test @@ -0,0 +1,11 @@ + +# Bug#22118669 - ASSERTION `PFS_FILE != __NULL' FAILED + +# Cause a temporary file to be instrumented, +# while there are no file instruments available. + +--disable_result_log +select * from information_schema.columns ORDER BY table_name; +--enable_result_log + + diff --git a/mysql-test/suite/perfschema/t/func_file_io.test b/mysql-test/suite/perfschema/t/func_file_io.test index 2055fa9a008..e29b05b81ff 100644 --- a/mysql-test/suite/perfschema/t/func_file_io.test +++ b/mysql-test/suite/perfschema/t/func_file_io.test @@ -189,5 +189,5 @@ ORDER BY p.processlist_user, h.operation; UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; # In case of failure, will indicate the root cause -show status like "performance_schema%"; +show global status like "performance_schema%"; diff --git a/mysql-test/suite/perfschema/t/func_mutex.test b/mysql-test/suite/perfschema/t/func_mutex.test index 3b0803eaedb..cd412644f43 100644 --- a/mysql-test/suite/perfschema/t/func_mutex.test +++ b/mysql-test/suite/perfschema/t/func_mutex.test @@ -21,7 +21,7 @@ flush status; select NAME from performance_schema.mutex_instances where NAME = 'wait/synch/mutex/sql/LOCK_open'; select NAME from performance_schema.rwlock_instances - where NAME = 'wait/synch/rwlock/sql/LOCK_grant'; + where NAME = 'wait/synch/rwlock/sql/LOCK_grant' limit 1; --disable_warnings DROP TABLE IF EXISTS t1; @@ -130,5 +130,5 @@ DROP TABLE t1; UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; # In case of failure, will indicate the root cause -show status like "performance_schema%"; +show global status like "performance_schema%"; diff --git a/mysql-test/suite/perfschema/t/global_objects-master.opt b/mysql-test/suite/perfschema/t/global_objects-master.opt new file mode 100644 index 00000000000..b00c11c1247 --- /dev/null +++ b/mysql-test/suite/perfschema/t/global_objects-master.opt @@ -0,0 +1 @@ +--loose-performance-schema-instrument='%=OFF' diff --git a/mysql-test/suite/perfschema/t/global_objects.test b/mysql-test/suite/perfschema/t/global_objects.test new file mode 100644 index 00000000000..cf041c14b32 --- /dev/null +++ b/mysql-test/suite/perfschema/t/global_objects.test @@ -0,0 +1,29 @@ + +--source include/not_embedded.inc +--source include/have_perfschema.inc +--source include/no_protocol.inc +--source include/not_windows.inc + +# Bug#79784 update setup_instruments do not affect the global +# mutex/rwlock/cond + +# Verify instruments are off by default, per *.opt file +select count(*) from performance_schema.setup_instruments + where enabled='YES' + and name like "wait/%"; + +# Verify that we have instrumented objects +select count(*) > 0 from performance_schema.mutex_instances; +select count(*) > 0 from performance_schema.rwlock_instances; +select count(*) > 0 from performance_schema.cond_instances; +select count(*) > 0 from performance_schema.socket_instances; + +# Check for some known global objects. +select NAME from performance_schema.mutex_instances + where NAME = "wait/synch/mutex/sql/LOCK_gdl"; +select NAME from performance_schema.rwlock_instances + where NAME = "wait/synch/rwlock/sql/LOCK_system_variables_hash"; +select NAME from performance_schema.cond_instances + where NAME = "wait/synch/cond/sql/COND_server_started"; +select EVENT_NAME from performance_schema.socket_instances + where EVENT_NAME = "wait/io/socket/sql/client_connection"; diff --git a/mysql-test/suite/perfschema/t/global_read_lock.test b/mysql-test/suite/perfschema/t/global_read_lock.test index 1ab6005f7e2..3b775d255a6 100644 --- a/mysql-test/suite/perfschema/t/global_read_lock.test +++ b/mysql-test/suite/perfschema/t/global_read_lock.test @@ -11,7 +11,10 @@ use performance_schema; # Ensure that instrumentation is turned on when we create new connection. update performance_schema.setup_instruments set enabled='YES'; +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant SELECT, UPDATE, LOCK TABLES on performance_schema.* to pfsuser@localhost; +set sql_mode= @orig_sql_mode; flush privileges; --echo connect (con1, localhost, pfsuser, , test); diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_allow.test index 280ee9bd8a4..a80c47c4e7e 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_again_allow.test @@ -18,7 +18,10 @@ call mtr.add_suppression("santa.claus.ipv4.example.com"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'192.0.2.4'; +set sql_mode= @orig_sql_mode; connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test index eccd1b2b1dc..874fe3ac87a 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test @@ -20,7 +20,10 @@ call mtr.add_suppression("santa.claus.ipv4.example.com"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'192.0.2.4'; +set sql_mode= @orig_sql_mode; connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_allow.test index 3a052ba1227..46778804370 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_good_allow.test @@ -18,7 +18,10 @@ call mtr.add_suppression("192.0.2.4"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'santa.claus.ipv4.example.com'; +set sql_mode= @orig_sql_mode; connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_allow.test index 4bf00f0dcf2..dcac9f7c211 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_noname_allow.test @@ -18,8 +18,11 @@ call mtr.add_suppression("santa.claus.ipv4.example.com"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'santa.claus.ipv4.example.com'; grant select on test.* to 'root'@'192.0.2.4'; +set sql_mode= @orig_sql_mode; connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test index 612efd18a82..17296c96cbf 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test @@ -20,7 +20,10 @@ select @@global.max_connect_errors into @saved_max_connect_errors; set global max_connect_errors = 3; +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'santa.claus.ipv4.example.com'; +set sql_mode= @orig_sql_mode; create user 'quota'@'santa.claus.ipv4.example.com'; grant select on test.* to 'quota'@'santa.claus.ipv4.example.com'; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_allow.test index fdd8890ca62..1ea72aff9bb 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_again_allow.test @@ -18,8 +18,11 @@ call mtr.add_suppression("192.0.2.4"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'192.0.2.4'; grant select on test.* to 'root'@'santa.claus.ipv4.example.com'; +set sql_mode= @orig_sql_mode; connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_allow.test index ebce919b82d..174461048e4 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_nameinfo_noname_allow.test @@ -18,7 +18,10 @@ call mtr.add_suppression("192.0.2.4"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'192.0.2.4'; +set sql_mode= @orig_sql_mode; connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow.test index 225db44cb10..a5617956dc4 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_allow.test @@ -19,7 +19,10 @@ call mtr.add_suppression("santa.claus.ipv6.example.com"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'2001:db8::6:6'; +set sql_mode= @orig_sql_mode; connect (con1,"::1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_again_deny-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow.test index 360b87ea622..545a6de8e64 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_allow.test @@ -21,7 +21,10 @@ call mtr.add_suppression("santa.claus.ipv6.example.com"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'2001:db8::6:6'; +set sql_mode= @orig_sql_mode; connect (con1,"::1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow.test index 84c5f3065a7..7b0ea9e3977 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow.test @@ -19,7 +19,10 @@ call mtr.add_suppression("192.0.2.4"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'santa.claus.ipv6.example.com'; +set sql_mode= @orig_sql_mode; connect (con1,"::1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow.test index 2966c75d2b1..943a7ab4551 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow.test @@ -19,8 +19,11 @@ call mtr.add_suppression("santa.claus.ipv6.example.com"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'santa.claus.ipv6.example.com'; grant select on test.* to 'root'@'2001:db8::6:6'; +set sql_mode= @orig_sql_mode; connect (con1,"::1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_deny-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin-master.opt index cf9f065605a..161f9e48626 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_auth_plugin-master.opt @@ -1,3 +1,3 @@ ---bind-addr=:: +--bind-address=:: $PLUGIN_AUTH_OPT $PLUGIN_AUTH_LOAD diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked.test index e6d2c168a16..a094d80361b 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_blocked.test @@ -21,7 +21,10 @@ select @@global.max_connect_errors into @saved_max_connect_errors; set global max_connect_errors = 3; +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'santa.claus.ipv6.example.com'; +set sql_mode= @orig_sql_mode; create user 'quota'@'santa.claus.ipv6.example.com'; grant select on test.* to 'quota'@'santa.claus.ipv6.example.com'; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_max_con-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_max_con-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_max_con-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_max_con-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow.test index 45aaa26fadc..baa3f00cba7 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_allow.test @@ -19,8 +19,11 @@ call mtr.add_suppression("2001:db8::6:6"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'2001:db8::6:6'; grant select on test.* to 'root'@'santa.claus.ipv6.example.com'; +set sql_mode= @orig_sql_mode; connect (con1,"::1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_again_deny-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow.test index 17fb0d25737..006e687cd5b 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow.test +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_allow.test @@ -19,7 +19,10 @@ call mtr.add_suppression("2001:db8::6:6"); --source ../include/wait_for_pfs_thread_count.inc --source ../include/hostcache_set_state.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant select on test.* to 'root'@'2001:db8::6:6'; +set sql_mode= @orig_sql_mode; connect (con1,"::1",root,,test,$MASTER_MYPORT,); select "Con1 is alive"; diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_nameinfo_noname_deny-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_passwd-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_passwd-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_passwd-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_passwd-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv6_ssl-master.opt b/mysql-test/suite/perfschema/t/hostcache_ipv6_ssl-master.opt index a0a6079ec16..c2bb4d156af 100644 --- a/mysql-test/suite/perfschema/t/hostcache_ipv6_ssl-master.opt +++ b/mysql-test/suite/perfschema/t/hostcache_ipv6_ssl-master.opt @@ -1 +1 @@ ---bind-addr=:: +--bind-address=:: diff --git a/mysql-test/suite/perfschema/t/hostcache_peer_addr-master.opt b/mysql-test/suite/perfschema/t/hostcache_peer_addr-master.opt new file mode 100644 index 00000000000..cef79bc8585 --- /dev/null +++ b/mysql-test/suite/perfschema/t/hostcache_peer_addr-master.opt @@ -0,0 +1 @@ +--force-restart diff --git a/mysql-test/suite/perfschema/t/indexed_table_io.test b/mysql-test/suite/perfschema/t/indexed_table_io.test index 1a7597113d2..59fe4dd134d 100644 --- a/mysql-test/suite/perfschema/t/indexed_table_io.test +++ b/mysql-test/suite/perfschema/t/indexed_table_io.test @@ -13,7 +13,7 @@ drop table if exists test.no_index_tab; drop table if exists test.index_tab; --enable_warnings -let $table_io_select= select COUNT(*) +let $table_io_select= select SUM(NUMBER_OF_BYTES) from performance_schema.events_waits_history_long where event_name like 'wait/io/table/%' and object_schema = 'test' @@ -104,7 +104,7 @@ update performance_schema.setup_consumers set enabled='NO'; eval $table_io_select 'index_tab'; # In case of failures, this will tell if table io are lost. -show status like 'performance_schema_%'; +show global status like 'performance_schema_%'; # Cleanup drop table test.no_index_tab; diff --git a/mysql-test/suite/perfschema/t/information_schema.test b/mysql-test/suite/perfschema/t/information_schema.test index 24325710174..a525d427f58 100644 --- a/mysql-test/suite/perfschema/t/information_schema.test +++ b/mysql-test/suite/perfschema/t/information_schema.test @@ -21,9 +21,20 @@ select lower(TABLE_NAME), VERSION, ROW_FORMAT from information_schema.tables where TABLE_SCHEMA='performance_schema'; +# Query status and system variable tables separately because AVG_ROW_LENGTH +# depends upon which plugins are loaded at the time of the query. +# +# TABLE_ROWS is unpredictable with autoscaling buffers +select lower(TABLE_NAME), AVG_ROW_LENGTH + from information_schema.tables + where TABLE_SCHEMA='performance_schema' and + lower(TABLE_NAME) not regexp '^variables|variables$|^status|session_status|global_status'; + +--replace_column 2 table_rows 3 avg_row_len select lower(TABLE_NAME), TABLE_ROWS, AVG_ROW_LENGTH from information_schema.tables - where TABLE_SCHEMA='performance_schema'; + where TABLE_SCHEMA='performance_schema' and + lower(TABLE_NAME) regexp '^variables|variables$|^status|session_status|global_status'; select lower(TABLE_NAME), DATA_LENGTH, MAX_DATA_LENGTH from information_schema.tables @@ -42,9 +53,9 @@ select lower(TABLE_NAME), TABLE_COLLATION, CHECKSUM where TABLE_SCHEMA='performance_schema'; # TABLESPACE_NAME does not exist in 5.4 -# select lower(TABLE_NAME), CREATE_OPTIONS, TABLESPACE_NAME -# from information_schema.tables -# where TABLE_SCHEMA='performance_schema'; +select lower(TABLE_NAME), CREATE_OPTIONS + from information_schema.tables + where TABLE_SCHEMA='performance_schema'; select lower(TABLE_NAME), TABLE_COMMENT from information_schema.tables diff --git a/mysql-test/suite/perfschema/t/io_cache-master.opt b/mysql-test/suite/perfschema/t/io_cache-master.opt new file mode 100644 index 00000000000..8f75ada354c --- /dev/null +++ b/mysql-test/suite/perfschema/t/io_cache-master.opt @@ -0,0 +1,3 @@ +--binlog_cache_size=4096 +--binlog_stmt_cache_size=4096 +--log-bin=master-bin diff --git a/mysql-test/suite/perfschema/t/io_cache.test b/mysql-test/suite/perfschema/t/io_cache.test new file mode 100644 index 00000000000..9da633a5414 --- /dev/null +++ b/mysql-test/suite/perfschema/t/io_cache.test @@ -0,0 +1,121 @@ +################## suite/perfschema/t/io_cache.test################### +# # +# IO_CACHE is a file I/O caching mechanism that uses temporary files # +# when the cache overflows. This test verifies that the temporary # +# files created by the IO_CACHE buffers for the binlog_cache and # +# binlog_stmt_cache are instrumented. # +# # +###################################################################### + +--source include/have_perfschema.inc +--source include/not_embedded.inc +--source include/no_protocol.inc + +--echo +--echo ## Connection default +--echo +--connection default +--disable_warnings +USE test; +DROP TABLE IF EXISTS t1; +--enable_warnings +SELECT @@global.binlog_cache_size; +SELECT @@global.binlog_stmt_cache_size; +SELECT * FROM performance_schema.setup_instruments WHERE name LIKE "%file/sql/io_cache%"; + +--echo +--echo ## Connection con1 +--echo +connect(con1, localhost, root,,); +USE test; +CREATE TABLE t1 (s1 INT, s2 VARCHAR(4096)); +SET SESSION AUTOCOMMIT = 0; + +# +# Force an IO_CACHE overflow and subsequent write to a temporary file. +# +START TRANSACTION; +INSERT INTO t1 VALUES (1,' +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +'); + +INSERT INTO t1 VALUES (2,' +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +'); + +INSERT INTO t1 VALUES (3,' +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +'); + +INSERT INTO t1 VALUES (4,' +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +'); + +INSERT INTO t1 VALUES (5,' +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +'); + +INSERT INTO t1 VALUES (6,' +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +'); + +INSERT INTO t1 VALUES (7,' +gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg +gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg +gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg +gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg +gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg +'); + +INSERT INTO t1 VALUES (8,' +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +'); + +COMMIT; +SELECT COUNT(*) FROM t1; +--disconnect con1 + +--echo +--echo ## Connection default +--echo +--connection default +SELECT COUNT(*) FROM test.t1; + +# +# Verify that IO events on the temporary file. +# +SELECT COUNT(*) FROM performance_schema.file_summary_by_event_name WHERE event_name LIKE "%io_cache%"; + +--connection default +DROP TABLE t1; + + + diff --git a/mysql-test/suite/perfschema/t/max_program_zero-master.opt b/mysql-test/suite/perfschema/t/max_program_zero-master.opt new file mode 100644 index 00000000000..7803f9c5e1b --- /dev/null +++ b/mysql-test/suite/perfschema/t/max_program_zero-master.opt @@ -0,0 +1,3 @@ +--loose-performance_schema_max_program_instances=0 +--loose-performance_schema_max_statement_stack=1 +--thread_stack=655360 diff --git a/mysql-test/suite/perfschema/t/max_program_zero.test b/mysql-test/suite/perfschema/t/max_program_zero.test new file mode 100644 index 00000000000..064ba2ae2d9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/max_program_zero.test @@ -0,0 +1,48 @@ +#------------------------------------------------------------- +# Tests for PERFORMANCE_SCHEMA stored programs instrumentation +#------------------------------------------------------------- + +# +# Test case to show the behaviour of stored program instrumentation +# when values of the system variables performance_schema_max_program_instances & +# performance_schema_max_statement_stack are zero. +# PS table will return empty set +# + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--source ../include/start_server_common.inc + +# Values of variables server variables +show global variables like "performance_schema_max_program_instances"; +show global variables like "performance_schema_max_statement_stack"; + +--echo ##################### +--echo # Setup +--echo ##################### +--source suite/perfschema/include/program_nested_setup.inc + +# Truncate summary table +TRUNCATE performance_schema.events_statements_summary_by_program; + +--echo ##################### +--echo # Executing Queries +--echo ##################### +--source suite/perfschema/include/program_nested_execution.inc + +--echo ########################################### +--echo # Quering PS statement summary table # +--echo ########################################### + +SELECT OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA + FROM performance_schema.events_statements_summary_by_program; + +SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_program; + +--echo ##################### +--echo # Cleanup +--echo ##################### +--source suite/perfschema/include/program_nested_cleanup.inc + + diff --git a/mysql-test/suite/perfschema/t/mdl_func.test b/mysql-test/suite/perfschema/t/mdl_func.test new file mode 100644 index 00000000000..7f422a6e870 --- /dev/null +++ b/mysql-test/suite/perfschema/t/mdl_func.test @@ -0,0 +1,479 @@ +--source include/not_embedded.inc +--source include/have_perfschema.inc + +UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES'; + +UPDATE performance_schema.setup_instruments SET enabled = 'YES' +WHERE name in ('wait/io/table/sql/handler', + 'wait/lock/table/sql/handler', + 'wait/lock/metadata/sql/mdl'); + +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +grant ALL on *.* to user1@localhost; +grant ALL on *.* to user2@localhost; +set sql_mode= @orig_sql_mode; + +insert into performance_schema.setup_objects (object_type, object_schema, object_name, enabled, timed) + values ('TABLE', 'mtr', '%', 'NO', 'NO'); + +--echo # Switch to (con1, localhost, user1, , ) +connect (con1, localhost, user1, , ); + +let $user1_tid=`select THREAD_ID from performance_schema.threads where PROCESSLIST_ID=connection_id()`; + +--echo # Switch to (con2, localhost, user2, , ) +connect (con2, localhost, user2, , ); + +let $user2_tid=`select THREAD_ID from performance_schema.threads where PROCESSLIST_ID=connection_id()`; + +--connection default + +--disable_query_log +--eval set @user1_tid= $user1_tid; +--eval set @user2_tid= $user2_tid; +--enable_query_log + +--disable_warnings +drop function if exists thread_id_name; +--enable_warnings + +--delimiter // + +create function thread_id_name(THREAD_ID int) +returns varchar(16) +begin + if (THREAD_ID IS NULL) + then + return NULL; + end if; + if (THREAD_ID = @user1_tid) + then + return "USER1"; + end if; + if (THREAD_ID = @user2_tid) + then + return "USER2"; + end if; + return "OTHER"; +end; +// + +delimiter ;// + +select thread_id_name(NULL); +select thread_id_name(@user1_tid); +select thread_id_name(@user2_tid); + +prepare dump_metadata_locks from + "select OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, + LOCK_TYPE, LOCK_DURATION, LOCK_STATUS, + thread_id_name(OWNER_THREAD_ID) as OWNER_THREAD_ID + from performance_schema.metadata_locks + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, + LOCK_TYPE, LOCK_DURATION, LOCK_STATUS, OWNER_THREAD_ID;"; + +prepare dump_table_handles from + "select OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, + INTERNAL_LOCK, EXTERNAL_LOCK, + thread_id_name(OWNER_THREAD_ID) as OWNER_THREAD_ID + from performance_schema.table_handles + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, + INTERNAL_LOCK, EXTERNAL_LOCK, OWNER_THREAD_ID;"; + +prepare dump_waits_current from + "select thread_id_name(THREAD_ID) as THREAD_ID, + EVENT_NAME, + TIMER_START is not NULL as TIMER_START_SET, + TIMER_END is not NULL as TIMER_END_SET, + OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, + OPERATION + from performance_schema.events_waits_current + where event_name = \'wait/lock/metadata/sql/mdl\';"; + +prepare dump_waits_history_long from + "select thread_id_name(THREAD_ID) as THREAD_ID, + EVENT_NAME, + TIMER_START is not NULL as TIMER_START_SET, + TIMER_END is not NULL as TIMER_END_SET, + OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME, + OPERATION + from performance_schema.events_waits_history_long + where event_name = \'wait/lock/metadata/sql/mdl\';"; + +# reset lost counters +truncate table performance_schema.events_statements_summary_by_digest; +flush status; + +flush tables; + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +CREATE TABLE t1 (id INT PRIMARY KEY, b CHAR(100) DEFAULT 'initial value'); + +INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5), (6), (7), (8); + +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; + +--connection con1 + +BEGIN; + +# MDL lock granted immediately, no wait. +SELECT * from t1 where id=1; + +--connection default + +echo "---- Marker 1 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con1 + +# The MDL lock is now released +COMMIT; + +--connection default + +echo "---- Marker 2 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con1 + +BEGIN; + +# MDL lock is granted immediately, no wait +UPDATE t1 set b="new value" where id=2; + +--connection default + +echo "---- Marker 3 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con2 + +BEGIN; + +# MDL lock is PENDING : waiting for the update transaction +--send DROP TABLE t1; + +--connection default + +# Wait for the DROP TABLE t1 to block +let $wait_condition= + select count(*) = 1 from performance_schema.events_waits_current + where event_name = 'wait/lock/metadata/sql/mdl' + and object_name = 't1'; +--source include/wait_condition.inc + +echo "---- Marker 4 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con1 + +# MDL lock on the update is released, +# MDL pending lock is granted for the drop table, then released. +COMMIT; + +--connection con2 + +# complete DROP TABLE t1 +--reap + +--connection default + +echo "---- Marker 5 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection default + +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; +create table t1 (a int); + +--connection con1 + +# Get MDL read lock +LOCK TABLE t1 READ; + +--connection default + +echo "---- Marker 6 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con2 + +# User1 has a READ LOCK +# User2 waiting for WRITE LOCK +--send LOCK TABLE t1 write; + +--connection default + +# Wait for the LOCK TABLE t1 write to block +let $wait_condition= + select count(*) = 1 from performance_schema.events_waits_current + where event_name = 'wait/lock/metadata/sql/mdl' + and object_name = 't1'; +--source include/wait_condition.inc + +echo "---- Marker 7 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con1 + +# User1 releases a READ LOCK +# User2 granted a WRITE LOCK +UNLOCK TABLES; + +--connection con2 + +# Complete LOCK TABLE t1 write +--reap + +--connection default + +echo "---- Marker 8 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con1 + +# User2 granted a WRITE LOCK +# User1 waits for a READ LOCK +--send LOCK TABLES t1 read; + +--connection default + +# Wait for the LOCK TABLES t1 READ to block +let $wait_condition= + select count(*) = 1 from performance_schema.events_waits_current + where event_name = 'wait/lock/metadata/sql/mdl' + and object_name = 't1'; +--source include/wait_condition.inc + +echo "---- Marker 9 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con2 + +UNLOCK TABLES; + +--connection con1 + +# Complete LOCK TABLE t1 read +--reap + +--connection default + +echo "---- Marker 10 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con1 + +UNLOCK TABLES; + +--connection default + +echo "---- Marker 11 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + + +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; +--connection con1 + +BEGIN; + +# MDL lock is granted immediately, no wait +UPDATE LOW_PRIORITY t1 SET a=8; + +--connection default + +echo "---- Marker 12 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con1 +COMMIT; + +--connection default + +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; + +--connection con1 + +SELECT GET_LOCK('test', 0); + +--connection default + +echo "---- Marker 13 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con2 + +--send SELECT GET_LOCK('test', 120); + +--connection default + +let $wait_condition= + select count(*) = 1 from performance_schema.events_waits_current + where event_name = 'wait/lock/metadata/sql/mdl' + and object_name = 'test'; +--source include/wait_condition.inc + +echo "---- Marker 14 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con1 + +SELECT RELEASE_LOCK('test'); + +--connection con2 + +--reap + +--connection default + +echo "---- Marker 15 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +--connection con2 + +SELECT RELEASE_LOCK('test'); + +--connection default + +echo "---- Marker 16 ----"; + +--vertical_results +execute dump_metadata_locks; +execute dump_table_handles; +execute dump_waits_current; +execute dump_waits_history_long; +--horizontal_results + +# Cleanup + +--disconnect con1 +--disconnect con2 + +--connection default + +drop table t1; + +UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; + +revoke all privileges, grant option from user1@localhost; +revoke all privileges, grant option from user2@localhost; + +drop user user1@localhost; +drop user user2@localhost; + +drop function thread_id_name; + +drop prepare dump_metadata_locks; +drop prepare dump_table_handles; +drop prepare dump_waits_current; +drop prepare dump_waits_history_long; + +delete from performance_schema.setup_objects + where object_schema='mtr'; + +# In case of failure, will indicate the root cause +show global status like "performance_schema%"; + diff --git a/mysql-test/suite/perfschema/t/memory_aggregate-master.opt b/mysql-test/suite/perfschema/t/memory_aggregate-master.opt new file mode 100644 index 00000000000..c0cc26cf9b9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate-master.opt @@ -0,0 +1,2 @@ +--force-restart +--query_cache_size=0 diff --git a/mysql-test/suite/perfschema/t/memory_aggregate.test b/mysql-test/suite/perfschema/t/memory_aggregate.test new file mode 100644 index 00000000000..a77dae2a65f --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate.test @@ -0,0 +1,7 @@ +# Tests for the performance schema +# +--source include/have_64bit.inc +--source ../include/memory_aggregate_setup.inc +--source ../include/memory_aggregate_load.inc +--source ../include/memory_aggregate_cleanup.inc + diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_32bit-master.opt b/mysql-test/suite/perfschema/t/memory_aggregate_32bit-master.opt new file mode 100644 index 00000000000..c0cc26cf9b9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_32bit-master.opt @@ -0,0 +1,2 @@ +--force-restart +--query_cache_size=0 diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_32bit.test b/mysql-test/suite/perfschema/t/memory_aggregate_32bit.test new file mode 100644 index 00000000000..abd16212acc --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_32bit.test @@ -0,0 +1,7 @@ +# Tests for the performance schema +# +--source include/have_32bit.inc +--source ../include/memory_aggregate_setup.inc +--source ../include/memory_aggregate_load.inc +--source ../include/memory_aggregate_cleanup.inc + diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_a-master.opt b/mysql-test/suite/perfschema/t/memory_aggregate_no_a-master.opt new file mode 100644 index 00000000000..8b9dd84eb75 --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_a-master.opt @@ -0,0 +1,3 @@ +--force-restart +--query_cache_size=0 +--loose-performance_schema_accounts_size=0 diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_a.test b/mysql-test/suite/perfschema/t/memory_aggregate_no_a.test new file mode 100644 index 00000000000..a77dae2a65f --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_a.test @@ -0,0 +1,7 @@ +# Tests for the performance schema +# +--source include/have_64bit.inc +--source ../include/memory_aggregate_setup.inc +--source ../include/memory_aggregate_load.inc +--source ../include/memory_aggregate_cleanup.inc + diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_h-master.opt b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_h-master.opt new file mode 100644 index 00000000000..93adbfc85db --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_h-master.opt @@ -0,0 +1,4 @@ +--force-restart +--query_cache_size=0 +--loose-performance_schema_accounts_size=0 +--loose-performance_schema_hosts_size=0 diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_h.test b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_h.test new file mode 100644 index 00000000000..a77dae2a65f --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_h.test @@ -0,0 +1,7 @@ +# Tests for the performance schema +# +--source include/have_64bit.inc +--source ../include/memory_aggregate_setup.inc +--source ../include/memory_aggregate_load.inc +--source ../include/memory_aggregate_cleanup.inc + diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u-master.opt b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u-master.opt new file mode 100644 index 00000000000..d68cfa70ac3 --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u-master.opt @@ -0,0 +1,4 @@ +--force-restart +--query_cache_size=0 +--loose-performance_schema_accounts_size=0 +--loose-performance_schema_users_size=0 diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u.test b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u.test new file mode 100644 index 00000000000..a77dae2a65f --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u.test @@ -0,0 +1,7 @@ +# Tests for the performance schema +# +--source include/have_64bit.inc +--source ../include/memory_aggregate_setup.inc +--source ../include/memory_aggregate_load.inc +--source ../include/memory_aggregate_cleanup.inc + diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u_no_h-master.opt b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u_no_h-master.opt new file mode 100644 index 00000000000..ebce116088d --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u_no_h-master.opt @@ -0,0 +1,5 @@ +--force-restart +--query_cache_size=0 +--loose-performance_schema_accounts_size=0 +--loose-performance_schema_users_size=0 +--loose-performance_schema_hosts_size=0 diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u_no_h.test b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u_no_h.test new file mode 100644 index 00000000000..a77dae2a65f --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_a_no_u_no_h.test @@ -0,0 +1,7 @@ +# Tests for the performance schema +# +--source include/have_64bit.inc +--source ../include/memory_aggregate_setup.inc +--source ../include/memory_aggregate_load.inc +--source ../include/memory_aggregate_cleanup.inc + diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_h-master.opt b/mysql-test/suite/perfschema/t/memory_aggregate_no_h-master.opt new file mode 100644 index 00000000000..15ed308cf51 --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_h-master.opt @@ -0,0 +1,3 @@ +--force-restart +--query_cache_size=0 +--loose-performance_schema_hosts_size=0 diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_h.test b/mysql-test/suite/perfschema/t/memory_aggregate_no_h.test new file mode 100644 index 00000000000..a77dae2a65f --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_h.test @@ -0,0 +1,7 @@ +# Tests for the performance schema +# +--source include/have_64bit.inc +--source ../include/memory_aggregate_setup.inc +--source ../include/memory_aggregate_load.inc +--source ../include/memory_aggregate_cleanup.inc + diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_u-master.opt b/mysql-test/suite/perfschema/t/memory_aggregate_no_u-master.opt new file mode 100644 index 00000000000..26d52023ca7 --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_u-master.opt @@ -0,0 +1,3 @@ +--force-restart +--query_cache_size=0 +--loose-performance_schema_users_size=0 diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_u.test b/mysql-test/suite/perfschema/t/memory_aggregate_no_u.test new file mode 100644 index 00000000000..a77dae2a65f --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_u.test @@ -0,0 +1,7 @@ +# Tests for the performance schema +# +--source include/have_64bit.inc +--source ../include/memory_aggregate_setup.inc +--source ../include/memory_aggregate_load.inc +--source ../include/memory_aggregate_cleanup.inc + diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_u_no_h-master.opt b/mysql-test/suite/perfschema/t/memory_aggregate_no_u_no_h-master.opt new file mode 100644 index 00000000000..9244e82ac1d --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_u_no_h-master.opt @@ -0,0 +1,4 @@ +--force-restart +--query_cache_size=0 +--loose-performance_schema_users_size=0 +--loose-performance_schema_hosts_size=0 diff --git a/mysql-test/suite/perfschema/t/memory_aggregate_no_u_no_h.test b/mysql-test/suite/perfschema/t/memory_aggregate_no_u_no_h.test new file mode 100644 index 00000000000..a77dae2a65f --- /dev/null +++ b/mysql-test/suite/perfschema/t/memory_aggregate_no_u_no_h.test @@ -0,0 +1,7 @@ +# Tests for the performance schema +# +--source include/have_64bit.inc +--source ../include/memory_aggregate_setup.inc +--source ../include/memory_aggregate_load.inc +--source ../include/memory_aggregate_cleanup.inc + diff --git a/mysql-test/suite/perfschema/t/misc.test b/mysql-test/suite/perfschema/t/misc.test index b5af044a1f6..54cd194a9bc 100644 --- a/mysql-test/suite/perfschema/t/misc.test +++ b/mysql-test/suite/perfschema/t/misc.test @@ -155,7 +155,7 @@ DELETE FROM t_60905 WHERE i = 1; # should delete with a full scan (5 NULL fetch, 1 NULL delete) DELETE FROM t_60905 WHERE j = 8; -# show the instrument data +# show the instrument data. SELECT object_schema, object_name, index_name, @@ -169,6 +169,23 @@ SELECT object_schema, DROP TABLE t_60905; +# +# Bug#71278 NUMBER OF ROWS IN PERFORMANCE SCHEMA TABLES +# + +show global variables like "performance_schema_max_thread_instances"; +explain select * from performance_schema.threads; + +# +# Bug #73082 SHOW EVENTS in performance_schema gives Access Denied +# + +use performance_schema; +show events; +show events from performance_schema; +show events where Db= 'performance_schema'; +use test; + # # Bug#11929832 - EVENTS_STATEMENTS_HISTORY HAS ERRORS=0 WHEN THERE ARE ERRORS diff --git a/mysql-test/suite/perfschema/t/myisam_file_io.test b/mysql-test/suite/perfschema/t/myisam_file_io.test index 786ae88e8b9..053a6674a86 100644 --- a/mysql-test/suite/perfschema/t/myisam_file_io.test +++ b/mysql-test/suite/perfschema/t/myisam_file_io.test @@ -50,7 +50,7 @@ select event_name, order by thread_id, event_id; # In case of failures, this will tell if file io are lost. -show status like 'performance_schema_%'; +show global status like 'performance_schema_%'; # Cleanup diff --git a/mysql-test/suite/perfschema/t/nesting.test b/mysql-test/suite/perfschema/t/nesting.test index ea55284c804..4cdb589a70e 100644 --- a/mysql-test/suite/perfschema/t/nesting.test +++ b/mysql-test/suite/perfschema/t/nesting.test @@ -1,5 +1,8 @@ # Test to check the proper nesting of events +## To skip the test with QC enabled till BUG#14830950 is fixed. +-- source include/have_QC_Disabled.inc + --source include/not_embedded.inc --source include/have_perfschema.inc # On windows, the socket instrumentation collects an extra "opt" @@ -7,11 +10,13 @@ --source include/not_windows.inc --source include/no_protocol.inc --source ../include/wait_for_pfs_thread_count.inc ---source include/have_QC_Disabled.inc --disable_query_log +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant ALL on *.* to user1@localhost; +set sql_mode= @orig_sql_mode; flush privileges; @@ -39,6 +44,7 @@ update performance_schema.setup_instruments set enabled='YES', timed='YES' 'wait/io/socket/sql/client_connection', 'wait/synch/rwlock/sql/LOCK_grant', 'wait/synch/mutex/sql/THD::LOCK_thd_data', + 'wait/synch/mutex/sql/THD::LOCK_thd_query', 'wait/io/file/sql/query_log'); update performance_schema.setup_instruments set enabled='YES', timed='YES' @@ -108,7 +114,7 @@ set @marker_end = (select end_event_id from performance_schema.events_statements select (@marker_end is not null) as expected; # Will point to what happened on spurious test failures -show status like "performance_schema%"; +show global status like "performance_schema%"; # # This is the test itself: diff --git a/mysql-test/suite/perfschema/t/no_threads-master.opt b/mysql-test/suite/perfschema/t/no_threads-master.opt index 4b40d2c07f8..78b5d47e238 100644 --- a/mysql-test/suite/perfschema/t/no_threads-master.opt +++ b/mysql-test/suite/perfschema/t/no_threads-master.opt @@ -1 +1,4 @@ ---thread-handling=no-threads --loose-performance-schema-max-thread_instances=10 --default-storage-engine=MyISAM --skip-innodb --server-id=0 +--thread-handling=no-threads +--loose-performance-schema-max-thread_instances=50 +--default-storage-engine=MyISAM +--default-tmp-storage-engine=MyISAM diff --git a/mysql-test/suite/perfschema/t/no_threads.test b/mysql-test/suite/perfschema/t/no_threads.test index ee745bd87b0..5cfc84995c7 100644 --- a/mysql-test/suite/perfschema/t/no_threads.test +++ b/mysql-test/suite/perfschema/t/no_threads.test @@ -1,3 +1,8 @@ +# The include statement below is a temp one for tests that are yet to +#be ported to run with InnoDB, +#but needs to be kept for tests that would need MyISAM in future. + --source include/force_myisam_default.inc + # Tests for PERFORMANCE_SCHEMA --source include/not_embedded.inc @@ -20,14 +25,17 @@ truncate table performance_schema.events_waits_current; truncate table performance_schema.events_waits_history; truncate table performance_schema.events_waits_history_long; -show variables like "thread_handling"; +show global variables like "thread_handling"; + +# Make sure no thread instrumentation is lost +show status like "Performance_schema_thread_instances_lost"; # Code to test : in this main thread create table test.t1(a int) engine=MYISAM; -show variables like "performance_schema"; -show variables like "performance_schema_max_thread%"; +show global variables like "performance_schema"; +show global variables like "performance_schema_max_thread%"; # Verification : in this main thread diff --git a/mysql-test/suite/perfschema/t/one_thread_per_con.test b/mysql-test/suite/perfschema/t/one_thread_per_con.test index d295f2e658c..20db7ffb75d 100644 --- a/mysql-test/suite/perfschema/t/one_thread_per_con.test +++ b/mysql-test/suite/perfschema/t/one_thread_per_con.test @@ -24,7 +24,7 @@ drop table if exists test.t3; truncate table performance_schema.events_waits_history_long; -show variables like "thread_handling"; +show global variables like "thread_handling"; # Code to test diff --git a/mysql-test/suite/perfschema/t/ortho_iter.test b/mysql-test/suite/perfschema/t/ortho_iter.test index 4069aac4bbd..29f7caaecd0 100644 --- a/mysql-test/suite/perfschema/t/ortho_iter.test +++ b/mysql-test/suite/perfschema/t/ortho_iter.test @@ -3,23 +3,46 @@ # for every table and instruments. --source include/not_embedded.inc +--source include/no_valgrind_without_big.inc --source include/have_perfschema.inc --disable_warnings drop procedure if exists check_instrument; --enable_warnings +# Print known global memory instruments (PSI_FLAG_GLOBAL), +# see maintenance of count_global_expected below. + +# --echo "Known PSI_FLAG_GLOBAL memory instruments" +# select name from performance_schema.setup_instruments +# where (name like "memory/%") +# and (name not like "memory/performance_schema/%") +# and (name not in +# (select event_name from +# performance_schema.memory_summary_by_account_by_event_name)); + delimiter $; create procedure check_instrument(in instr_name varchar(128)) begin + declare save_count_expected integer; declare count_expected integer; - declare count_actual integer; + declare count_builtin_expected integer; + declare count_global_expected integer; declare is_wait integer; + declare is_wait_file integer; + declare is_wait_socket integer; declare is_stage integer; declare is_statement integer; + declare is_transaction integer; + declare is_memory integer; declare is_wait_table integer; + declare is_wait_file_table integer; + declare is_wait_socket_table integer; declare is_stage_table integer; declare is_statement_table integer; + declare is_transaction_table integer; + declare is_memory_table integer; + declare is_memory_global_table integer; declare pfs_table_name varchar(64); declare msg varchar(512); declare msg_detail varchar(512); @@ -31,22 +54,58 @@ begin declare pfs_cursor CURSOR FOR select table_name from information_schema.tables where table_schema= 'performance_schema' - and table_name like "events_%_by_event_name%"; + and table_name like "%_by_event_name%"; declare continue handler for sqlstate '02000' set done = 1; - select (instr_name like "wait/%") or (instr_name like "idle/%") into is_wait; + select (instr_name like "wait/%") or (instr_name like "idle") into is_wait; + select (instr_name like "wait/io/file/%") into is_wait_file; + select (instr_name like "wait/io/socket/%") into is_wait_socket; select (instr_name like "stage/%") into is_stage; select (instr_name like "statement/%") into is_statement; + select (instr_name like "memory/%") into is_memory; + select (instr_name like "transaction") into is_transaction; - select instr_name, is_wait, is_stage, is_statement; + select instr_name, is_wait, is_wait_file, is_wait_socket, is_stage, is_statement, is_memory, is_transaction; select count(name) from performance_schema.setup_instruments where (name like (concat(instr_name, "%"))) and (not name like "%/abstract/%") - into count_expected; + and (not name like "memory/performance_schema/%") + into save_count_expected; + + select count(name) + from performance_schema.setup_instruments + where (name like (concat(instr_name, "%"))) + and (name like "memory/performance_schema/%") + into count_builtin_expected; + + select count(name) + from performance_schema.setup_instruments + where (name like (concat(instr_name, "%"))) + and (name in ( + "memory/sql/buffered_logs", + "memory/sql/sql_acl_mem", + "memory/sql/sql_acl_memex", + "memory/sql/acl_cache", + "memory/sql/TABLE_SHARE::mem_root", + "memory/sql/TABLE", + "memory/sql/Query_cache", + "memory/sql/native_functions", + "memory/sql/Event_basic::mem_root", + "memory/sql/root", + "memory/sql/load_env_plugins", + "memory/sql/plugin_ref", + "memory/sql/plugin_mem_root", + "memory/sql/plugin_bookmark", + "memory/csv/TINA_SHARE", + "memory/sql/tz_storage", + "memory/sql/servers_cache", + "memory/sql/udf_mem" + )) + into count_global_expected; set cmd_1= "select count(*) from (select distinct event_name from performance_schema."; set cmd_2= concat(" where event_name like \"", @@ -58,8 +117,25 @@ begin fetch pfs_cursor into pfs_table_name; if not done then select (pfs_table_name like "%waits%") into is_wait_table; + select (pfs_table_name like "file_summary%") into is_wait_file_table; + select (pfs_table_name like "socket_summary%") into is_wait_socket_table; select (pfs_table_name like "%stages%") into is_stage_table; select (pfs_table_name like "%statements%") into is_statement_table; + select (pfs_table_name like "%memory%") into is_memory_table; + select (pfs_table_name like "memory_summary_global_by_event_name") into is_memory_global_table; + select (pfs_table_name like "%transaction%") into is_transaction_table; + + set count_expected = save_count_expected; + + if is_memory_global_table + then + set count_expected = save_count_expected + count_builtin_expected; + end if; + + if is_memory_table = 1 and is_memory_global_table = 0 + then + set count_expected = save_count_expected - count_global_expected; + end if; select concat("Checking table ", pfs_table_name, " ...") as status; select concat(cmd_1, pfs_table_name, cmd_2) into @cmd; @@ -74,40 +150,112 @@ begin ", instruments ", count_expected, ", found ", @count_actual); - if is_wait = 1 and is_wait_table = 1 and @count_actual <> count_expected + if is_wait = 1 then - set msg= concat("Missing wait events: ", msg_detail); - signal sqlstate '05000' set message_text= msg; + if is_wait_table = 1 and @count_actual <> count_expected + then + set msg= concat("Missing wait events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; + + if is_wait_table = 0 + and is_wait_file_table = 0 + and is_wait_socket_table = 0 + and @count_actual <> 0 + then + set msg= concat("Unexpected wait events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; end if; - if is_wait = 1 and is_wait_table = 0 and @count_actual <> 0 + if is_wait_file = 1 then - set msg= concat("Unexpected wait events: ", msg_detail); - signal sqlstate '05000' set message_text= msg; + if is_wait_file_table = 1 and @count_actual <> count_expected + then + set msg= concat("Missing wait/io/file events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; + + if is_wait_table = 0 and is_wait_file_table = 0 and @count_actual <> 0 + then + set msg= concat("Unexpected wait/io/file events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; end if; - if is_stage = 1 and is_stage_table = 1 and @count_actual <> count_expected + if is_wait_socket = 1 then - set msg= concat("Missing stage events: ", msg_detail); - signal sqlstate '05000' set message_text= msg; + if is_wait_socket_table = 1 and @count_actual <> count_expected + then + set msg= concat("Missing wait/io/socket events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; + + if is_wait_table = 0 and is_wait_socket_table = 0 and @count_actual <> 0 + then + set msg= concat("Unexpected wait/io/socket events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; end if; - if is_stage = 1 and is_stage_table = 0 and @count_actual <> 0 + if is_stage = 1 then - set msg= concat("Unexpected stage events: ", msg_detail); - signal sqlstate '05000' set message_text= msg; + if is_stage_table = 1 and @count_actual <> count_expected + then + set msg= concat("Missing stage events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; + + if is_stage_table = 0 and @count_actual <> 0 + then + set msg= concat("Unexpected stage events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; end if; - if is_statement = 1 and is_statement_table = 1 and @count_actual <> count_expected + if is_statement = 1 then - set msg= concat("Missing statement events: ", msg_detail); - signal sqlstate '05000' set message_text= msg; + if is_statement_table = 1 and @count_actual <> count_expected + then + set msg= concat("Missing statement events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; + + if is_statement_table = 0 and @count_actual <> 0 + then + set msg= concat("Unexpected statement events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; + end if; + + if is_memory = 1 + then + if is_memory_table = 1 and @count_actual <> count_expected + then + set msg= concat("Missing memory events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; + + if is_memory_table = 0 and @count_actual <> 0 + then + set msg= concat("Unexpected memory events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; end if; - if is_statement = 1 and is_statement_table = 0 and @count_actual <> 0 + if is_transaction = 1 then - set msg= concat("Unexpected statement events: ", msg_detail); - signal sqlstate '05000' set message_text= msg; + if is_transaction_table = 1 and @count_actual <> count_expected + then + set msg= concat("Missing transaction events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; + + if is_transaction_table = 0 and @count_actual <> 0 + then + set msg= concat("Unexpected transaction events: ", msg_detail); + signal sqlstate '05000' set message_text= msg; + end if; end if; end if; @@ -122,16 +270,15 @@ $ delimiter ;$ # Check the configuration is ok -show variables where - `Variable_name` != "performance_schema_max_statement_classes" and - `Variable_name` like "performance_schema%"; +show global variables like "performance_schema%"; call check_instrument("wait/synch/mutex/"); call check_instrument("wait/synch/rwlock/"); +call check_instrument("wait/synch/sxlock/"); call check_instrument("wait/synch/cond/"); call check_instrument("wait/synch/"); call check_instrument("wait/io/file/"); -call check_instrument("wait/io/net/"); +call check_instrument("wait/io/socket/"); call check_instrument("wait/io/table/"); call check_instrument("wait/io/"); call check_instrument("wait/lock/table/"); @@ -142,8 +289,10 @@ call check_instrument("statement/com/"); call check_instrument("statement/sql/"); call check_instrument("statement/abstract/"); call check_instrument("statement/"); -call check_instrument("idle/io/socket"); -call check_instrument("idle/"); +call check_instrument("idle"); +call check_instrument("memory/"); +call check_instrument("memory/performance_schema/"); +call check_instrument("transaction"); drop procedure check_instrument; diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_event-master.opt b/mysql-test/suite/perfschema/t/pfs_upgrade_event-master.opt new file mode 100644 index 00000000000..85aef13a1f9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/pfs_upgrade_event-master.opt @@ -0,0 +1,2 @@ +--general_log=0
+--slow_query_log=0
diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_event.test b/mysql-test/suite/perfschema/t/pfs_upgrade_event.test index 56747cf11f2..418feaf563d 100644 --- a/mysql-test/suite/perfschema/t/pfs_upgrade_event.test +++ b/mysql-test/suite/perfschema/t/pfs_upgrade_event.test @@ -32,4 +32,3 @@ select name from mysql.event where db='performance_schema'; update mysql.event set db='test' where name='user_event'; drop event test.user_event; - diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_func-master.opt b/mysql-test/suite/perfschema/t/pfs_upgrade_func-master.opt new file mode 100644 index 00000000000..85aef13a1f9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/pfs_upgrade_func-master.opt @@ -0,0 +1,2 @@ +--general_log=0
+--slow_query_log=0
diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_func.test b/mysql-test/suite/perfschema/t/pfs_upgrade_func.test index 1cc13a01f37..1b4c6e5719f 100644 --- a/mysql-test/suite/perfschema/t/pfs_upgrade_func.test +++ b/mysql-test/suite/perfschema/t/pfs_upgrade_func.test @@ -32,4 +32,3 @@ select name from mysql.proc where db='performance_schema'; update mysql.proc set db='test' where name='user_func'; drop function test.user_func; - diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_proc-master.opt b/mysql-test/suite/perfschema/t/pfs_upgrade_proc-master.opt new file mode 100644 index 00000000000..85aef13a1f9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/pfs_upgrade_proc-master.opt @@ -0,0 +1,2 @@ +--general_log=0
+--slow_query_log=0
diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_proc.test b/mysql-test/suite/perfschema/t/pfs_upgrade_proc.test index b8a52be0555..8061727c394 100644 --- a/mysql-test/suite/perfschema/t/pfs_upgrade_proc.test +++ b/mysql-test/suite/perfschema/t/pfs_upgrade_proc.test @@ -32,4 +32,3 @@ select name from mysql.proc where db='performance_schema'; update mysql.proc set db='test' where name='user_proc'; drop procedure test.user_proc; - diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_table-master.opt b/mysql-test/suite/perfschema/t/pfs_upgrade_table-master.opt new file mode 100644 index 00000000000..85aef13a1f9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/pfs_upgrade_table-master.opt @@ -0,0 +1,2 @@ +--general_log=0
+--slow_query_log=0
diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_table.test b/mysql-test/suite/perfschema/t/pfs_upgrade_table.test index e1bb77e2c23..719074b4c08 100644 --- a/mysql-test/suite/perfschema/t/pfs_upgrade_table.test +++ b/mysql-test/suite/perfschema/t/pfs_upgrade_table.test @@ -40,4 +40,3 @@ use test; --remove_file $MYSQLD_DATADIR/performance_schema/user_table.frm drop table test.user_table; - diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_view-master.opt b/mysql-test/suite/perfschema/t/pfs_upgrade_view-master.opt new file mode 100644 index 00000000000..85aef13a1f9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/pfs_upgrade_view-master.opt @@ -0,0 +1,2 @@ +--general_log=0
+--slow_query_log=0
diff --git a/mysql-test/suite/perfschema/t/pfs_upgrade_view.test b/mysql-test/suite/perfschema/t/pfs_upgrade_view.test index 579fc763a0f..92c4d0b535c 100644 --- a/mysql-test/suite/perfschema/t/pfs_upgrade_view.test +++ b/mysql-test/suite/perfschema/t/pfs_upgrade_view.test @@ -40,4 +40,3 @@ use test; --remove_file $MYSQLD_DATADIR/performance_schema/user_view.frm drop view test.user_view; - diff --git a/mysql-test/suite/perfschema/t/pool_of_threads-master.opt b/mysql-test/suite/perfschema/t/pool_of_threads-master.opt deleted file mode 100644 index 75a5cd77203..00000000000 --- a/mysql-test/suite/perfschema/t/pool_of_threads-master.opt +++ /dev/null @@ -1 +0,0 @@ ---loose-pool-of-threads diff --git a/mysql-test/suite/perfschema/t/prepared_statements.test b/mysql-test/suite/perfschema/t/prepared_statements.test new file mode 100644 index 00000000000..75d10238ac1 --- /dev/null +++ b/mysql-test/suite/perfschema/t/prepared_statements.test @@ -0,0 +1,210 @@ +# Test for prepared statement instrumentation + +--source include/not_embedded.inc +--source include/have_perfschema.inc +--source include/no_protocol.inc + +CREATE DATABASE db; +USE db; + +--let $psi_select = SELECT STATEMENT_NAME, SQL_TEXT, COUNT_REPREPARE, COUNT_EXECUTE, SUM_ROWS_SENT, SUM_SELECT_SCAN, SUM_NO_INDEX_USED FROM performance_schema.prepared_statements_instances +--let $psi_truncate = TRUNCATE TABLE performance_schema.prepared_statements_instances +--let $eshl_select = SELECT EVENT_NAME, SQL_TEXT, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME FROM performance_schema.events_statements_history_long WHERE CURRENT_SCHEMA='db' +--let $eshl_truncate = TRUNCATE TABLE performance_schema.events_statements_history_long + +--eval $psi_truncate +--eval $eshl_truncate + +--source suite/perfschema/include/prepared_stmts_setup.inc + +--vertical_results +--eval $psi_select +--eval $eshl_select +--horizontal_results + +--source suite/perfschema/include/prepared_stmts_execution.inc + +--vertical_results +--eval $psi_select +--eval $eshl_select +--horizontal_results + +# Truncate to reset the statistics +--eval $psi_truncate + +# check whether the statistics are reset +--vertical_results +--eval $psi_select +--horizontal_results + +--source suite/perfschema/include/prepared_stmts_deallocation.inc + +--vertical_results +# select query on prepared_statements_instances table must return empty set +--eval $psi_select +--eval $eshl_select +--horizontal_results + +# truncate +--eval $eshl_truncate + +# +# Test to check the instrumentation of prepared statements +# when all consumers in setup_consumers are disabled. +# + +# Disable all consumers +UPDATE performance_schema.setup_consumers SET ENABLED = 'NO'; + +--source suite/perfschema/include/prepared_stmts_setup.inc + +--vertical_results +--eval $psi_select +--eval $eshl_select +--horizontal_results + +--source suite/perfschema/include/prepared_stmts_execution.inc + +--vertical_results +--eval $psi_select +--eval $eshl_select +--horizontal_results + +--source suite/perfschema/include/prepared_stmts_deallocation.inc + +--vertical_results +--eval $psi_select +--eval $eshl_select +--horizontal_results + +# truncate +--eval $eshl_truncate + +# restore the initial set-up of consumers table +UPDATE performance_schema.setup_consumers SET ENABLED = 'YES'; + +# +# Aggregation +# + +PREPARE st FROM 'SELECT SUM(1000 + ?) AS total'; + +--vertical_results +--eval $psi_select +--horizontal_results + +SET @d=100; +EXECUTE st USING @d; + +--vertical_results +--eval $psi_select +--horizontal_results + +let $i=5; +while($i) +{ + SET @d = @d + 100; + EXECUTE st USING @d; + --vertical_results + --eval $psi_select + --horizontal_results + dec $i; +} + +# truncate +--eval $psi_truncate +--vertical_results +--eval $psi_select +--horizontal_results + +# +# check whether the instrumented prepared statement is removed from the +# prepared_statement_instances table after de allocation of the prepared +# statement even if instrumentation is disabled +# + +# Disable prepared statement instrumentation +UPDATE performance_schema.setup_instruments SET ENABLED = 'NO' + WHERE NAME like "statement/sql/execute%"; + +SET @d=3274; +# COUNT_EXECUTE should remain 0. No increment must be seen. +EXECUTE st USING @d; +--vertical_results +--eval $psi_select +--horizontal_results + +UPDATE performance_schema.setup_instruments SET ENABLED = 'NO' + WHERE NAME like "statement/sql/prepare%"; + +DEALLOCATE PREPARE st; +# should return empty set. +--vertical_results +--eval $psi_select +--horizontal_results + +# Restore back teh initial set-up of setup_instruments table + +UPDATE performance_schema.setup_instruments SET ENABLED = 'YES' + WHERE NAME like "statement/sql/prepare%"; +UPDATE performance_schema.setup_instruments SET ENABLED = 'YES' + WHERE NAME like "statement/sql/execute%"; + + +# Reprepare + +CREATE TABLE tab( + Id INT, + name CHAR(10), + age INT +); + +INSERT INTO tab VALUES(1,"Nakshatr",25),(2,"chanda",24),(3,"tejas",78); + +PREPARE st FROM 'SELECT * FROM tab'; + +--vertical_results +--eval $psi_select +--horizontal_results + +EXECUTE st; + +--vertical_results +--eval $psi_select +--horizontal_results + +ALTER TABLE tab DROP COLUMN age; + +EXECUTE st; + +--vertical_results +--eval $psi_select +--horizontal_results + +ALTER TABLE tab ADD COLUMN age INT NULL; + +EXECUTE st; + +--vertical_results +--eval $psi_select +--horizontal_results + +# check if the statistics are reset +--eval $psi_truncate +--vertical_results +--eval $psi_select +--horizontal_results + +DEALLOCATE PREPARE st; + +--vertical_results +--eval $psi_select +--horizontal_results + +# clean up +# truncate +--eval $psi_truncate +--eval $eshl_truncate + +DROP TABLE tab; +DROP DATABASE db; diff --git a/mysql-test/suite/perfschema/t/prepared_stmts_by_stored_programs.test b/mysql-test/suite/perfschema/t/prepared_stmts_by_stored_programs.test new file mode 100644 index 00000000000..bf81d036c2d --- /dev/null +++ b/mysql-test/suite/perfschema/t/prepared_stmts_by_stored_programs.test @@ -0,0 +1,151 @@ +# Test to check instrumentation of prepared statements created by +# stored programs. SQL prepared statements (PREPARE, EXECUTE, DEALLOCATE PREPARE) +# can be used in stored procedures, but not stored functions or triggers. + +--source include/not_embedded.inc +--source include/have_perfschema.inc +--source include/no_protocol.inc + +--let $psi_select = SELECT STATEMENT_NAME, SQL_TEXT, COUNT_EXECUTE, COUNT_REPREPARE, OWNER_OBJECT_TYPE, OWNER_OBJECT_SCHEMA, OWNER_OBJECT_NAME FROM performance_schema.prepared_statements_instances +TRUNCATE TABLE performance_schema.prepared_statements_instances; + +CREATE DATABASE db; +USE db; + +CREATE TABLE t +( + a INT, + b CHAR(10), + name CHAR(10) +); +SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; +INSERT INTO t VALUES (1,"kuchipudi","Vempati"); +INSERT INTO t VALUES (2,"odissi","Mohapatra"); +INSERT INTO t VALUES (3,"kathak","Maharaj"); +INSERT INTO t VALUES (4,"mohiyattam","Kalyanikutty"); +INSERT INTO t VALUES (5,"manipuri","Guru"); +INSERT INTO t VALUES (6,"kathakali","Manavedan"); +SET sql_mode= default; +# Stored Procedure +DELIMITER |; +CREATE PROCEDURE p1() +BEGIN + PREPARE st FROM 'SELECT * FROM t WHERE a<=?' ; + SET @a=3; + EXECUTE st using @a; +END| + +CALL p1()| +--eval $psi_select + +DEALLOCATE PREPARE st| +--eval $psi_select + +CREATE PROCEDURE p2() +BEGIN + PREPARE st1 FROM 'INSERT INTO t SELECT * FROM t WHERE a<=?' ; +END| + +CALL p2()| +--eval $psi_select + +SET @a=4| +EXECUTE st1 using @a| +--eval $psi_select + +CREATE PROCEDURE p3() +BEGIN + SET @a=2; + EXECUTE st1 using @a; +END| + +CALL p3()| +--eval $psi_select + +DEALLOCATE PREPARE st1| +--eval $psi_select + +PREPARE st2 FROM 'UPDATE t SET a=a+1 WHERE b=?'| +--eval $psi_select + +CREATE PROCEDURE p4() +BEGIN + SET @b='kuchipudi'; + EXECUTE st2 USING @b; +END| + +CALL p4()| +--eval $psi_select + +ALTER TABLE t DROP COLUMN name; + +# COUNT_REPREPARE must be 1 +CALL p4()| +--eval $psi_select + +DEALLOCATE PREPARE st2| +--eval $psi_select + +CREATE PROCEDURE p5() +BEGIN + SET @a=1; + SELECT @a; +END| + +PREPARE st3 FROM 'CALL p5()'| +--eval $psi_select +EXECUTE st3| +--eval $psi_select +DEALLOCATE PREPARE st3| +--eval $psi_select + +DELIMITER ;| + +# Events + +CREATE TABLE tab(a INT); + +SET GLOBAL event_scheduler=ON; + +DELIMITER |; +CREATE EVENT e1 ON SCHEDULE EVERY 10 HOUR DO +BEGIN + PREPARE st FROM 'INSERT INTO tab VALUES(?)'; + SET @a=1; + EXECUTE st USING @a; +END| + +DELIMITER ;| + +# Let e1 insert 1 records into the table tab + +--let $wait_condition= select count(*) >= 1 from tab +--source include/wait_condition.inc +SELECT * FROM tab LIMIT 1; + +# Wait till the above one execution of event is instrumented. + +--let $wait_condition= select count_star >= 1 from performance_schema.events_statements_summary_by_program where object_type='EVENT' +--source include/wait_condition.inc + +SET GLOBAL event_scheduler=OFF; +--source include/no_running_event_scheduler.inc + +# The following should return empty set as the instrumented prepared statement +# row is removed as de allocation of the statement happens automatically as +# event thread is cleaned up. +--eval $psi_select + +# clean-up +TRUNCATE TABLE performance_schema.prepared_statements_instances; +TRUNCATE TABLE performance_schema.events_statements_history_long; + +DROP TABLE t; +DROP TABLE tab; +DROP PROCEDURE p1; +DROP PROCEDURE p2; +DROP PROCEDURE p3; +DROP PROCEDURE p4; +DROP PROCEDURE p5; +DROP EVENT IF EXISTS e1; +DROP DATABASE db; diff --git a/mysql-test/suite/perfschema/t/privilege.test b/mysql-test/suite/perfschema/t/privilege.test index 1864a34bcfe..ea4c88bc3c6 100644 --- a/mysql-test/suite/perfschema/t/privilege.test +++ b/mysql-test/suite/perfschema/t/privilege.test @@ -3,6 +3,9 @@ --source include/not_embedded.inc --source include/have_perfschema.inc +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); + show grants; grant ALL on *.* to 'pfs_user_1'@localhost with GRANT OPTION; @@ -329,3 +332,16 @@ UPDATE performance_schema.setup_timers SET timer_name = 'CYCLE' where name UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND' where name="stage"; UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND' where name="statement"; +set sql_mode= @orig_sql_mode; + +--echo # +--echo # WL#2284: Increase the length of a user name +--echo # + +CREATE USER 'user_name_len_22_01234'@localhost; + +--error ER_DBACCESS_DENIED_ERROR +GRANT ALL ON performance_schema.* TO 'user_name_len_22_01234'@localhost with GRANT OPTION; + +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_name_len_22_01234'@localhost; +DROP USER 'user_name_len_22_01234'@localhost; diff --git a/mysql-test/suite/perfschema/t/privilege_table_io.test b/mysql-test/suite/perfschema/t/privilege_table_io.test index 68079fb5959..5e4bc98355a 100644 --- a/mysql-test/suite/perfschema/t/privilege_table_io.test +++ b/mysql-test/suite/perfschema/t/privilege_table_io.test @@ -36,10 +36,8 @@ insert into test.marker set a = 1; # This will not, the ACL cache is already loaded insert into test.marker set a = 1; insert into test.marker set a = 1; -show variables where - `Variable_name` != "performance_schema_max_statement_classes" and - `Variable_name` like "performance_schema%"; -show status like "performance_schema%"; +show global variables like "performance_schema%"; +show global status like "performance_schema%"; # Stop recording events + pull results let $schema_to_dump= "test", "mysql"; --source ../include/table_io_result_helper.inc diff --git a/mysql-test/suite/perfschema/t/query_cache.test b/mysql-test/suite/perfschema/t/query_cache.test index 802e574f89b..ca80fc9ced6 100644 --- a/mysql-test/suite/perfschema/t/query_cache.test +++ b/mysql-test/suite/perfschema/t/query_cache.test @@ -22,33 +22,33 @@ flush status; select * from t1; -show status like "Qcache_queries_in_cache"; -show status like "Qcache_inserts"; -show status like "Qcache_hits"; +show global status like "Qcache_queries_in_cache"; +show global status like "Qcache_inserts"; +show global status like "Qcache_hits"; select * from t1; -show status like "Qcache_queries_in_cache"; -show status like "Qcache_inserts"; -show status like "Qcache_hits"; +show global status like "Qcache_queries_in_cache"; +show global status like "Qcache_inserts"; +show global status like "Qcache_hits"; select spins from performance_schema.events_waits_current order by event_name limit 1; --replace_result CYCLE {CYCLE_OR_NANOSECOND} NANOSECOND {CYCLE_OR_NANOSECOND} select * from performance_schema.setup_timers where name='wait'; -show status like "Qcache_queries_in_cache"; -show status like "Qcache_inserts"; -show status like "Qcache_hits"; +show global status like "Qcache_queries_in_cache"; +show global status like "Qcache_inserts"; +show global status like "Qcache_hits"; select spins from performance_schema.events_waits_current order by event_name limit 1; --replace_result CYCLE {CYCLE_OR_NANOSECOND} NANOSECOND {CYCLE_OR_NANOSECOND} select * from performance_schema.setup_timers where name='wait'; -show status like "Qcache_queries_in_cache"; -show status like "Qcache_inserts"; -show status like "Qcache_hits"; +show global status like "Qcache_queries_in_cache"; +show global status like "Qcache_inserts"; +show global status like "Qcache_hits"; SET GLOBAL query_cache_size= default; diff --git a/mysql-test/suite/perfschema/t/read_only.test b/mysql-test/suite/perfschema/t/read_only.test index 3050cee9e72..f65e919703c 100644 --- a/mysql-test/suite/perfschema/t/read_only.test +++ b/mysql-test/suite/perfschema/t/read_only.test @@ -11,7 +11,10 @@ use performance_schema; set @start_read_only= @@global.read_only; +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant SELECT, UPDATE on performance_schema.* to pfsuser@localhost; +set sql_mode= @orig_sql_mode; flush privileges; --echo connect (con1, localhost, pfsuser, , test); diff --git a/mysql-test/suite/perfschema/t/rpl_group_member_stats.test b/mysql-test/suite/perfschema/t/rpl_group_member_stats.test new file mode 100644 index 00000000000..1bda1dd4102 --- /dev/null +++ b/mysql-test/suite/perfschema/t/rpl_group_member_stats.test @@ -0,0 +1,48 @@ +# WL#6839 - GCS Replication: P_S table to show DBSM stats +# +# This test proofs the existence of the replication_group_member_stats table +# and all its fields. Since the table only returns values if the plugin is +# loaded, all queries will return "No such row" or "0" +# +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--let $member_id= query_get_value(SELECT Member_Id from performance_schema.replication_group_member_stats, Member_Id, 1) +--let $assert_text= The value of member_id should not be present +--let $assert_cond= "$member_id" = "No such row" +--source include/assert.inc + +--let $view_id= query_get_value(SELECT View_Id from performance_schema.replication_group_member_stats, View_Id, 1) +--let $assert_text= The value of view_id should not be present +--let $assert_cond= "$View_Id" = "No such row" +--source include/assert.inc + +--let $transaction_in_queue= query_get_value(SELECT Count_Transactions_in_queue from performance_schema.replication_group_member_stats, Count_Transactions_in_queue, 1) +--let $assert_text= The value of Count_Transactions_in_queue should be 0 +--let $assert_cond= "$transaction_in_queue" = 0 +--source include/assert.inc + +--let $certified_transactions= query_get_value(SELECT Count_Transactions_checked from performance_schema.replication_group_member_stats, Count_Transactions_checked, 1) +--let $assert_text= The value of Count_Transactions_checked should be 0 +--let $assert_cond= "$certified_transactions" = 0 +--source include/assert.inc + +--let $negatively_certified= query_get_value(SELECT Count_conflicts_detected from performance_schema.replication_group_member_stats, Count_conflicts_detected, 1) +--let $assert_text= The value of Count_conflicts_detected should be 0 +--let $assert_cond= "$negatively_certified" = 0 +--source include/assert.inc + +--let $certification_db_size= query_get_value(SELECT Count_Transactions_validating from performance_schema.replication_group_member_stats, Count_Transactions_validating, 1) +--let $assert_text= The value of Count_Transactions_validating should be 0 +--let $assert_cond= "$certification_db_size" = 0 +--source include/assert.inc + +--let $stable_set= query_get_value(SELECT Transactions_Committed_all_members from performance_schema.replication_group_member_stats, Transactions_Committed_all_members, 1) +--let $assert_text= The value of Transactions_Committed_all_members should be 0 +--let $assert_cond= "$stable_set" = 0 +--source include/assert.inc + +--let $last_certified_transaction= query_get_value(SELECT Last_conflict_free_transaction from performance_schema.replication_group_member_stats, Last_conflict_free_transaction, 1) +--let $assert_text= The value of Last_conflict_free_transaction should not be present +--let $assert_cond= "$last_certified_transaction" = "No such row" +--source include/assert.inc diff --git a/mysql-test/suite/perfschema/t/rpl_group_members.test b/mysql-test/suite/perfschema/t/rpl_group_members.test new file mode 100644 index 00000000000..e5dfde747f1 --- /dev/null +++ b/mysql-test/suite/perfschema/t/rpl_group_members.test @@ -0,0 +1,33 @@ +# WL#6841 - GCS Replication: P_S table to show GCS kernel stats +# +# This test proofs the existence of the replication_connection_status table +# and all its fields. Since the table only returns values if the plugin is +# loaded, all queries will return "No such row" or "0" +# +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--let $channel_name= query_get_value(SELECT Channel_Name from performance_schema.replication_group_members, Channel_Name, 1) +--let $assert_text= The value of channel name should be empty +--let $assert_cond= "$channel_name" = "No such row" +--source include/assert.inc + +--let $member_id= query_get_value(SELECT Member_Id from performance_schema.replication_group_members, Member_Id, 1) +--let $assert_text= The value of member_id should be empty +--let $assert_cond= "$member_id" = "No such row" +--source include/assert.inc + +--let $member_host= query_get_value(SELECT Member_Host from performance_schema.replication_group_members, Member_Host, 1) +--let $assert_text= The value of member_host should be empty +--let $assert_cond= "$member_host" = "No such row" +--source include/assert.inc + +--let $member_port= query_get_value(SELECT Member_Port from performance_schema.replication_group_members, Member_Port, 1) +--let $assert_text= The value of member_port should be empty +--let $assert_cond= "$member_port" = "No such row" +--source include/assert.inc + +--let $member_state= query_get_value(SELECT Member_State from performance_schema.replication_group_members, Member_State, 1) +--let $assert_text= The value of member_state should be empty +--let $assert_cond= "$member_state" = "No such row" +--source include/assert.inc diff --git a/mysql-test/suite/perfschema/t/rpl_gtid_func.test b/mysql-test/suite/perfschema/t/rpl_gtid_func.test index 3258425124a..c26f5ae1a8f 100644 --- a/mysql-test/suite/perfschema/t/rpl_gtid_func.test +++ b/mysql-test/suite/perfschema/t/rpl_gtid_func.test @@ -34,7 +34,7 @@ connection master; --echo **** On Master **** select * from performance_schema.setup_instruments - where timed='NO'; + where timed='NO' and name not like "memory/%"; select "This better be in the master" as in_master_digest; diff --git a/mysql-test/suite/perfschema/t/rpl_statements.test b/mysql-test/suite/perfschema/t/rpl_statements.test index 09e85dfc30f..ca3732556b9 100644 --- a/mysql-test/suite/perfschema/t/rpl_statements.test +++ b/mysql-test/suite/perfschema/t/rpl_statements.test @@ -63,7 +63,7 @@ connection master; --echo *** Create test tables --echo -show variables like '%binlog_format%'; +show global variables like '%binlog_format%'; --disable_warnings drop table if exists test.marker; @@ -128,7 +128,7 @@ connection master; --echo *** MASTER *** --echo ************** --echo -show variables like '%binlog_format%'; +show global variables like '%binlog_format%'; --echo *** Clear statement events --source ../include/rpl_statements_truncate.inc diff --git a/mysql-test/suite/perfschema/t/rpl_threads-slave.opt b/mysql-test/suite/perfschema/t/rpl_threads-slave.opt new file mode 100644 index 00000000000..cef79bc8585 --- /dev/null +++ b/mysql-test/suite/perfschema/t/rpl_threads-slave.opt @@ -0,0 +1 @@ +--force-restart diff --git a/mysql-test/suite/perfschema/t/rpl_threads.test b/mysql-test/suite/perfschema/t/rpl_threads.test new file mode 100644 index 00000000000..984939c21f8 --- /dev/null +++ b/mysql-test/suite/perfschema/t/rpl_threads.test @@ -0,0 +1,79 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/have_log_bin.inc +--source include/not_embedded.inc +--source include/have_perfschema.inc +--source include/master-slave.inc + +--disable_warnings +drop table if exists test.t1; +--sync_slave_with_master +reset master; +--enable_warnings + +create table test.t1(a int); +drop table test.t1; + +--source include/show_binlog_events.inc + +# Notes +# +# The point of this test is to make sure code is properly instrumented, +# for replication threads. +# Each time an ID is assigned to a replication thread, +# visible in the INFORMATION_SCHEMA.PROCESSLIST table, +# the same PROCESSLIST_ID should be visible in table performance_schema.threads + +connection master; +-- echo "============ Performance schema on master ============" + +# Read the ID of the binlog dump connection, +# as exposed in PROCESSLIST. +select ID from INFORMATION_SCHEMA.PROCESSLIST + where COMMAND = "Binlog Dump" + into @master_dump_pid; + +select COMMAND, STATE + from INFORMATION_SCHEMA.PROCESSLIST + where ID = @master_dump_pid; + +# Make sure the performance schema also knows this PROCESSLIST_ID +select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE + from performance_schema.threads + where PROCESSLIST_ID = @master_dump_pid; + +sync_slave_with_master; +-- echo "============ Performance schema on slave ============" + +# Read the ID of the SLAVE IO thread, +# as exposed in PROCESSLIST. +select ID from INFORMATION_SCHEMA.PROCESSLIST + where STATE like "Waiting for master to send event%" + into @slave_io_pid; + +select COMMAND, STATE + from INFORMATION_SCHEMA.PROCESSLIST + where ID = @slave_io_pid; + +# Make sure the performance schema also knows this PROCESSLIST_ID +select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE + from performance_schema.threads + where PROCESSLIST_ID = @slave_io_pid; + +# Read the ID of the SLAVE SQL thread, +# as exposed in PROCESSLIST. +select ID from INFORMATION_SCHEMA.PROCESSLIST + where STATE like "Slave has read all relay log%" + into @slave_sql_pid; + +select COMMAND, STATE + from INFORMATION_SCHEMA.PROCESSLIST + where ID = @slave_sql_pid; + +# Make sure the performance schema also knows this PROCESSLIST_ID +select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE + from performance_schema.threads + where PROCESSLIST_ID = @slave_sql_pid; + +--source include/rpl_end.inc + diff --git a/mysql-test/suite/perfschema/t/server_init.test b/mysql-test/suite/perfschema/t/server_init.test index 8f5e18623f0..22adc19ef9d 100644 --- a/mysql-test/suite/perfschema/t/server_init.test +++ b/mysql-test/suite/perfschema/t/server_init.test @@ -14,9 +14,6 @@ use performance_schema; # Verify that these global mutexes have been properly initilized in mysys select count(name) from mutex_instances - where name like "wait/synch/mutex/mysys/THR_LOCK_threads"; - -select count(name) from mutex_instances where name like "wait/synch/mutex/mysys/THR_LOCK_malloc"; select count(name) from mutex_instances @@ -36,10 +33,8 @@ select count(name) from mutex_instances # There are no global rwlock in mysys -# Verify that these global conditions have been properly initilized in mysys - -select count(name) from cond_instances - where name like "wait/synch/cond/mysys/THR_COND_threads"; +# There are no global conditions in mysys +# (THR_COND_threads is only present in debug builds # Verify that these global mutexes have been properly initilized in sql @@ -47,7 +42,7 @@ select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_open"; select count(name) from mutex_instances - where name like "wait/synch/mutex/sql/LOCK_thread_count"; + where name like "wait/synch/mutex/sql/LOCK_thd_list"; select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_log_throttle_qni"; @@ -56,30 +51,15 @@ select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_status"; select count(name) from mutex_instances - where name like "wait/synch/mutex/sql/LOCK_error_log"; - -select count(name) from mutex_instances - where name like "wait/synch/mutex/sql/LOCK_delayed_insert"; - -select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_uuid_generator"; select count(name) from mutex_instances - where name like "wait/synch/mutex/sql/LOCK_delayed_status"; - -select count(name) from mutex_instances - where name like "wait/synch/mutex/sql/LOCK_delayed_create"; - -select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_crypt"; select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_slave_list"; select count(name) from mutex_instances - where name like "wait/synch/mutex/sql/LOCK_active_mi"; - -select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_manager"; select count(name) from mutex_instances @@ -112,16 +92,13 @@ select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_event_queue"; select count(name) from mutex_instances - where name like "wait/synch/mutex/sql/LOCK_user_locks"; - -select count(name) from mutex_instances - where name like "wait/synch/mutex/sql/Cversion_lock"; + where name like "wait/synch/mutex/sql/LOCK_item_func_sleep"; select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_audit_mask"; select count(name) from mutex_instances - where name like "wait/synch/mutex/sql/LOCK_xid_cache"; + where name like "wait/synch/mutex/sql/LOCK_transaction_cache"; select count(name) from mutex_instances where name like "wait/synch/mutex/sql/LOCK_plugin"; @@ -136,9 +113,6 @@ select count(name) from mutex_instances # Verify that these global rwlocks have been properly initilized in sql select count(name) from rwlock_instances - where name like "wait/synch/rwlock/sql/LOCK_grant"; - -select count(name) from rwlock_instances where name like "wait/synch/rwlock/sql/LOCK_sys_init_connect"; select count(name) from rwlock_instances diff --git a/mysql-test/suite/perfschema/t/setup_actors.test b/mysql-test/suite/perfschema/t/setup_actors.test index e975fa96782..ac120ad84bc 100644 --- a/mysql-test/suite/perfschema/t/setup_actors.test +++ b/mysql-test/suite/perfschema/t/setup_actors.test @@ -9,35 +9,38 @@ # The initial number of rows is 1. The initial row always looks like this: # mysql> select * from performance_schema.setup_actors; -# +------+------+------+ -# | Host | User | ROLE | -# +------+------+------+ -# | % | % | % | -# +------+------+------+ +# +------+------+------+---------+---------+ +# | HOST | USER | ROLE | ENABLED | HISTORY | +# +------+------+------+---------+---------+ +# | % | % | % | YES | YES | +# +------+------+------+---------+---------+ select * from performance_schema.setup_actors; truncate table performance_schema.setup_actors; insert into performance_schema.setup_actors -values ('hosta', 'user1', '%'); +values ('hosta', 'user1', '%', 'YES', 'YES'); insert into performance_schema.setup_actors -values ('%', 'user2', '%'); +values ('%', 'user2', '%', 'YES', 'YES'); insert into performance_schema.setup_actors -values ('localhost', 'user3', '%'); +values ('localhost', 'user3', '%', 'YES', 'YES'); insert into performance_schema.setup_actors -values ('hostb', '%', '%'); +values ('hostb', '%', '%', 'YES', 'YES'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant ALL on *.* to user1@localhost; grant ALL on *.* to user2@localhost; grant ALL on *.* to user3@localhost; grant ALL on *.* to user4@localhost; grant select on test.* to user5@localhost; +set sql_mode= @orig_sql_mode; flush privileges; @@ -54,7 +57,7 @@ let $con1_thread_id= `select THREAD_ID from performance_schema.threads --echo # Switch to connection default --connection default insert into performance_schema.setup_actors -values ('%', 'user1', '%'); +values ('%', 'user1', '%', 'YES', 'YES'); --echo # Switch to connection con1 --connection con1 @@ -175,7 +178,7 @@ where PROCESSLIST_ID = connection_id(); --connection default insert into performance_schema.setup_actors -values ('localhost', '%', '%'); +values ('localhost', '%', '%', 'YES', 'YES'); select * from performance_schema.setup_actors order by USER, HOST, ROLE; @@ -195,7 +198,7 @@ where PROCESSLIST_ID = connection_id(); --echo # Switch to connection default --connection default insert into performance_schema.setup_actors -values ('%', 'user5', '%'); +values ('%', 'user5', '%', 'YES', 'YES'); create sql security definer view test.v1 as select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST from performance_schema.threads @@ -240,7 +243,7 @@ flush privileges; truncate table performance_schema.setup_actors; insert into performance_schema.setup_actors -values ('%', '%', '%'); +values ('%', '%', '%', 'YES', 'YES'); select * from performance_schema.setup_actors; diff --git a/mysql-test/suite/perfschema/t/setup_actors_enabled.test b/mysql-test/suite/perfschema/t/setup_actors_enabled.test new file mode 100644 index 00000000000..959c4d9cb80 --- /dev/null +++ b/mysql-test/suite/perfschema/t/setup_actors_enabled.test @@ -0,0 +1,219 @@ +# Check the impact of changes done in ENABLED column in +# performance_schema.setup_actors. + +--source include/not_windows.inc +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# The initial number of rows is 1. The initial row always looks like this: +# mysql> select * from performance_schema.setup_actors; +# +------+------+------+---------+---------+ +# | HOST | USER | ROLE | ENABLED | HISTORY | +# +------+------+------+---------+---------+ +# | % | % | % | YES | YES | +# +------+------+------+---------+---------+ +select * from performance_schema.setup_actors; + +truncate table performance_schema.setup_actors; + +insert into performance_schema.setup_actors +values ('localhost', 'user1', '%', 'YES', 'YES'); + +insert into performance_schema.setup_actors +values ('localhost', 'user2', '%', 'NO', 'NO'); + +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +grant ALL on *.* to user1@localhost; +grant ALL on *.* to user2@localhost; +set sql_mode= @orig_sql_mode; + +flush privileges; + +--echo # Switch to (con1, localhost, user1, , ) +connect (con1, localhost, user1, , ); + +# INSTRUMENTED must be YES because there is a match in +# performance_schema.setup_actors and its ENABLED +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +let $con1_thread_id= `select THREAD_ID from performance_schema.threads + where PROCESSLIST_ID = connection_id()`; + +--echo # Switch to (con2, localhost, user2, , ) +connect (con2, localhost, user2, , ); + +# INSTRUMENTED must be NO because there is a match in +# performance_schema.setup_actors but its DISABLED. +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +let $con1_thread_id= `select THREAD_ID from performance_schema.threads + where PROCESSLIST_ID = connection_id()`; + +--echo # Switch to connection default +--connection default +update performance_schema.setup_actors set ENABLED='NO' where USER='user1'; +update performance_schema.setup_actors set ENABLED='YES' where USER='user2'; + +--echo # Switch to connection con1 +--connection con1 + +# INSTRUMENTED must still be YES because update to setup_actors doesn't affect +# existing connetions. +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +let $con1_thread_id= `select THREAD_ID from performance_schema.threads + where PROCESSLIST_ID = connection_id()`; + +--echo # Switch to connection con2 +--connection con2 + +# INSTRUMENTED must still be NO because update to setup_actors doesn't affect +# existing connetions. +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +let $con1_thread_id= `select THREAD_ID from performance_schema.threads + where PROCESSLIST_ID = connection_id()`; + +--echo # Disconnect con1 and con2 +--disconnect con1 +--disconnect con2 + +# Now reconnect +--echo # Switch to (con1, localhost, user1, , ) +connect (con1, localhost, user1, , ); + +# INSTRUMENTED must still be NO because update to setup_actors affects +# new connetions. +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +let $con1_thread_id= `select THREAD_ID from performance_schema.threads + where PROCESSLIST_ID = connection_id()`; + +--echo # Switch to (con2 localhost, user2, , ) +connect (con2, localhost, user2, , ); + +# INSTRUMENTED must still be YES because update to setup_actors affects +# new connetions. +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); +let $con1_thread_id= `select THREAD_ID from performance_schema.threads + where PROCESSLIST_ID = connection_id()`; + +--echo # Disconnect con1 and con2 +--disconnect con1 +--disconnect con2 + +--echo # Switch to connection default +--connection default + +# Checking if update is allowed on performance_schema.setup_actors ENABLED +# column after revoke update privilege + +revoke update on *.* from 'user2'@'localhost'; + +flush privileges; + +--echo # Switch to (con2 localhost, user2, , ) +connect (con2, localhost, user2, , ); +--error ER_TABLEACCESS_DENIED_ERROR +update performance_schema.setup_actors + set ENABLED='NO'; + +--disconnect con2 +--connection default + +# Checking for Rules Order +# 1. a match for 'U1' and 'H1'. +# 2. then for 'U1' and '%'. +# 3. then for '%' and 'H1'. +# 4. then for '%' and '%'. + +insert into performance_schema.setup_actors +values ('%', 'user1', '%', 'YES', 'YES'); + + +insert into performance_schema.setup_actors +values ('localhost', '%', '%', 'NO', 'NO'); + +insert into performance_schema.setup_actors +values ('%', '%', '%', 'YES', 'YES'); + + +--echo # Switch to (con1, localhost, user1, , ) +connect (con1, localhost, user1, , ); + +# INSTRUMENTED must still be NO as it will match rule1 +# new connetions. +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--disconnect con1 +--connection default + +delete from performance_schema.setup_actors where +HOST='localhost' and USER='user1'; + +--echo # Switch to (con1, localhost, user1, , ) +connect (con1, localhost, user1, , ); + +# INSTRUMENTED must still be YES as it will match rule2 +# new connetions. +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + + +--disconnect con1 +--connection default + +delete from performance_schema.setup_actors where +HOST='%' and USER='user1'; + +--echo # Switch to (con1, localhost, user1, , ) +connect (con1, localhost, user1, , ); + +# INSTRUMENTED must still be NO as it will match rule3 +# new connetions. +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--disconnect con1 +--connection default + +delete from performance_schema.setup_actors where +HOST='localhost' and USER='%'; + +--echo # Switch to (con1, localhost, user1, , ) +connect (con1, localhost, user1, , ); + +# INSTRUMENTED must still be YES as it will match rule4 +# new connetions. +select NAME, TYPE, INSTRUMENTED, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--disconnect con1 +--connection default + +revoke all privileges, grant option from user1@localhost; +revoke all privileges, grant option from user2@localhost; +drop user user1@localhost; +drop user user2@localhost; +flush privileges; + +truncate table performance_schema.setup_actors; + +insert into performance_schema.setup_actors +values ('%', '%', '%', 'YES', 'YES'); + +select * from performance_schema.setup_actors; + diff --git a/mysql-test/suite/perfschema/t/setup_actors_history.test b/mysql-test/suite/perfschema/t/setup_actors_history.test new file mode 100644 index 00000000000..ecb3324a3c5 --- /dev/null +++ b/mysql-test/suite/perfschema/t/setup_actors_history.test @@ -0,0 +1,177 @@ +# Check the impact of changes done in HISTORY column in +# performance_schema.setup_actors. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# The initial number of rows is 1. The initial row always looks like this: +# mysql> select * from performance_schema.setup_actors; +# +------+------+------+---------+---------+ +# | HOST | USER | ROLE | ENABLED | HISTORY | +# +------+------+------+---------+---------+ +# | % | % | % | YES | YES | +# +------+------+------+---------+---------+ +select * from performance_schema.setup_actors; + +truncate table performance_schema.setup_actors; + +insert into performance_schema.setup_actors +values ('localhost', 'user1', '%', 'YES', 'YES'); + +insert into performance_schema.setup_actors +values ('localhost', 'user2', '%', 'YES', 'NO'); + +insert into performance_schema.setup_actors +values ('localhost', 'user3', '%', 'NO', 'YES'); + +insert into performance_schema.setup_actors +values ('localhost', 'user4', '%', 'NO', 'NO'); + +create user user1@localhost; +create user user2@localhost; +create user user3@localhost; +create user user4@localhost; + +grant ALL on *.* to user1@localhost; +grant ALL on *.* to user2@localhost; +grant ALL on *.* to user3@localhost; +grant ALL on *.* to user4@localhost; + +flush privileges; + +--echo # Switch to (con1, localhost, user1, , ) +connect (con1, localhost, user1, , ); + +# Expecting INSTRUMENTED=YES, HISTORY=YES +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Switch to (con2, localhost, user2, , ) +connect (con2, localhost, user2, , ); + +# Expecting INSTRUMENTED=YES, HISTORY=NO +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Switch to (con3, localhost, user3, , ) +connect (con3, localhost, user3, , ); + +# Expecting INSTRUMENTED=NO, HISTORY=YES +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Switch to (con4, localhost, user4, , ) +connect (con4, localhost, user4, , ); + +# Expecting INSTRUMENTED=NO, HISTORY=NO +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Switch to connection default +--connection default +update performance_schema.setup_actors + set HISTORY='NO' where USER in ('user1', 'user3'); +update performance_schema.setup_actors + set HISTORY='YES' where USER in ('user2', 'user4'); + +--echo # Switch to connection con1 +--connection con1 + +# Expecting INSTRUMENTED=YES, HISTORY=YES +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Switch to connection con2 +--connection con2 + +# Expecting INSTRUMENTED=YES, HISTORY=NO +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Switch to connection con3 +--connection con3 + +# Expecting INSTRUMENTED=NO, HISTORY=YES +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Switch to connection con4 +--connection con4 + +# Expecting INSTRUMENTED=NO, HISTORY=NO +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Disconnect all con +--disconnect con1 +--disconnect con2 +--disconnect con3 +--disconnect con4 + +# Now reconnect +--echo # Switch to (con1, localhost, user1, , ) +connect (con1, localhost, user1, , ); + +# Expecting INSTRUMENTED=YES, HISTORY=NO +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Switch to (con2 localhost, user2, , ) +connect (con2, localhost, user2, , ); + +# Expecting INSTRUMENTED=YES, HISTORY=YES +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Switch to (con3, localhost, user3, , ) +connect (con3, localhost, user3, , ); + +# Expecting INSTRUMENTED=NO, HISTORY=NO +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Switch to (con4 localhost, user4, , ) +connect (con4, localhost, user4, , ); + +# Expecting INSTRUMENTED=NO, HISTORY=YES +select NAME, TYPE, INSTRUMENTED, HISTORY, PROCESSLIST_USER, PROCESSLIST_HOST +from performance_schema.threads +where PROCESSLIST_ID = connection_id(); + +--echo # Disconnect all con +--disconnect con1 +--disconnect con2 +--disconnect con3 +--disconnect con4 + +--echo # Switch to connection default +--connection default + +revoke all privileges, grant option from user1@localhost; +revoke all privileges, grant option from user2@localhost; +revoke all privileges, grant option from user3@localhost; +revoke all privileges, grant option from user4@localhost; +drop user user1@localhost; +drop user user2@localhost; +drop user user3@localhost; +drop user user4@localhost; +flush privileges; + +truncate table performance_schema.setup_actors; + +insert into performance_schema.setup_actors +values ('%', '%', '%', 'YES', 'YES'); + +select * from performance_schema.setup_actors; + diff --git a/mysql-test/suite/perfschema/t/setup_consumers_defaults-master.opt b/mysql-test/suite/perfschema/t/setup_consumers_defaults-master.opt index bc05fa8d5bc..db53957b031 100644 --- a/mysql-test/suite/perfschema/t/setup_consumers_defaults-master.opt +++ b/mysql-test/suite/perfschema/t/setup_consumers_defaults-master.opt @@ -1,11 +1,18 @@ --loose-performance-schema-consumer-events-stages-current=OFF --loose-performance-schema-consumer-events-stages-history=ON --loose-performance-schema-consumer-events-stages-history-long=OFF + --loose-performance-schema-consumer-events-statements-current=ON --loose-performance-schema-consumer-events-statements-history=OFF --loose-performance-schema-consumer-events-statements-history-long=ON + +--loose-performance-schema-consumer-events-transactions-current=ON +--loose-performance-schema-consumer-events-transactions-history=OFF +--loose-performance-schema-consumer-events-transactions-history-long=ON + --loose-performance-schema-consumer-events-waits-current=OFF --loose-performance-schema-consumer-events-waits-history=ON --loose-performance-schema-consumer-events-waits-history-long=OFF + --loose-performance-schema-consumer-global-instrumentation=ON --loose-performance-schema-consumer-thread-instrumentation=ON diff --git a/mysql-test/suite/perfschema/t/setup_consumers_defaults.test b/mysql-test/suite/perfschema/t/setup_consumers_defaults.test index e845e577fb7..d8aa52a1796 100644 --- a/mysql-test/suite/perfschema/t/setup_consumers_defaults.test +++ b/mysql-test/suite/perfschema/t/setup_consumers_defaults.test @@ -15,4 +15,4 @@ SELECT @@performance_schema_consumer_events_stages_current; --error ER_UNKNOWN_SYSTEM_VARIABLE SET @@performance_schema_consumer_events_stages_current=0; -SHOW VARIABLES LIKE "performance_schema_consumer%"; +SHOW GLOBAL VARIABLES LIKE "performance_schema_consumer%"; diff --git a/mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt b/mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt index eec7d4af545..dac81d31f60 100644 --- a/mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt +++ b/mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt @@ -10,10 +10,10 @@ --loose-performance-schema-instrument=' wait/synch/mutex/sql/% = OFF ' --loose-performance-schema-instrument='wait/synch/mutex/sql/% = OFF ' --loose-performance-schema-instrument='wait/synch/mutex/sql/LOCK% = ON' ---loose-performance-schema-instrument='wait/synch/mutex/sql/LOCK_thread_count=OFF' +--loose-performance-schema-instrument='wait/synch/mutex/sql/LOCK_thd_count=OFF' --loose-performance-schema-instrument=' wait/synch/mutex/sql/LOCK_user_conn = COUNTED' --loose-performance-schema-instrument='wait%/synch/mutex/sql/LOCK_uu%_genera%/= COUNTED' ---loose-performance-schema-instrument='%%wait/synch/mutex/sql/LOCK_xid_cache=COUNTED' +--loose-performance-schema-instrument='%%wait/synch/mutex/sql/LOCK_transaction_cache=COUNTED' --loose-performance-schema-instrument='%=FOO' --loose-performance-schema-instrument='%=%' --loose-performance-schema-instrument='%' @@ -24,7 +24,6 @@ --loose-performance-schema-instrument='wait/synch/mutex/sql/THD::LOCK_thd_data= TRUE' --loose-performance-schema-instrument='wait/synch/mutex/sql/hash_filo::lock =FALSE' --loose-performance-schema-instrument='wait/synch/mutex/sql/TABLE_SHARE::LOCK_ha_data= NO' - - - +--loose-performance-schema-instrument='memory/%=ON' +--loose-performance-schema-instrument='memory/performance_schema/%=OFF' diff --git a/mysql-test/suite/perfschema/t/setup_instruments_defaults.test b/mysql-test/suite/perfschema/t/setup_instruments_defaults.test index cfddfd9f1e6..742c2860ecf 100644 --- a/mysql-test/suite/perfschema/t/setup_instruments_defaults.test +++ b/mysql-test/suite/perfschema/t/setup_instruments_defaults.test @@ -15,19 +15,19 @@ SELECT * FROM performance_schema.setup_instruments WHERE name IN ( 'wait/synch/mutex/sql/LOCK_user_conn', 'wait/synch/mutex/sql/LOCK_uuid_generator', - 'wait/synch/mutex/sql/LOCK_xid_cache', + 'wait/synch/mutex/sql/LOCK_transaction_cache', 'stage/sql/creating table') AND enabled = 'yes' AND timed = 'no' ORDER BY name; SELECT * FROM performance_schema.setup_instruments -WHERE name = 'wait/synch/mutex/sql/LOCK_thread_count' +WHERE name = 'wait/synch/mutex/sql/LOCK_thd_list' AND enabled = 'no' AND timed = 'no'; SELECT * FROM performance_schema.setup_instruments WHERE name IN ( 'wait/synch/mutex/sql/LOG_INFO::lock', - 'wait/synch/mutex/sql/THD::LOCK_thd_data') + 'wait/synch/mutex/sql/THD::LOCK_thd_list') AND enabled = 'yes' AND timed = 'yes' ORDER BY name; @@ -37,6 +37,21 @@ AND enabled = 'no' AND timed = 'no' ORDER BY name; --echo # +--echo # Verify that the memory instruments are never timed +--echo # +SELECT * FROM performance_schema.setup_instruments +WHERE name like 'memory/%' +AND timed = 'YES'; + +--echo # +--echo # Verify that the memory/performance_schema instruments are never disabled +--echo # +SELECT * FROM performance_schema.setup_instruments +WHERE name like 'memory/performance_schema/%' +AND enabled = 'NO'; + + +--echo # --echo # Verify that the instrument startup settings are not not visible. --echo # SHOW VARIABLES LIKE "%/wait/synch/mutex%"; diff --git a/mysql-test/suite/perfschema/t/setup_object_table_lock_io.test b/mysql-test/suite/perfschema/t/setup_object_table_lock_io.test new file mode 100644 index 00000000000..aaa17fa79ad --- /dev/null +++ b/mysql-test/suite/perfschema/t/setup_object_table_lock_io.test @@ -0,0 +1,107 @@ +# Test for Performance Schema. +# To test the effect of disabling/enabling instrumentation for a table +# in setup_objects table. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--disable_warnings +drop table if exists test.setup_objects; +--enable_warnings + +# Make sure only table io / table lock is instrumented and timed +update performance_schema.setup_instruments set enabled='NO'; +update performance_schema.setup_instruments set enabled='YES', timed='YES' + where name in ('wait/io/table/sql/handler', 'wait/lock/table/sql/handler'); + +# Remove noise from previous tests +truncate table performance_schema.table_io_waits_summary_by_table; +truncate table performance_schema.table_lock_waits_summary_by_table; + +# Save the setup +create table test.setup_objects as select * from performance_schema.setup_objects; +truncate table performance_schema.setup_objects; +select * from performance_schema.setup_objects; + +insert into performance_schema.setup_objects + values ('TABLE', 'db1', 't1', 'YES', 'YES'); + +insert into performance_schema.setup_objects + values ('TABLE', 'db1', 't2', 'YES', 'YES'); + +select * from performance_schema.setup_objects + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; +SET sql_mode = default; + +--disable_warnings +drop database if exists db1; +--enable_warnings + +create database db1; +create table db1.t1 (a int, b char(10) default 'default', unique key uidx(a)); +create table db1.t2 (a int, b char(10) default 'default'); + +# Insert some values in tables. +insert into db1.t1 values('11', 'db1.t1'); +insert into db1.t1 values('12', 'db1.t1'); +insert into db1.t1 values('13', 'db1.t1'); +insert into db1.t2 values('21', 'db1.t2'); +insert into db1.t2 values('22', 'db1.t2'); +insert into db1.t2 values('23', 'db1.t2'); + +# Query P_S tables. Stats should be updated. +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE + from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1'; +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE + from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1'; + +truncate table db1.t1; +truncate table db1.t2; + +# Query P_S tables. Stats should be updated. +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE + from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1'; +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE + from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1'; + +# Disable instrumentation for db1.t1 +update performance_schema.setup_objects + set ENABLED='NO' where OBJECT_SCHEMA = 'db1' and OBJECT_NAME='t1'; + +# Query P_S tables. Stats for db1.t1 should have been removed while for db1.t2 it should have been preserved. +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE + from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1'; +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE + from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1'; + +# Enable instrumentation for db1.t1 +update performance_schema.setup_objects + set ENABLED='YES' where OBJECT_SCHEMA = 'db1' and OBJECT_NAME='t1'; + +# Query P_S tables. Stats for db1.t1 should have been reset while for db1.t2 it should have been preserved. +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE + from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1'; +select OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_READ, COUNT_WRITE + from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1'; + +truncate table performance_schema.setup_objects; + +select count(*) from performance_schema.setup_objects; + +drop database db1; + +# Restore the setup +truncate table performance_schema.setup_objects; +insert into performance_schema.setup_objects select * from test.setup_objects; +drop table test.setup_objects; + +update performance_schema.setup_instruments set enabled='YES', timed='YES'; + diff --git a/mysql-test/suite/perfschema/t/setup_objects.test b/mysql-test/suite/perfschema/t/setup_objects.test index cd1b4ce80e0..604b35b00ca 100644 --- a/mysql-test/suite/perfschema/t/setup_objects.test +++ b/mysql-test/suite/perfschema/t/setup_objects.test @@ -48,7 +48,7 @@ insert into performance_schema.setup_objects values ('TABLE', 'db4', '%', 'YES', 'NO'); # Also test insert of invalid enum values - +SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; --error ER_NO_REFERENCED_ROW_2 insert into performance_schema.setup_objects values ('SOMETHING', 'bad1', 'bad1', 'YES', 'NO'); @@ -88,7 +88,7 @@ update performance_schema.setup_objects select * from performance_schema.setup_objects order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; - +SET sql_mode = default; --disable_warnings drop database if exists db1; drop database if exists db2; diff --git a/mysql-test/suite/perfschema/t/short_option_1-master.opt b/mysql-test/suite/perfschema/t/short_option_1-master.opt index 6ef223bf49b..4c18fa488d0 100644 --- a/mysql-test/suite/perfschema/t/short_option_1-master.opt +++ b/mysql-test/suite/perfschema/t/short_option_1-master.opt @@ -1 +1 @@ --a -n -Cutf8 --collation=utf8_bin -T12 -W3 +-a -n -Cutf8 --collation-server=utf8_bin -T12 -W2 diff --git a/mysql-test/suite/perfschema/t/short_option_1.test b/mysql-test/suite/perfschema/t/short_option_1.test index 2b616844e58..3d0cc77d5a6 100644 --- a/mysql-test/suite/perfschema/t/short_option_1.test +++ b/mysql-test/suite/perfschema/t/short_option_1.test @@ -6,15 +6,15 @@ select 'Ok, the server started' as result; # See the associated -master.opt file. select @@SQL_MODE; -show variables like 'sql_mode'; +show global variables like 'sql_mode'; select @@character_set_server; -show variables like 'character_set_system'; +show global variables like 'character_set_system'; -show variables like 'log'; -show variables like 'general_log'; +show global variables like 'log'; +show global variables like 'general_log'; -show variables like 'new'; +show global variables like 'new'; -show variables like 'log_warnings'; +show global variables like 'log_warnings'; diff --git a/mysql-test/suite/perfschema/t/short_option_2-master.opt b/mysql-test/suite/perfschema/t/short_option_2-master.opt index 5cf7590a1c8..5d45b9ec91d 100644 --- a/mysql-test/suite/perfschema/t/short_option_2-master.opt +++ b/mysql-test/suite/perfschema/t/short_option_2-master.opt @@ -1 +1 @@ --aW5 +-aW2 diff --git a/mysql-test/suite/perfschema/t/short_option_2.test b/mysql-test/suite/perfschema/t/short_option_2.test index 77798c36722..0921849cd08 100644 --- a/mysql-test/suite/perfschema/t/short_option_2.test +++ b/mysql-test/suite/perfschema/t/short_option_2.test @@ -4,11 +4,11 @@ select 'Ok, the server started' as result; # See the associated -master.opt file. -# -aW5 should be parsed as -a -W5, which are two separate short options +# -aW2 should be parsed as -a -W2, which are two separate short options # stuffed inside a single argv[i] argument. # Should contain ANSI, since we started the server with -a (stands for --ansi) select @@SQL_MODE; -# Should be 5, since we started the server with -W5 +# Should be 2, since we started the server with -W2 select @@log_warnings; diff --git a/mysql-test/suite/perfschema/t/show_aggregate-master.opt b/mysql-test/suite/perfschema/t/show_aggregate-master.opt new file mode 100644 index 00000000000..cef79bc8585 --- /dev/null +++ b/mysql-test/suite/perfschema/t/show_aggregate-master.opt @@ -0,0 +1 @@ +--force-restart diff --git a/mysql-test/suite/perfschema/t/show_aggregate.test b/mysql-test/suite/perfschema/t/show_aggregate.test new file mode 100644 index 00000000000..e2f571100a4 --- /dev/null +++ b/mysql-test/suite/perfschema/t/show_aggregate.test @@ -0,0 +1,296 @@ +################# suite/perfschema/t/show_aggregate.test ####################### +# # +# This test verifies: # +# 1. Status variable values are consistent with corresponding server events. # +# 2. Status variable values are consistent across session, thread, account, # +# host, user and global tables. # +# 3. Status totals for user, host and account are retained after related # +# threads disconnect. # +################################################################################ + +--source include/have_perfschema.inc +--source include/not_embedded.inc +--source include/no_protocol.inc + +--enable_connect_log + +--echo +--echo ================================================================================ +--echo SETUP +--echo ================================================================================ +--echo # Save current SHOW_COMPATIBILITY_56 setting +SELECT @@global.show_compatibility_56 INTO @show_compatibility_56_save; +SET @@global.show_compatibility_56=OFF; +SET @@session.sql_log_bin=OFF; +--echo +--echo # CREATE 3 CLIENTS, 3 CONNECTIONS, RESULTS TABLE +connection default; +USE test; + +# Clear user, host and account status accumulated from preliminary checks by mtr. +--disable_query_log +flush status; +--enable_query_log + +--echo +--echo # Create results table +CREATE TABLE test.status_results + (variable_name VARCHAR(64), start INT DEFAULT 0, stop INT DEFAULT 0, delta INT DEFAULT 0, + t1 INT DEFAULT 0, t2 INT DEFAULT 0, t3 INT DEFAULT 0, thread INT DEFAULT 0, + u1 INT DEFAULT 0, u2 INT DEFAULT 0, u3 INT DEFAULT 0, user INT DEFAULT 0, + h1 INT DEFAULT 0, h2 INT DEFAULT 0, h3 INT DEFAULT 0, host INT DEFAULT 0, + a1 INT DEFAULT 0, a2 INT DEFAULT 0, a3 INT DEFAULT 0, acct INT DEFAULT 0); + +INSERT INTO test.status_results (variable_name, start) + SELECT sg.variable_name, sg.variable_value+0 FROM performance_schema.global_status sg + WHERE variable_name IN ('handler_delete', 'handler_rollback'); + +--echo +--echo # Create test tables +CREATE TABLE t1 (s1 int) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1), (2), (2), (3), (3), (3); +CREATE TABLE t2 (s1 int) ENGINE=InnoDB; +CREATE TABLE t3 (s1 int) ENGINE=InnoDB; +--echo +set @orig_sql_mode= @@sql_mode; +set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); +GRANT ALL ON *.* to 'user1'@localhost; +GRANT ALL ON *.* to 'user2'@localhost; +GRANT ALL ON *.* to 'user3'@localhost; +set sql_mode= @orig_sql_mode; + +--echo +--echo ================================================================================ +--echo CONNECTION 1: DELETE 1, ROLLBACK x 1 +--echo ================================================================================ +connect(con1, localhost, user1,,); +SET @@session.sql_log_bin=OFF; +DELETE FROM t1 WHERE s1 = 1; +START TRANSACTION; +INSERT INTO t1 VALUES (1); +ROLLBACK; + +--echo +--echo ================================================================================ +--echo CONNECTION 2: DELETE 2, ROLLBACK x 2 +--echo ================================================================================ +connect(con2, localhost, user2,,); +SET @@session.sql_log_bin=OFF; +DELETE FROM t1 WHERE s1 = 2; +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (2); +ROLLBACK; +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (2); +ROLLBACK; + +--echo +--echo ================================================================================ +--echo CONNECTION 3: DELETE 3, ROLLBACK x 3 +--echo ================================================================================ +connect(con3, localhost, user3,,); +SET @@session.sql_log_bin=OFF; +DELETE FROM t1 WHERE s1 = 3; +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (3); +ROLLBACK; +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (3); +ROLLBACK; +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (3); +ROLLBACK; + +--echo +--echo ================================================================================ +--echo CONNECTION DEFAULT: Gather results, compare session and global status counts +--echo ================================================================================ +connection default; +--echo # Get thread ids for each connection. +USE performance_schema; +SELECT thread_id INTO @con1_id FROM threads WHERE processlist_user IN ('user1'); +SELECT thread_id INTO @con2_id FROM threads WHERE processlist_user IN ('user2'); +SELECT thread_id INTO @con3_id FROM threads WHERE processlist_user IN ('user3'); + +--source ../include/show_aggregate.inc + +#--echo DEBUG +#USE test; +#SELECT * FROM test.status_results; + +--echo +--echo ================================================================================ +--echo TEST 1: STATUS_BY_THREAD: Verify expected status counts per thread (1,2,3) +--echo ================================================================================ +--echo # +--echo # Review per-thread status counts +--echo # +USE performance_schema; +--replace_column 1 thread_id +SELECT * FROM status_by_thread WHERE thread_id IN (@con1_id, @con2_id, @con3_id) AND variable_name IN ('handler_delete', 'handler_rollback') ORDER BY thread_id; + +--echo # +--echo # Verify expected counts for 'handler_delete' per thread +--echo # +--replace_column 1 connect_1 +SELECT *, IF (variable_value = 1,'OK','ERROR') AS Expected FROM status_by_thread WHERE thread_id = @con1_id AND variable_name IN ('handler_delete'); +--echo +--replace_column 1 connnect_2 +SELECT *, IF (variable_value = 2,'OK','ERROR') AS Expected FROM status_by_thread WHERE thread_id = @con2_id AND variable_name IN ('handler_delete'); +--echo +--replace_column 1 connnect_3 +SELECT *, IF (variable_value = 3,'OK','ERROR') AS Expected FROM status_by_thread WHERE thread_id = @con3_id AND variable_name IN ('handler_delete'); + +--echo # +--echo # STATUS_BY_THREAD vs. GLOBAL_STATUS +--echo # +SELECT variable_name, t1, t2, t3, delta, thread, IF(thread=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; + +--echo +--echo ================================================================================ +--echo TEST 2: STATUS_BY_USER: Verify expected status counts per user (1,2,3) +--echo ================================================================================ +SELECT *, IF (variable_value = 1,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user1') AND variable_name IN ('handler_delete'); +--echo +SELECT *, IF (variable_value = 2,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user2') AND variable_name IN ('handler_delete'); +--echo +SELECT *, IF (variable_value = 3,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user3') AND variable_name IN ('handler_delete'); + +--echo # +--echo # STATUS_BY_USER vs. GLOBAL_STATUS +--echo # +SELECT variable_name, u1, u2, u3, delta, user, IF(user=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; + +--echo +--echo ================================================================================ +--echo TEST 3: STATUS_BY_ACCOUNT: Verify expected status counts per user, host (1,2,3) +--echo ================================================================================ +SELECT *, IF (variable_value = 1,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user1') AND variable_name IN ('handler_delete'); +--echo +SELECT *, IF (variable_value = 2,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user2') AND variable_name IN ('handler_delete'); +--echo +SELECT *, IF (variable_value = 3,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user3') AND variable_name IN ('handler_delete'); + +--echo # +--echo # STATUS_BY_ACCOUNT vs. GLOBAL_STATUS +--echo # +SELECT variable_name, a1, a2, a3, delta, acct, IF(acct=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; + +--echo ================================================================================ +--echo TEST 4: STATUS_BY_HOST: Verify expected status counts per host (6) +--echo ================================================================================ +SELECT *, IF (variable_value = 6,'OK','ERROR') AS Expected FROM status_by_host WHERE host IN ('localhost') AND variable_name IN ('handler_delete'); + +--echo # +--echo # STATUS_BY_HOST vs. GLOBAL_STATUS +--echo # +--echo # Special case: No way to isolate pre-existing 'localhost' activity, so +--echo # just check global totals = sum(status_by_host). +--echo # +SELECT variable_name, h1, h2, h3, delta, host, IF(host=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; + +--echo +--echo ================================================================================ +--echo DISCONNECT ALL USERS AND RUN THE TESTS AGAIN. RESULTS SHOULD NOT CHANGE. +--echo ================================================================================ +connection default; +disconnect con1; +disconnect con2; +disconnect con3; +--echo +USE test; +--echo +--echo # Clear results table, leave initial global_status counts +UPDATE test.status_results + SET stop=0, delta=0, + t1=0, t2=0, t3=0, thread=0, + u1=0, u2=0, u3=0, user=0, + h1=0, h2=0, h3=0, host=0, + a1=0, a2=0, a3=0, acct=0; + +#--echo DEBUG +#SELECT * FROM test.status_results; +--echo +--source ../include/show_aggregate.inc + +USE performance_schema; +--echo +--echo ================================================================================ +--echo TEST X: STATUS_BY_THREAD: Connections are gone--nothing to verify. +--echo ================================================================================ +--echo +--echo ================================================================================ +--echo TEST 5: STATUS_BY_USER: Verify expected status counts per user (1,2,3) +--echo ================================================================================ +SELECT *, IF (variable_value = 1,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user1') AND variable_name IN ('handler_delete'); +--echo +SELECT *, IF (variable_value = 2,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user2') AND variable_name IN ('handler_delete'); +--echo +SELECT *, IF (variable_value = 3,'OK','ERROR') AS Expected FROM status_by_user WHERE user IN ('user3') AND variable_name IN ('handler_delete'); + +--echo # +--echo # STATUS_BY_USER vs. GLOBAL_STATUS +--echo # +SELECT variable_name, u1, u2, u3, delta, user, IF(user=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; + +--echo +--echo ================================================================================ +--echo TEST 6: STATUS_BY_ACCOUNT: Verify expected status counts per user:host (1,2,3) +--echo ================================================================================ +SELECT *, IF (variable_value = 1,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user1') AND variable_name IN ('handler_delete'); +--echo +SELECT *, IF (variable_value = 2,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user2') AND variable_name IN ('handler_delete'); +--echo +SELECT *, IF (variable_value = 3,'OK','ERROR') AS Expected FROM status_by_account WHERE user IN ('user3') AND variable_name IN ('handler_delete'); + +--echo # +--echo # STATUS_BY_ACCOUNT vs. GLOBAL_STATUS +--echo # +SELECT variable_name, a1, a2, a3, delta, acct, IF(acct=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; + +--echo ================================================================================ +--echo TEST 7: STATUS_BY_HOST: Verify expected status counts per host (6) +--echo ================================================================================ +SELECT *, IF (variable_value = 6,'OK','ERROR') AS Expected FROM status_by_host WHERE host IN ('localhost') AND variable_name IN ('handler_delete'); + +--echo # +--echo # STATUS_BY_HOST vs. GLOBAL_STATUS +--echo # +--echo # Special case: No way to isolate pre-existing 'localhost' activity, so +--echo # just check global totals = sum(status_by_host). +--echo # +SELECT variable_name, h1, h2, h3, delta, host, IF(host=delta,'OK','ERROR') Expected +FROM test.status_results +ORDER BY variable_name; + +--echo ================================================================================ +--echo CLEANUP +--echo ================================================================================ +DROP TABLE test.t1; +DROP TABLE test.t2; +DROP TABLE test.t3; +DROP TABLE test.status_results; +DROP USER 'user1'@localhost; +DROP USER 'user2'@localhost; +DROP USER 'user3'@localhost; +--echo +--echo # Restore SHOW_COMPATIBILITY_56 setting +SET @@global.show_compatibility_56 = @show_compatibility_56_save; + diff --git a/mysql-test/suite/perfschema/t/show_coverage.test b/mysql-test/suite/perfschema/t/show_coverage.test new file mode 100644 index 00000000000..ecf21a76a38 --- /dev/null +++ b/mysql-test/suite/perfschema/t/show_coverage.test @@ -0,0 +1,124 @@ +################### suite/perfschema/t/show_coverage.test ###################### +# # +# Testcases to increase DGCOV coverage of the status and system variable # +# implementation in the Performance Schema. # +# # +################################################################################ +--source include/have_perfschema.inc +--source include/not_embedded.inc +--source include/no_protocol.inc + +select @@global.show_compatibility_56 into @show_compatibility_56_save; +--echo +--echo ================================================================================ +--echo SHOW_COMPATIBILITY_56 = ON +--echo ================================================================================ +set global show_compatibility_56 = ON; + +--echo +--echo # TEST 1 +--echo # Handling of SHOW STATUS/VARIABLES ... WHERE +--echo # +SHOW STATUS WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW GLOBAL STATUS WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW SESSION STATUS WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW SESSION VARIABLES WHERE VARIABLE_NAME LIKE "foo"; + +--echo +--echo # TEST 2 +--echo # CREATE..SELECT -- Expect correct ER_WARN_DEPRECATED_SYNTAX +--echo # +USE test; +CREATE TABLE t0 SELECT * FROM information_schema.global_status WHERE variable_name = 'COM_SELECT'; +DROP TABLE t0; + +--echo +--echo ================================================================================ +--echo SHOW_COMPATIBILITY_56 = OFF +--echo ================================================================================ +set global show_compatibility_56 = OFF; +--echo +--echo # TEST 3 +--echo # Select status and system variable tables using ORDER BY to exercise the +--echo # rnd_pos() method +--echo # +use performance_schema; +--disable_result_log +select * from global_variables order by variable_name; +select * from variables_by_thread order by variable_name; +select * from session_variables order by variable_name; +select * from global_status order by variable_name; +select * from session_status order by variable_name; +select * from status_by_thread order by variable_name; +select * from status_by_user order by variable_name; +select * from status_by_host order by variable_name; +select * from status_by_account order by variable_name; +--enable_result_log + +--echo +--echo # TEST 4 +--echo # Handling of SHOW STATUS/VARIABLES ... WHERE +--echo # +SHOW STATUS WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW GLOBAL STATUS WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW SESSION STATUS WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW SESSION VARIABLES WHERE VARIABLE_NAME LIKE "foo"; + +--echo +--echo # TEST 5 +--echo # Confirm FLUSH STATUS resets counters for all threads. +--echo # +--echo +--echo # Create a new connection +--connect(con1, localhost, root,,) +--echo +--echo # Record thread id +let $thread_id= `SELECT THREAD_ID FROM performance_schema.threads WHERE PROCESSLIST_ID = CONNECTION_ID()`; +--echo +--echo # Increase bytes_received for new connection +USE test; +SHOW TABLES; +--connection default +USE performance_schema; +--disable_query_log +eval SELECT $thread_id INTO @thread_id; +--enable_query_log + +--echo +--echo # Record bytes_received for other connection +SELECT variable_value FROM status_by_thread + WHERE variable_name = "bytes_received" and thread_id = @thread_id INTO @bytes_before; +--echo +--echo # Reset status counters +FLUSH STATUS; +--echo +--echo # Record bytes_received after reset +SELECT variable_value FROM status_by_thread + WHERE variable_name = "bytes_received" and thread_id = @thread_id INTO @bytes_after; +--echo +--echo # Expect bytes_before > bytes_after +SELECT @bytes_before > @bytes_after; +--echo +--echo # Expect bytes_after is zero +SELECT @bytes_after; + +disconnect con1; + +--echo +--echo # CLEANUP +set @@global.show_compatibility_56 = @show_compatibility_56_save; + diff --git a/mysql-test/suite/perfschema/t/show_misc.test b/mysql-test/suite/perfschema/t/show_misc.test new file mode 100644 index 00000000000..e56c859913b --- /dev/null +++ b/mysql-test/suite/perfschema/t/show_misc.test @@ -0,0 +1,83 @@ +--source include/have_perfschema.inc +--source include/not_embedded.inc +--source include/no_protocol.inc + +select @@global.show_compatibility_56 into @show_compatibility_56_save; + +--echo ================================================================================ +--echo SHOW_COMPATIBILITY_56 = ON +--echo ================================================================================ +set global show_compatibility_56 = on; + +select 1; +SHOW STATUS LIKE 'Last_query_partial_plans'; +select 2; +SHOW STATUS LIKE 'Last_query_cost'; + + +--echo +--echo ================================================================================ +--echo SHOW_COMPATIBILITY_56 = OFF +--echo ================================================================================ +set global show_compatibility_56 = off; + +select 1; +SHOW STATUS LIKE 'Last_query_partial_plans'; +select 2; +SHOW STATUS LIKE 'Last_query_cost'; + + +--echo ================================================================================ +--echo SHOW_COMPATIBILITY_56 = ON +--echo ================================================================================ +flush status; +set global show_compatibility_56 = on; +SHOW STATUS LIKE 'Created_tmp_tables'; + +--echo +--echo ================================================================================ +--echo SHOW_COMPATIBILITY_56 = OFF +--echo ================================================================================ +set global show_compatibility_56 = off; + +SHOW STATUS LIKE 'Created_tmp_tables'; + +--echo +--echo ================================================================================ +--echo Bug#21789221 SHOW STATUS FAILS WITH LOCK TABLES AND SHOW_COMPATIBILITY_56=OFF +--echo ================================================================================ +--echo Verify that SHOW STATUS and SHOW VARIABLES works under LOCK TABLES mode +--echo +CREATE TABLE test.t1 (s1 INT); +LOCK TABLE test.t1 READ; +--echo +SHOW GLOBAL STATUS WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW SESSION STATUS WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW SESSION VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +--echo +UNLOCK TABLES; +--echo +LOCK TABLE test.t1 WRITE; +--echo +SHOW GLOBAL STATUS WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW SESSION STATUS WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW GLOBAL VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +--echo +SHOW SESSION VARIABLES WHERE VARIABLE_NAME LIKE "foo"; +--echo +UNLOCK TABLES; + +DROP TABLE test.t1; + +--echo +--echo ================================================================================ +--echo CLEAN UP +--echo ================================================================================ +set @@global.show_compatibility_56 = @show_compatibility_56_save; + diff --git a/mysql-test/suite/perfschema/t/show_plugin-master.opt b/mysql-test/suite/perfschema/t/show_plugin-master.opt new file mode 100644 index 00000000000..66dd39684b2 --- /dev/null +++ b/mysql-test/suite/perfschema/t/show_plugin-master.opt @@ -0,0 +1,3 @@ +$EXAMPLE_PLUGIN_OPT + + diff --git a/mysql-test/suite/perfschema/t/show_plugin.test b/mysql-test/suite/perfschema/t/show_plugin.test new file mode 100644 index 00000000000..047caf71a4b --- /dev/null +++ b/mysql-test/suite/perfschema/t/show_plugin.test @@ -0,0 +1,477 @@ +################# suite/perfschema/t/show_plugin.test ########################## +# # +# MySQL plugins can define their own status variables and system variables. # +# This test exercises SHOW STATUS, SHOW VARIABLES and the status and system # +# variable tables while the EXAMPLE plugin is loaded and unloaded. # +# # +# The EXAMPLE plugin defines the following system and status variables: # +# Global system variables: # +# example_double_thdvar # +# example_double_var # +# example_enum_var # +# example_ulong_var # +# # +# Session variables: # +# example_double_thdvar - Local and/or global # +# # +# Global status: # +# example_func_example - Status function # +# # +################################################################################ + +--source include/have_perfschema.inc +--source include/not_embedded.inc +--source include/not_windows_embedded.inc +--source include/have_example_plugin.inc +--source include/have_debug_sync.inc + +--enable_connect_log + +--echo +--echo ================================================================================ +--echo SETUP +--echo ================================================================================ +--echo # Save the initial number of concurrent sessions +--source include/count_sessions.inc +--echo +--echo # Save current SHOW_COMPATIBILITY_56 setting +SELECT @@global.show_compatibility_56 INTO @show_compatibility_56_save; +--echo # +--echo # SET COMPATIBILITY MODE = OFF +--echo # +SET @@global.show_compatibility_56 = OFF; +--echo +--echo # Verify EXAMPLE plugin is not loaded +SELECT COUNT(*) = 0 AS "Expect 1" FROM information_schema.plugins WHERE plugin_name = "EXAMPLE"; +--echo +--echo # Create one session to force local and global system variables; +connect(con0, localhost, root,,); +--connection default +--echo +--echo ================================================================================ +--echo TEST 1- NO PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier.inc +--echo + +--echo ================================================================================ +--echo TEST 2 - PLUGIN LOAD, UNLOAD, RELOAD +--echo ================================================================================ +--echo ================================================================================ +--echo 2.1 - INSTALL PLUGIN +--echo ================================================================================ +--replace_regex /\.dll/.so/ +eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN'; + +--echo +--echo ================================================================================ +--echo 2.1a - FORCE SYNC OF LOCAL AND GLOBAL SYSTEM VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier.inc + +--disconnect con0 + +--echo +--echo ================================================================================ +--echo 2.2 - SET PLUGIN VARS +--echo ================================================================================ +--echo # GLOBAL +SET GLOBAL example_ulong_var = 100; +SET GLOBAL example_enum_var = e1; +SET GLOBAL example_double_var = 100.9990; +SET GLOBAL example_double_thdvar = 101.9991; +--echo # SESSION +SET SESSION example_double_thdvar = 102.9992; + +--echo +--echo ================================================================================ +--echo 2.3 - VERIFY UPDATED PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier.inc + +--echo +--echo ================================================================================ +--echo 2.4 - UNINSTALL PLUGIN +--echo ================================================================================ +UNINSTALL PLUGIN example; + +--echo +--echo ================================================================================ +--echo 2.5 - VERIFY NO PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier.inc + +--echo +--echo ================================================================================ +--echo 2.6 - REINSTALL PLUGIN +--echo ================================================================================ +--echo # Reinstall EXAMPLE plugin +--replace_regex /\.dll/.so/ +eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN'; + +--echo +--echo ================================================================================ +--echo 2.7 - SET PLUGIN VARS AGAIN +--echo ================================================================================ +--echo # GLOBAL +SET GLOBAL example_ulong_var = 200; +SET GLOBAL example_enum_var = e2; +SET GLOBAL example_double_var = 200.8880; +SET GLOBAL example_double_thdvar = 201.8881; +--echo # SESSION +SET SESSION example_double_thdvar = 202.8882; + +--echo +--echo ================================================================================ +--echo 2.8 - VERIFY PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier.inc + +--echo +--echo ================================================================================ +--echo 2.9 - UNINSTALL PLUGIN +--echo ================================================================================ +UNINSTALL PLUGIN example; + +--echo +--echo ================================================================================ +--echo 2.10 - VERIFY NO PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier.inc + +--echo +--echo ================================================================================ +--echo TEST 3 - SESSION PLUGIN VARS ON MULTIPLE CONNECTIONS +--echo ================================================================================ +--echo +--echo ================================================================================ +--echo 3.1 - INSTALL PLUGIN +--echo ================================================================================ +--replace_regex /\.dll/.so/ +eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN'; + +--echo +--echo ================================================================================ +--echo 3.2 - SET GLOBAL AND DEFAULT CONNECTION VARS +--echo ================================================================================ +--connection default +SET GLOBAL example_ulong_var = 300; +SET GLOBAL example_enum_var = e1; +SET GLOBAL example_double_var = 301.0000; +SET GLOBAL example_double_thdvar = 302.0000; +SET SESSION example_double_thdvar = 300.0000; + +--echo +--echo ================================================================================ +--echo 3.3 - CONNECT 3 CLIENTS, SET LOCAL PLUGIN VARS +--echo ================================================================================ +connect(con1, localhost, root,,); +SET SESSION example_double_thdvar = 300.1111; +--echo +connect(con2, localhost, root,,); +SET SESSION example_double_thdvar = 300.2222; +--echo +connect(con3, localhost, root,,); +SET SESSION example_double_thdvar = 300.3333; +--echo +--connection default + +--echo +--echo ================================================================================ +--echo 3.4 - VERIFY GLOBAL AND SESSION PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier.inc +--echo +--echo # Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; + +--echo +--echo ================================================================================ +--echo 3.5 - DISCONNECT CLIENTS +--echo ================================================================================ +--connection con1 +--disconnect con1 +--source include/wait_until_disconnected.inc + +--connection con2 +--disconnect con2 +--source include/wait_until_disconnected.inc + +--connection con3 +--disconnect con3 +--source include/wait_until_disconnected.inc + +--connection default + +--echo +--echo ================================================================================ +--echo 3.6 - VERIFY SESSION VARS ARE REMOVED +--echo ================================================================================ +--source ../include/show_plugin_verifier.inc +--echo +--echo # Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; + +--echo +--echo ================================================================================ +--echo 3.7 - RECONNECT 3 CLIENTS, SET SESSION VARS FOR EACH +--echo ================================================================================ +connect(con1, localhost, root,,); +SET SESSION example_double_thdvar = 311.1111; +--echo +connect(con2, localhost, root,,); +SET SESSION example_double_thdvar = 322.2222; +--echo +connect(con3, localhost, root,,); +SET SESSION example_double_thdvar = 333.3333; +--echo +--connection default + +--echo +--echo ================================================================================ +--echo 3.8 - VERIFY GLOBAL AND SESSION VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier.inc +--echo +--echo # Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; + +--echo +--echo ================================================================================ +--echo 3.9 - UNINSTALL PLUGIN, LEAVE CLIENTS CONNECTED +--echo ================================================================================ +UNINSTALL PLUGIN example; + +--echo +--echo ================================================================================ +--echo 3.10 - VERIFY SESSION VARS ARE REMOVED +--echo ================================================================================ +--source ../include/show_plugin_verifier.inc +--echo +--echo # VARIABLES BY THREAD +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; + +--echo +--echo ================================================================================ +--echo 3.11 - DISCONNECT CLIENTS +--echo ================================================================================ +--connection con1 +--disconnect con1 +--source include/wait_until_disconnected.inc + +--connection con2 +--disconnect con2 +--source include/wait_until_disconnected.inc + +--connection con3 +--disconnect con3 +--source include/wait_until_disconnected.inc + +--connection default + +--echo +--echo ================================================================================ +--echo 3.12 - VERIFY CLIENTS ARE REMOVED +--echo ================================================================================ +--source ../include/show_plugin_verifier.inc +--echo +--echo # VARIABLES BY THREAD +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; + +--echo +--echo ================================================================================ +--echo TEST 4 - BUG#18008907: DEADLOCK WITH CHANGE_USER, SHOW VARIABLES, INSTALL PLUGIN +--echo ================================================================================ +--echo +--disable_result_log +DELIMITER |; + +CREATE PROCEDURE install_no_such_plugin() +BEGIN + INSTALL PLUGIN no_such_plugin SONAME 'no_such_object'; +END| +--echo +CREATE PROCEDURE show_vars() +BEGIN + -- select on information_schema.global_variables + -- will fail, still need to cover execution of the code + -- to verify potential dead locks. + declare continue handler for sqlexception + begin + end; + + SELECT COUNT(*) FROM information_schema.global_variables; + SELECT COUNT(*) FROM performance_schema.global_variables; +END| + +DELIMITER ;| +--enable_result_log + +--echo +--echo ================================================================================ +--echo 4.1 - DEADLOCK SCENARIO 1: +--echo con1 - has LOCK_system_variables_hash and waits on LOCK_plugin AND +--echo default - has LOCK_plugin and waits on LOCK_system_variables_hash +--echo ================================================================================ +connect(con1, localhost, root,,); +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL install_plugin WAIT_FOR cont_show_vars'; +--send call show_vars(); +--connection default +SET DEBUG_SYNC='now WAIT_FOR install_plugin'; +SET DEBUG_SYNC='acquired_LOCK_plugin SIGNAL cont_show_vars'; +--send call install_no_such_plugin(); +--connection con1 + +--echo +--echo # Without fix, reap will hang. +--disable_warnings +--replace_column 1 # +--reap; +--enable_warnings +SET DEBUG_SYNC='RESET'; + +--connection default +--replace_regex /(Can\'t open shared library).*$/\1/ +--error ER_CANT_OPEN_LIBRARY +--reap; +--echo +SET DEBUG_SYNC='RESET'; + +--echo +--echo ================================================================================ +--echo 4.2 - DEADLOCK SCENARIO 2: +--echo default - has LOCK_system_variables_hash, waits on LOCK_global_system_variables +--echo con1 - has LOCK_plugin, waits on LOCK_system_variables_hash AND +--echo con2 - has LOCK_global_system_variables, waits on LOCK_plugin +--echo ================================================================================ +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL install_plugin WAIT_FOR nothing TIMEOUT 10'; +--send call show_vars(); +--connection con1 +SET DEBUG_SYNC='now WAIT_FOR install_plugin'; +SET DEBUG_SYNC='acquired_LOCK_plugin SIGNAL create_connection WAIT_FOR nothing TIMEOUT 10'; +--send call install_no_such_plugin(); +connect(con2, localhost, root,,); +SET DEBUG_SYNC='now WAIT_FOR create_connection'; + +--echo +--echo # Without fix, deadlock situation will occur on timeout of debug_syncs in +--echo # default and con1. Because of this, change_user operation hangs. +--echo change_user +change_user; +--connection con1 +--replace_regex /(Can\'t open shared library).*$/\1/ +--error ER_CANT_OPEN_LIBRARY +--reap; + +--echo +--connection default +--replace_column 1 # +--disable_warnings +--reap; +--enable_warnings + +--echo +--disconnect con2 + +--echo +--echo ================================================================================ +--echo 4.3 - DEADLOCK SCENARIO 3: CONCURRENT SHOW VARIABLES AND UNINSTALL PLUGIN +--echo ================================================================================ +--echo # +--echo # INSTALL PLUGIN +--echo # +--replace_regex /\.dll/.so/ +eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN'; +--connection con1 + +--echo +--echo # Acquiring LOCK_system_variables_hash and LOCK_plugin_delete +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL uninstall_plugin WAIT_FOR go'; + +--send call show_vars(); +connect(con2, localhost, root,,); + +--echo # +--echo # UNINSTALL PLUGIN +--echo # +SET DEBUG_SYNC='now WAIT_FOR uninstall_plugin'; +--send UNINSTALL PLUGIN example; +--connection default + +--echo +--echo # Uninstall will wait until SHOW VARIABLES releases LOCK_plugin_delete. +let $wait_condition= SELECT count(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST + WHERE INFO='UNINSTALL PLUGIN example' and + STATE='System lock'; +--source include/wait_condition.inc +SET DEBUG_SYNC='now SIGNAL go'; +--echo # Connect con1 - reap +--connection con1 +--replace_column 1 # +--disable_warnings +--reap +--enable_warnings +--echo # Connect con2 - reap +--connection con2 +--disable_warnings +--reap +--enable_warnings + +--echo +--echo ================================================================================ +--echo TEST 5 - BUG#22225549 MYSQL_CHANGE_USER/MYSQL_RESET_CONNECTION + SET INNODB... +--echo Update to plugin-defined session variable triggers resync with global +--echo variables and deadlocks on THD::LOCK_thd_sysvar. +--echo ================================================================================ +# +# THD:LOCK_thd_sysvar is only used when SHOW_COMPATIBILITY_56 = OFF +# +SELECT @@global.show_compatibility_56; +# +# The deadlock occurs when plugin-defined session variables are resynced with the global +# variables. To force a resync, change the user and update a session variable from a +# plugin, in this case InnoDB. +# +select @@session.innodb_strict_mode; +let $innodb_strict_mode_save = `select @@session.innodb_strict_mode`; +select user(), current_user(); +--echo change_user root +--change_user root +--echo # +--echo # Trigger a resync of session variables with global variables. +--echo # +set @@session.innodb_strict_mode=off; + +--echo +--echo # Restore +--echo +eval set @@session.innodb_strict_mode=$innodb_strict_mode_save; +select @@session.innodb_strict_mode; + +--echo +--echo ================================================================================ +--echo CLEAN UP +--echo ================================================================================ +--connection default +--echo +DROP PROCEDURE show_vars; +DROP PROCEDURE install_no_such_plugin; +SET DEBUG_SYNC='RESET'; + +--echo +--disconnect con1 +--disconnect con2 +--disable_connect_log + +--echo +--echo # Restore SHOW_COMPATIBILITY_56 setting +SET @@global.show_compatibility_56 = @show_compatibility_56_save; + +--echo +--echo # Wait till we reached the initial number of concurrent sessions +--source include/wait_until_count_sessions.inc diff --git a/mysql-test/suite/perfschema/t/show_plugin_56-master.opt b/mysql-test/suite/perfschema/t/show_plugin_56-master.opt new file mode 100644 index 00000000000..66dd39684b2 --- /dev/null +++ b/mysql-test/suite/perfschema/t/show_plugin_56-master.opt @@ -0,0 +1,3 @@ +$EXAMPLE_PLUGIN_OPT + + diff --git a/mysql-test/suite/perfschema/t/show_plugin_56.test b/mysql-test/suite/perfschema/t/show_plugin_56.test new file mode 100644 index 00000000000..fa8a0781f01 --- /dev/null +++ b/mysql-test/suite/perfschema/t/show_plugin_56.test @@ -0,0 +1,446 @@ +################# suite/perfschema/t/show_plugin_56.test ########################## +# # +# MySQL plugins can define their own status variables and system variables. # +# This test exercises SHOW STATUS, SHOW VARIABLES and the status and system # +# variable tables while the EXAMPLE plugin is loaded and unloaded. # +# # +# The EXAMPLE plugin defines the following system and status variables: # +# Global system variables: # +# example_double_thdvar # +# example_double_var # +# example_enum_var # +# example_ulong_var # +# # +# Session variables: # +# example_double_thdvar - Local and/or global # +# # +# Global status: # +# example_func_example - Status function # +# # +################################################################################ + +--source include/have_perfschema.inc +--source include/not_embedded.inc +--source include/not_windows_embedded.inc +--source include/have_example_plugin.inc +--source include/have_debug_sync.inc + +--enable_connect_log + +--echo +--echo ================================================================================ +--echo SETUP +--echo ================================================================================ +--echo # Save the initial number of concurrent sessions +--source include/count_sessions.inc +--echo +--echo # Save current SHOW_COMPATIBILITY_56 setting +SELECT @@global.show_compatibility_56 INTO @show_compatibility_56_save; +--echo # +--echo # SET COMPATIBILITY MODE = ON +--echo # +SET @@global.show_compatibility_56 = ON; +--echo +--echo # Verify EXAMPLE plugin is not loaded +SELECT COUNT(*) = 0 AS "Expect 1" FROM information_schema.plugins WHERE plugin_name = "EXAMPLE"; +--echo +--echo # Create one session to force local and global system variables; +connect(con0, localhost, root,,); +--connection default +--echo +--echo ================================================================================ +--echo TEST 1- NO PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier_56.inc +--echo + +--echo ================================================================================ +--echo TEST 2 - PLUGIN LOAD, UNLOAD, RELOAD +--echo ================================================================================ +--echo ================================================================================ +--echo 2.1 - INSTALL PLUGIN +--echo ================================================================================ +--replace_regex /\.dll/.so/ +eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN'; + +--echo +--echo ================================================================================ +--echo 2.1a - FORCE SYNC OF LOCAL AND GLOBAL SYSTEM VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier_56.inc + +--disconnect con0 + +--echo +--echo ================================================================================ +--echo 2.2 - SET PLUGIN VARS +--echo ================================================================================ +--echo # GLOBAL +SET GLOBAL example_ulong_var = 100; +SET GLOBAL example_enum_var = e1; +SET GLOBAL example_double_var = 100.9990; +SET GLOBAL example_double_thdvar = 101.9991; +--echo # SESSION +SET SESSION example_double_thdvar = 102.9992; + +--echo +--echo ================================================================================ +--echo 2.3 - VERIFY UPDATED PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier_56.inc + +--echo +--echo ================================================================================ +--echo 2.4 - UNINSTALL PLUGIN +--echo ================================================================================ +UNINSTALL PLUGIN example; + +--echo +--echo ================================================================================ +--echo 2.5 - VERIFY NO PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier_56.inc + +--echo +--echo ================================================================================ +--echo 2.6 - REINSTALL PLUGIN +--echo ================================================================================ +--echo # Reinstall EXAMPLE plugin +--replace_regex /\.dll/.so/ +eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN'; + +--echo +--echo ================================================================================ +--echo 2.7 - SET PLUGIN VARS AGAIN +--echo ================================================================================ +--echo # GLOBAL +SET GLOBAL example_ulong_var = 200; +SET GLOBAL example_enum_var = e2; +SET GLOBAL example_double_var = 200.8880; +SET GLOBAL example_double_thdvar = 201.8881; +--echo # SESSION +SET SESSION example_double_thdvar = 202.8882; + +--echo +--echo ================================================================================ +--echo 2.8 - VERIFY PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier_56.inc + +--echo +--echo ================================================================================ +--echo 2.9 - UNINSTALL PLUGIN +--echo ================================================================================ +UNINSTALL PLUGIN example; + +--echo +--echo ================================================================================ +--echo 2.10 - VERIFY NO PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier_56.inc + +--echo +--echo ================================================================================ +--echo TEST 3 - SESSION PLUGIN VARS ON MULTIPLE CONNECTIONS +--echo ================================================================================ +--echo +--echo ================================================================================ +--echo 3.1 - INSTALL PLUGIN +--echo ================================================================================ +--replace_regex /\.dll/.so/ +eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN'; + +--echo +--echo ================================================================================ +--echo 3.2 - SET GLOBAL AND DEFAULT CONNECTION VARS +--echo ================================================================================ +--connection default +SET GLOBAL example_ulong_var = 300; +SET GLOBAL example_enum_var = e1; +SET GLOBAL example_double_var = 301.0000; +SET GLOBAL example_double_thdvar = 302.0000; +SET SESSION example_double_thdvar = 300.0000; + +--echo +--echo ================================================================================ +--echo 3.3 - CONNECT 3 CLIENTS, SET LOCAL PLUGIN VARS +--echo ================================================================================ +connect(con1, localhost, root,,); +SET SESSION example_double_thdvar = 300.1111; +--echo +connect(con2, localhost, root,,); +SET SESSION example_double_thdvar = 300.2222; +--echo +connect(con3, localhost, root,,); +SET SESSION example_double_thdvar = 300.3333; +--echo +--connection default + +--echo +--echo ================================================================================ +--echo 3.4 - VERIFY GLOBAL AND SESSION PLUGIN VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier_56.inc +--echo +--echo # Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; + +--echo +--echo ================================================================================ +--echo 3.5 - DISCONNECT CLIENTS +--echo ================================================================================ +--connection con1 +--disconnect con1 +--source include/wait_until_disconnected.inc + +--connection con2 +--disconnect con2 +--source include/wait_until_disconnected.inc + +--connection con3 +--disconnect con3 +--source include/wait_until_disconnected.inc + +--connection default + +--echo +--echo ================================================================================ +--echo 3.6 - VERIFY SESSION VARS ARE REMOVED +--echo ================================================================================ +--source ../include/show_plugin_verifier_56.inc +--echo +--echo # Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; + +--echo +--echo ================================================================================ +--echo 3.7 - RECONNECT 3 CLIENTS, SET SESSION VARS FOR EACH +--echo ================================================================================ +connect(con1, localhost, root,,); +SET SESSION example_double_thdvar = 311.1111; +--echo +connect(con2, localhost, root,,); +SET SESSION example_double_thdvar = 322.2222; +--echo +connect(con3, localhost, root,,); +SET SESSION example_double_thdvar = 333.3333; +--echo +--connection default + +--echo +--echo ================================================================================ +--echo 3.8 - VERIFY GLOBAL AND SESSION VARS +--echo ================================================================================ +--source ../include/show_plugin_verifier_56.inc +--echo +--echo # Variables by thread +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; + +--echo +--echo ================================================================================ +--echo 3.9 - UNINSTALL PLUGIN, LEAVE CLIENTS CONNECTED +--echo ================================================================================ +UNINSTALL PLUGIN example; + +--echo +--echo ================================================================================ +--echo 3.10 - VERIFY SESSION VARS ARE REMOVED +--echo ================================================================================ +--source ../include/show_plugin_verifier_56.inc +--echo +--echo # VARIABLES BY THREAD +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; + +--echo +--echo ================================================================================ +--echo 3.11 - DISCONNECT CLIENTS +--echo ================================================================================ +--connection con1 +--disconnect con1 +--source include/wait_until_disconnected.inc + +--connection con2 +--disconnect con2 +--source include/wait_until_disconnected.inc + +--connection con3 +--disconnect con3 +--source include/wait_until_disconnected.inc + +--connection default + +--echo +--echo ================================================================================ +--echo 3.12 - VERIFY CLIENTS ARE REMOVED +--echo ================================================================================ +--source ../include/show_plugin_verifier_56.inc +--echo +--echo # VARIABLES BY THREAD +SELECT variable_name, variable_value FROM performance_schema.variables_by_thread +WHERE variable_name LIKE "example_%" ORDER BY variable_value; + +--echo +--echo ================================================================================ +--echo TEST 4 - BUG#18008907: DEADLOCK WITH CHANGE_USER, SHOW VARIABLES, INSTALL PLUGIN +--echo ================================================================================ +--echo +--disable_result_log +DELIMITER |; + +CREATE PROCEDURE install_no_such_plugin() +BEGIN + INSTALL PLUGIN no_such_plugin SONAME 'no_such_object'; +END| +--echo +CREATE PROCEDURE show_vars() +BEGIN + -- select on information_schema.global_variables + -- will fail, still need to cover execution of the code + -- to verify potential dead locks. + declare continue handler for sqlexception + begin + end; + + SELECT COUNT(*) FROM information_schema.global_variables; + SELECT COUNT(*) FROM performance_schema.global_variables; +END| + +DELIMITER ;| +--enable_result_log + +--echo +--echo ================================================================================ +--echo 4.1 - DEADLOCK SCENARIO 1: +--echo con1 - has LOCK_system_variables_hash and waits on LOCK_plugin AND +--echo default - has LOCK_plugin and waits on LOCK_system_variables_hash +--echo ================================================================================ +connect(con1, localhost, root,,); +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL install_plugin WAIT_FOR cont_show_vars'; +--send call show_vars(); +--connection default +SET DEBUG_SYNC='now WAIT_FOR install_plugin'; +SET DEBUG_SYNC='acquired_LOCK_plugin SIGNAL cont_show_vars'; +--send call install_no_such_plugin(); +--connection con1 + +--echo +--echo # Without fix, reap will hang. +--disable_warnings +--replace_column 1 # +--reap; +--enable_warnings +SET DEBUG_SYNC='RESET'; + +--connection default +--replace_regex /(Can\'t open shared library).*$/\1/ +--error ER_CANT_OPEN_LIBRARY +--reap; +--echo +SET DEBUG_SYNC='RESET'; + +--echo +--echo ================================================================================ +--echo 4.2 - DEADLOCK SCENARIO 2: +--echo default - has LOCK_system_variables_hash, waits on LOCK_global_system_variables +--echo con1 - has LOCK_plugin, waits on LOCK_system_variables_hash AND +--echo con2 - has LOCK_global_system_variables, waits on LOCK_plugin +--echo ================================================================================ +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL install_plugin WAIT_FOR nothing TIMEOUT 10'; +--send call show_vars(); +--connection con1 +SET DEBUG_SYNC='now WAIT_FOR install_plugin'; +SET DEBUG_SYNC='acquired_LOCK_plugin SIGNAL create_connection WAIT_FOR nothing TIMEOUT 10'; +--send call install_no_such_plugin(); +connect(con2, localhost, root,,); +SET DEBUG_SYNC='now WAIT_FOR create_connection'; + +--echo +--echo # Without fix, deadlock situation will occur on timeout of debug_syncs in +--echo # default and con1. Because of this, change_user operation hangs. +--echo change_user +change_user; +--connection con1 +--replace_regex /(Can\'t open shared library).*$/\1/ +--error ER_CANT_OPEN_LIBRARY +--reap; + +--echo +--connection default +--replace_column 1 # +--disable_warnings +--reap; +--enable_warnings + +--echo +--disconnect con2 + +--echo +--echo ================================================================================ +--echo 4.3 - DEADLOCK SCENARIO 3: CONCURRENT SHOW VARIABLES AND UNINSTALL PLUGIN +--echo ================================================================================ +--echo # +--echo # INSTALL PLUGIN +--echo # +--replace_regex /\.dll/.so/ +eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN'; +--connection con1 + +--echo +--echo # Acquiring LOCK_system_variables_hash and LOCK_plugin_delete +SET DEBUG_SYNC='acquired_LOCK_system_variables_hash SIGNAL uninstall_plugin WAIT_FOR go'; + +--send call show_vars(); +connect(con2, localhost, root,,); + +--echo # +--echo # UNINSTALL PLUGIN +--echo # +SET DEBUG_SYNC='now WAIT_FOR uninstall_plugin'; +--send UNINSTALL PLUGIN example; +--connection default + +--echo +--echo # Uninstall will wait until SHOW VARIABLES releases LOCK_plugin_delete. +let $wait_condition= SELECT count(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST + WHERE INFO='UNINSTALL PLUGIN example' and + STATE='System lock'; +--source include/wait_condition.inc +SET DEBUG_SYNC='now SIGNAL go'; +--echo # Connect con1 - reap +--connection con1 +--replace_column 1 # +--disable_warnings +--reap +--enable_warnings +--echo # Connect con2 - reap +--connection con2 +--disable_warnings +--reap +--enable_warnings + +--echo +--echo ================================================================================ +--echo CLEAN UP +--echo ================================================================================ +--connection default +--echo +DROP PROCEDURE show_vars; +DROP PROCEDURE install_no_such_plugin; +SET DEBUG_SYNC='RESET'; + +--echo +--disconnect con1 +--disconnect con2 +--disable_connect_log + +--echo +--echo # Restore SHOW_COMPATIBILITY_56 setting +SET @@global.show_compatibility_56 = @show_compatibility_56_save; + +--echo +--echo # Wait till we reached the initial number of concurrent sessions +--source include/wait_until_count_sessions.inc diff --git a/mysql-test/suite/perfschema/t/show_sanity.test b/mysql-test/suite/perfschema/t/show_sanity.test new file mode 100644 index 00000000000..98073adacfe --- /dev/null +++ b/mysql-test/suite/perfschema/t/show_sanity.test @@ -0,0 +1,1861 @@ +################# suite/perfschema/t/show_sanity.test ########################## +# # +# Compare global/session status and system variables in the Information Schema # +# to those in Performance Schema. Do this once with SHOW_COMPATIBILITY_56 = ON # +# again with SHOW_COMPATIBILITY_56 = OFF. # +# # +# Status and system variables may have a scope of: # +# # +# GLOBAL - System level only. # +# SESSION - Applies at both the global and session level. # +# Status variables with SESSION scope are totaled across all # +# threads for global queries such as SHOW GLOBAL STATUS. # +# System variables with SESSION scope have a global default # +# that can be changed at the session level. # +# SESSION-ONLY - Client connection level only. # +# # +#==============================================================================# +# This test consists of two phases: # +# # +# COLLECTION - Gather results from SHOW commands and SELECTs on the I_S/P_S # +# tables into a single table. Tag each variable with the source (SHOW, SELECT, # +# P_S, I_S) and compatibility mode setting (OFF, ON). # +# # +# VERIFICATION - Compare and cross-reference the results between and across # +# sources and compatibility modes, factoring in the known variances. # +# # +# The verification phase assumes that there will be no variation between the # +# 5.6 and 5.7 results as long as known discrepancies in scope handling are # +# accounted for. Expected variations are tagged as "JUNK" and filtered from # +# the comparisons. # +# # +# The expected scope for each variable was initially determined from the MySQL # +# system and status variable documentation and then further verified by the # +# actual implementation. # +# # +# The difference between how 5.6 and 5.7 manage query scope vs. variable scope # +# are summarized as follows: # +# # +# *** SHOW_COMPATIBILITY_56 = ON *** # +# # +# SHOW GLOBAL STATUS / I_S.GLOBAL_STATUS # +# GLOBAL - Yes # +# SESSION - Yes, totaled across all threads # +# SESSION-ONLY - Yes, current session # +# # +# SHOW SESSION STATUS / I_S.SESSION_STATUS # +# GLOBAL - Yes # +# SESSION - Yes, current session # +# SESSION-ONLY - Yes # +# # +# SHOW GLOBAL VARIABLES / I_S.GLOBAL_VARIABLES # +# GLOBAL - Yes # +# SESSION - Yes # +# SESSION-ONLY - No # +# # +# SHOW SESSION VARIABLES / I_S.SESSION_VARIABLES # +# GLOBAL - Yes # +# SESSION - Yes, current session # +# SESSION-ONLY - Yes # +# # +# *** SHOW_COMPATIBILITY_56 = OFF *** # +# # +# Information Schema status and system tables are disabled # +# (ER_FEATURE_DISABLED_SEE_DOC). # +# # +# SHOW GLOBAL STATUS / P_S.GLOBAL_STATUS # +# GLOBAL - Yes # +# SESSION - Yes (totaled across all threads for SHOW STATUS) # +# SESSION-ONLY - No # +# # +# SHOW SESSION STATUS / P_S.SESSION_STATUS, STATUS_BY_THREAD # +# GLOBAL - No # +# SESSION - Yes # +# SESSION-ONLY - Yes # +# # +# P_S.STATUS_BY_USER / HOST / ACCOUNT # +# GLOBAL - No # +# SESSION - Yes (totaled across all related threads) # +# SESSION-ONLY - No # +# # +# SHOW GLOBAL VARIABLES / P_S.GLOBAL_VARIABLES # +# GLOBAL - Yes # +# SESSION - No # +# SESSION-ONLY - No # +# # +# SHOW SESSION VARIABLES / P_S.SESSION_VARIABLES, VARIABLES_BY_THREAD # +# GLOBAL - No # +# SESSION - Yes # +# SESSION-ONLY - Yes # +# # +# In addition to the differences in how variable scope is handled, comparisons # +# between 5.6 and 5.7 must also account for differences in how variables are # +# represented based upon the variable type or meaning. For example, # +# SESSION-ONLY variables such as "Last Query Cost" have no meaning when # +# aggregated by user, account or host. # +# # +# These additional differences are summarized as follows: # +# # +# I_S.GLOBAL_STATUS vs. P_S.GLOBAL_STATUS # +# - Remove SESSION-ONLY # +# - Remove SLAVE-ONLY # +# # +# I_S.SESSION_STATUS vs. P_S.SESSION_STATUS # +# - Remove GLOBAL-only vars # +# - Remove SLAVE-ONLY # +# # +# P_S.SESSION_STATUS vs. P_S.STATUS_BY_USER/HOST/ACCOUNT # +# - Remove SESSION-ONLY # +# - Remove non-aggregatable # +# # +################################################################################ +--source include/have_perfschema.inc +--source include/not_embedded.inc +--source include/no_protocol.inc + +create table test.sanity( + `SHOW_MODE` varchar(48) NOT NULL, + `SOURCE` varchar(64) NOT NULL, + `VARIABLE_NAME` varchar(64) NOT NULL); + +select thread_id from performance_schema.threads + where processlist_id = connection_id() + into @my_tid; + +select @@global.show_compatibility_56 into @show_compatibility_56_save; + +set @my_user='root'; +set @my_host='localhost'; + +# Debug +# select connection_id(), @my_tid, @my_user, @my_host; +# show plugins +--echo +--echo ================================================================================ +--echo SHOW_COMPATIBILITY_56 = ON +--echo ================================================================================ +set global show_compatibility_56 = on; + +--echo +--echo # STEP 1-1 +insert into test.sanity + select "5.6", "I_S.GLOBAL_VARIABLES", variable_name + from information_schema.global_variables; + +--echo +--echo # STEP 1-2 +insert into test.sanity + select "5.6", "I_S.SESSION_VARIABLES", variable_name + from information_schema.session_variables; + +--echo +--echo # STEP 1-3 +insert into test.sanity + select "5.6", "P_S.GLOBAL_VARIABLES", variable_name + from performance_schema.global_variables; + +--echo +--echo # STEP 1-4 +insert into test.sanity + select "5.6", "P_S.VARIABLES_BY_THREAD", variable_name + from performance_schema.variables_by_thread + where thread_id = @my_tid; + +--echo +--echo # STEP 1-5 +insert into test.sanity + select "5.6", "P_S.SESSION_VARIABLES", variable_name + from performance_schema.session_variables; + +--echo +--echo # STEP 1-6 +insert into test.sanity + select "5.6", "I_S.GLOBAL_STATUS", variable_name + from information_schema.global_status; + +--echo +--echo # STEP 1-7 +insert into test.sanity + select "5.6", "I_S.SESSION_STATUS", variable_name + from information_schema.session_status; + +--echo +--echo # STEP 1-8 +insert into test.sanity + select "5.6", "P_S.GLOBAL_STATUS", variable_name + from performance_schema.global_status; + +--echo +--echo # STEP 1-9 +--echo # EMPTY, NO WARNINGS (not available in 5.6 mode) +select * + from performance_schema.status_by_thread; + +--echo +--echo # STEP 1-10 +insert into test.sanity + select "5.6", "P_S.SESSION_STATUS", variable_name + from performance_schema.session_status; + +--echo +--echo # STEP 1-11 +--echo # EMPTY, NO WARNINGS (not available in 5.6 mode) +select * + from performance_schema.status_by_account; + +--echo +--echo # STEP 1-12 +--echo # EMPTY, NO WARNINGS (not available in 5.6 mode) +select * + from performance_schema.status_by_user; + +--echo +--echo # STEP 1-13 +--echo # EMPTY, NO WARNINGS (not available in 5.6 mode) +select * + from performance_schema.status_by_host; + +--echo +--echo ================================================================================ +--echo SHOW_COMPATIBILITY_56 = OFF +--echo ================================================================================ +set global show_compatibility_56 = off; + +--echo +--echo # STEP 2-1 +--echo # FAILS WITH ERROR +--error ER_FEATURE_DISABLED_SEE_DOC +select * + from information_schema.global_variables; + +--echo +--echo # STEP 2-2 +--echo # FAILS WITH ERROR +--error ER_FEATURE_DISABLED_SEE_DOC +select * + from information_schema.session_variables; + +--echo +--echo # STEP 2-3 +insert into test.sanity + select "5.7", "P_S.GLOBAL_VARIABLES", variable_name + from performance_schema.global_variables; + +--echo +--echo # STEP 2-4 +insert into test.sanity + select "5.7", "P_S.VARIABLES_BY_THREAD", variable_name + from performance_schema.variables_by_thread + where thread_id = @my_tid; + +--echo +--echo # STEP 2-5 +insert into test.sanity + select "5.7", "P_S.SESSION_VARIABLES", variable_name + from performance_schema.session_variables; + +--echo +--echo # STEP 2-6 +--echo # FAILS WITH ERROR +--error ER_FEATURE_DISABLED_SEE_DOC +select * + from information_schema.global_status; + +--echo +--echo # STEP 2-7 +--echo # FAILS WITH ERROR +--error ER_FEATURE_DISABLED_SEE_DOC +select * + from information_schema.session_status; + +--echo +--echo # STEP 2-8 +insert into test.sanity + select "5.7", "P_S.GLOBAL_STATUS", variable_name + from performance_schema.global_status; + +--echo +--echo # STEP 2-9 +insert into test.sanity + select "5.7", "P_S.STATUS_BY_THREAD", variable_name + from performance_schema.status_by_thread + where thread_id = @my_tid; + +--echo +--echo # STEP 2-10 +insert into test.sanity + select "5.7", "P_S.SESSION_STATUS", variable_name + from performance_schema.session_status; + +--echo +--echo # STEP 2-11 +insert into test.sanity + select "5.7", "P_S.STATUS_BY_ACCOUNT", variable_name + from performance_schema.status_by_account + where `user` = @my_user and `host` = @my_host; + +--echo +--echo # STEP 2-12 +insert into test.sanity + select "5.7", "P_S.STATUS_BY_USER", variable_name + from performance_schema.status_by_user + where `user` = @my_user; + +--echo +--echo # STEP 2-13 +insert into test.sanity + select "5.7", "P_S.STATUS_BY_HOST", variable_name + from performance_schema.status_by_host + where `host` = @my_host; + +--echo +--echo # STEP 2-14 +--echo # Known global variables in 5.6 that should not display in session queries. +--echo # These should be global-only system variables. +--disable_query_log +insert into test.sanity values + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "AUTO_GENERATE_CERTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "AUTOMATIC_SP_PRIVILEGES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "AVOID_TEMPORAL_UPGRADE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BACK_LOG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BASEDIR"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BIND_ADDRESS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BINLOGGING_IMPOSSIBLE_MODE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BINLOG_CACHE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BINLOG_CHECKSUM"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BINLOG_ERROR_ACTION"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BINLOG_GROUP_COMMIT_SYNC_DELAY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BINLOG_GROUP_COMMIT_SYNC_NO_DELAY_COUNT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BINLOG_GTID_SIMPLE_RECOVERY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BINLOG_MAX_FLUSH_QUEUE_TIME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BINLOG_ORDER_COMMITS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "BINLOG_STMT_CACHE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "CHARACTER_SETS_DIR"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "CHARACTER_SET_SYSTEM"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "CHECK_PROXY_USERS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "CONCURRENT_INSERT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "CONNECT_TIMEOUT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "CORE_FILE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "DATADIR"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "DATETIME_FORMAT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "DATE_FORMAT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "DEFAULT_AUTHENTICATION_PLUGIN"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "DEFAULT_PASSWORD_LIFETIME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "DELAYED_INSERT_LIMIT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "DELAYED_INSERT_TIMEOUT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "DELAYED_QUEUE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "DELAY_KEY_WRITE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "DISABLED_STORAGE_ENGINES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "DISCONNECT_ON_EXPIRED_PASSWORD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "ENFORCE_GTID_CONSISTENCY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "EVENT_SCHEDULER"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "EXECUTED_GTIDS_COMPRESSION_PERIOD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "EXPIRE_LOGS_DAYS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "FLUSH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "FLUSH_TIME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "FT_BOOLEAN_SYNTAX"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "FT_MAX_WORD_LEN"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "FT_MIN_WORD_LEN"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "FT_QUERY_EXPANSION_LIMIT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "FT_STOPWORD_FILE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "GENERAL_LOG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "GENERAL_LOG_FILE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "GTID_EXECUTED_COMPRESSION_PERIOD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "GTID_MODE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "GTID_PURGED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HAVE_COMPRESS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HAVE_CRYPT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HAVE_DYNAMIC_LOADING"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HAVE_GEOMETRY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HAVE_OPENSSL"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HAVE_PROFILING"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HAVE_QUERY_CACHE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HAVE_RTREE_KEYS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HAVE_SSL"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HAVE_STATEMENT_TIMEOUT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HAVE_SYMLINK"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HOSTNAME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "HOST_CACHE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "IGNORE_BUILTIN_INNODB"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "IGNORE_DB_DIRS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INIT_CONNECT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INIT_FILE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INIT_SLAVE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ADAPTIVE_FLUSHING"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ADAPTIVE_FLUSHING_LWM"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FLUSH_SYNC"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ADAPTIVE_HASH_INDEX"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ADAPTIVE_HASH_INDEX_PARTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ADAPTIVE_MAX_SLEEP_DELAY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_API_BK_COMMIT_INTERVAL"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_API_DISABLE_ROWLOCK"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_API_ENABLE_BINLOG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_API_ENABLE_MDL"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_API_TRX_LEVEL"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_AUTOEXTEND_INCREMENT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_AUTOINC_LOCK_MODE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BACKGROUND_DROP_LIST_EMPTY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_CHUNK_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_DUMP_AT_SHUTDOWN"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_DUMP_NOW"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_DUMP_PCT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_EVICT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_FILENAME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_LOAD_ABORT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_LOAD_AT_STARTUP"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_LOAD_NOW"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUFFER_POOL_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_BUF_FLUSH_LIST_NOW"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CHANGE_BUFFERING"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CHANGE_BUFFERING_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CHANGE_BUFFER_MAX_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CHECKSUMS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CHECKSUM_ALGORITHM"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CMP_PER_INDEX_ENABLED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_COMMIT_CONCURRENCY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_COMPRESS_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_COMPRESSION_FAILURE_THRESHOLD_PCT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_COMPRESSION_LEVEL"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_COMPRESSION_PAD_PCT_MAX"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_CONCURRENCY_TICKETS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DATA_FILE_PATH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DATA_HOME_DIR"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DEFAULT_ROW_FORMAT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DICT_STATS_DISABLED_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DISABLE_BACKGROUND_MERGE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DISABLE_RESIZE_BUFFER_POOL_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DISABLE_SORT_FILE_CACHE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DOUBLEWRITE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_DOUBLEWRITE_BATCH_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FAST_SHUTDOWN"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FILE_FORMAT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FILE_FORMAT_CHECK"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FILE_FORMAT_MAX"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FILE_PER_TABLE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FILL_FACTOR"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FLUSHING_AVG_LOOPS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FLUSH_LOG_AT_TIMEOUT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FLUSH_LOG_AT_TRX_COMMIT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FLUSH_METHOD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FLUSH_NEIGHBORS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FORCE_LOAD_CORRUPTED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FORCE_RECOVERY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FORCE_RECOVERY_CRASH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FT_AUX_TABLE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FT_CACHE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FT_ENABLE_DIAG_PRINT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FT_MAX_TOKEN_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FT_MIN_TOKEN_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FT_NUM_WORD_OPTIMIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FT_RESULT_CACHE_LIMIT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FT_SERVER_STOPWORD_TABLE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FT_SORT_PLL_DEGREE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_FT_TOTAL_CACHE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_IO_CAPACITY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_IO_CAPACITY_MAX"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LARGE_PREFIX"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOCKS_UNSAFE_FOR_BINLOG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_BUFFER_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_CHECKPOINT_NOW"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_CHECKSUMS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_COMPRESSED_PAGES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_FILES_IN_GROUP"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_FILE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_GROUP_HOME_DIR"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LOG_WRITE_AHEAD_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_LRU_SCAN_DEPTH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_MASTER_THREAD_DISABLED_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_MAX_DIRTY_PAGES_PCT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_MAX_DIRTY_PAGES_PCT_LWM"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_MAX_PURGE_LAG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_MAX_PURGE_LAG_DELAY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_MAX_UNDO_LOG_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_MERGE_THRESHOLD_SET_ALL_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_MONITOR_DISABLE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_MONITOR_ENABLE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_MONITOR_RESET"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_MONITOR_RESET_ALL"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_NUMA_INTERLEAVE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_OLD_BLOCKS_PCT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_OLD_BLOCKS_TIME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ONLINE_ALTER_LOG_MAX_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_OPEN_FILES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_OPTIMIZE_FULLTEXT_ONLY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PAGE_CLEANERS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PAGE_CLEANER_DISABLED_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PAGE_HASH_LOCKS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PAGE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PRINT_ALL_DEADLOCKS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PURGE_BATCH_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PURGE_RSEG_TRUNCATE_FREQUENCY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PURGE_RUN_NOW"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PURGE_STOP_NOW"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_PURGE_THREADS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_RANDOM_READ_AHEAD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_READ_AHEAD_THRESHOLD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_READ_IO_THREADS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_READ_ONLY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_REPLICATION_DELAY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ROLLBACK_ON_TIMEOUT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_ROLLBACK_SEGMENTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_SAVED_PAGE_NUMBER_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_SORT_BUFFER_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_SPIN_WAIT_DELAY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_STATS_AUTO_RECALC"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_STATS_METHOD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_STATS_ON_METADATA"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_STATS_PERSISTENT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_STATS_PERSISTENT_SAMPLE_PAGES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_STATS_SAMPLE_PAGES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_STATS_TRANSIENT_SAMPLE_PAGES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_STATUS_OUTPUT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_STATUS_OUTPUT_LOCKS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_SYNC_ARRAY_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_SYNC_SPIN_LOOPS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_SYNC_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_TEMP_DATA_FILE_PATH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_THREAD_CONCURRENCY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_THREAD_SLEEP_DELAY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_TRX_RSEG_N_SLOTS_DEBUG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_UNDO_DIRECTORY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_UNDO_LOG_TRUNCATE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_UNDO_LOGS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_UNDO_TABLESPACES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_USE_NATIVE_AIO"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_VERSION"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INNODB_WRITE_IO_THREADS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "INTERNAL_TMP_DISK_STORAGE_ENGINE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "KEY_BUFFER_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "KEY_CACHE_AGE_THRESHOLD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "KEY_CACHE_BLOCK_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "KEY_CACHE_DIVISION_LIMIT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LARGE_FILES_SUPPORT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LARGE_PAGES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LARGE_PAGE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LC_MESSAGES_DIR"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LICENSE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOCAL_INFILE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOCKED_IN_MEMORY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_BIN"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_BIN_BASENAME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_BIN_INDEX"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_BIN_TRUST_FUNCTION_CREATORS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_BIN_USE_V1_ROW_EVENTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_BUILTIN_AS_IDENTIFIED_BY_PASSWORD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_ERROR"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_ERROR_VERBOSITY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_OUTPUT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_QUERIES_NOT_USING_INDEXES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_SLAVE_UPDATES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_SLOW_ADMIN_STATEMENTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_SLOW_SLAVE_STATEMENTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_SYSLOG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_SYSLOG_FACILITY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_SYSLOG_INCLUDE_PID"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_SYSLOG_TAG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_THROTTLE_QUERIES_NOT_USING_INDEXES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_TIMESTAMPS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOG_WARNINGS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOWER_CASE_FILE_SYSTEM"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "LOWER_CASE_TABLE_NAMES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MASTER_INFO_REPOSITORY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MASTER_VERIFY_CHECKSUM"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MAX_BINLOG_CACHE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MAX_BINLOG_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MAX_BINLOG_STMT_CACHE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MAX_CONNECTIONS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MAX_CONNECT_ERRORS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MAX_DIGEST_LENGTH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MAX_PREPARED_STMT_COUNT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MAX_RELAY_LOG_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MAX_WRITE_LOCK_COUNT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "METADATA_LOCKS_CACHE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "METADATA_LOCKS_HASH_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MYISAM_DATA_POINTER_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MYISAM_MAX_SORT_FILE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MYISAM_MMAP_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MYISAM_RECOVER_OPTIONS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MYISAM_USE_MMAP"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "MYSQL_NATIVE_PASSWORD_PROXY_USERS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "NAMED_PIPE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "NDBINFO_DATABASE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "NDBINFO_OFFLINE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "NDBINFO_TABLE_PREFIX"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "NDBINFO_VERSION"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "NGRAM_TOKEN_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "OFFLINE_MODE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "OLD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "OPEN_FILES_LIMIT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_ACCOUNTS_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_DIGESTS_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_LONG_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_EVENTS_STAGES_HISTORY_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_LONG_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_EVENTS_STATEMENTS_HISTORY_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_EVENTS_TRANSACTIONS_HISTORY_LONG_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_EVENTS_TRANSACTIONS_HISTORY_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_LONG_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_HOSTS_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_COND_CLASSES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_COND_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_DIGEST_LENGTH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_FILE_CLASSES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_FILE_HANDLES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_FILE_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_INDEX_STAT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_MEMORY_CLASSES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_METADATA_LOCKS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_MUTEX_CLASSES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_MUTEX_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_PREPARED_STATEMENTS_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_PROGRAM_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_RWLOCK_CLASSES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_RWLOCK_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_SOCKET_CLASSES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_SOCKET_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_SQL_TEXT_LENGTH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_STAGE_CLASSES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_STATEMENT_CLASSES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_STATEMENT_STACK"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_TABLE_HANDLES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_TABLE_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_TABLE_LOCK_STAT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_THREAD_CLASSES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_MAX_THREAD_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_SESSION_CONNECT_ATTRS_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_SETUP_ACTORS_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_SETUP_OBJECTS_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PERFORMANCE_SCHEMA_USERS_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PID_FILE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PLUGIN_DIR"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PORT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "PROTOCOL_VERSION"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "QUERY_CACHE_LIMIT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "QUERY_CACHE_MIN_RES_UNIT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "QUERY_CACHE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "READ_ONLY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "RELAY_LOG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "RELAY_LOG_BASENAME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "RELAY_LOG_INDEX"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "RELAY_LOG_INFO_FILE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "RELAY_LOG_INFO_REPOSITORY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "RELAY_LOG_PURGE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "RELAY_LOG_RECOVERY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "RELAY_LOG_SPACE_LIMIT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "REPORT_HOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "REPORT_PASSWORD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "REPORT_PORT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "REPORT_USER"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "RPL_STOP_SLAVE_TIMEOUT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SECURE_AUTH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SECURE_FILE_PRIV"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SERVER_ID"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SERVER_ID_BITS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SERVER_UUID"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SHA256_PASSWORD_AUTO_GENERATE_RSA_KEYS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SHA256_PASSWORD_PRIVATE_KEY_PATH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SHA256_PASSWORD_PUBLIC_KEY_PATH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SHARED_MEMORY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SHARED_MEMORY_BASE_NAME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SHA256_PASSWORD_PROXY_USERS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SHOW_COMPATIBILITY_56"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SIMPLIFIED_BINLOG_GTID_RECOVERY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SKIP_EXTERNAL_LOCKING"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SKIP_NAME_RESOLVE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SKIP_NETWORKING"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SKIP_SHOW_DATABASE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_ALLOW_BATCHING"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_CHECKPOINT_GROUP"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_CHECKPOINT_PERIOD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_COMPRESSED_PROTOCOL"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_EXEC_MODE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_LOAD_TMPDIR"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_MAX_ALLOWED_PACKET"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_NET_TIMEOUT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_PARALLEL_TYPE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_PARALLEL_WORKERS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_PENDING_JOBS_SIZE_MAX"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_PRESERVE_COMMIT_ORDER"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_ROWS_SEARCH_ALGORITHMS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_SKIP_ERRORS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_SQL_VERIFY_CHECKSUM"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_TRANSACTION_RETRIES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLAVE_TYPE_CONVERSIONS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLOW_LAUNCH_TIME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLOW_QUERY_LOG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SLOW_QUERY_LOG_FILE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SOCKET"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SQL_SLAVE_SKIP_COUNTER"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SSL_CA"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SSL_CAPATH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SSL_CERT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SSL_CIPHER"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SSL_CRL"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SSL_CRLPATH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SSL_KEY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SUPER_READ_ONLY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "STORED_PROGRAM_CACHE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SYNC_BINLOG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SYNC_FRM"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SYNC_MASTER_INFO"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SYNC_RELAY_LOG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SYNC_RELAY_LOG_INFO"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "SYSTEM_TIME_ZONE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "TABLE_DEFINITION_CACHE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "TABLE_OPEN_CACHE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "TABLE_OPEN_CACHE_INSTANCES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "THREAD_CACHE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "THREAD_HANDLING"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "THREAD_STACK"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "TIME_FORMAT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "TMPDIR"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "VERSION"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "VERSION_COMMENT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "VERSION_COMPILE_MACHINE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "VERSION_COMPILE_OS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_VARIABLES", "REQUIRE_SECURE_TRANSPORT") +; +--enable_query_log + +--echo +--echo # STEP 2-15 +--echo # Known global status in 5.6 that should not exist in session queries. +--echo # These should be global-only status variables. +--disable_query_log +insert into test.sanity values + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "ABORTED_CLIENTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "ABORTED_CONNECTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "BINLOG_CACHE_DISK_USE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "BINLOG_CACHE_USE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "BINLOG_STMT_CACHE_DISK_USE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "BINLOG_STMT_CACHE_USE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "CONNECTIONS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "CONNECTION_ERRORS_ACCEPT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "CONNECTION_ERRORS_INTERNAL"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "CONNECTION_ERRORS_MAX_CONNECTIONS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "CONNECTION_ERRORS_PEER_ADDRESS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "CONNECTION_ERRORS_SELECT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "CONNECTION_ERRORS_TCPWRAP"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "CREATED_TMP_FILES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "DELAYED_ERRORS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "DELAYED_INSERT_THREADS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "DELAYED_WRITES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "FLUSH_COMMANDS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_AHI_DROP_LOOKUPS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_AVAILABLE_UNDO_LOGS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_BYTES_DATA"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_BYTES_DIRTY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_DUMP_STATUS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_LOAD_STATUS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_PAGES_DATA"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_PAGES_DIRTY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_PAGES_FLUSHED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_PAGES_FREE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_PAGES_LATCHED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_PAGES_MISC"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_PAGES_TOTAL"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_READS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_READ_AHEAD"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_READ_AHEAD_EVICTED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_READ_AHEAD_RND"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_READ_REQUESTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_RESIZE_STATUS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_WAIT_FREE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_BUFFER_POOL_WRITE_REQUESTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_DATA_FSYNCS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_DATA_PENDING_FSYNCS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_DATA_PENDING_READS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_DATA_PENDING_WRITES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_DATA_READ"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_DATA_READS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_DATA_WRITES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_DATA_WRITTEN"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_DBLWR_PAGES_WRITTEN"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_DBLWR_WRITES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_HAVE_ATOMIC_BUILTINS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_LOG_WAITS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_LOG_WRITES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_LOG_WRITE_REQUESTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_NUM_OPEN_FILES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_OS_LOG_FSYNCS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_OS_LOG_PENDING_FSYNCS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_OS_LOG_PENDING_WRITES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_OS_LOG_WRITTEN"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_PAGES_CREATED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_PAGES_READ"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_PAGES_WRITTEN"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_PAGE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_PURGE_TRX_ID_AGE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_PURGE_VIEW_TRX_ID_AGE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_ROWS_DELETED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_ROWS_INSERTED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_ROWS_READ"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_ROWS_UPDATED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_ROW_LOCK_CURRENT_WAITS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_ROW_LOCK_TIME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_ROW_LOCK_TIME_AVG"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_ROW_LOCK_TIME_MAX"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_ROW_LOCK_WAITS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "INNODB_TRUNCATED_STATUS_WRITES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "KEY_BLOCKS_NOT_FLUSHED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "KEY_BLOCKS_UNUSED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "KEY_BLOCKS_USED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "KEY_READS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "KEY_READ_REQUESTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "KEY_WRITES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "KEY_WRITE_REQUESTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "LOCKED_CONNECTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "MAX_USED_CONNECTIONS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "MAX_USED_CONNECTIONS_TIME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "NOT_FLUSHED_DELAYED_ROWS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "OPENED_FILES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "OPEN_FILES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "OPEN_STREAMS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "OPEN_TABLE_DEFINITIONS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "ONGOING_ANONYMOUS_GTID_VIOLATING_TRANSACTION_COUNT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "ONGOING_ANONYMOUS_TRANSACTION_COUNT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "ONGOING_AUTOMATIC_GTID_VIOLATING_TRANSACTION_COUNT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_ACCOUNTS_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_COND_CLASSES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_COND_INSTANCES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_DIGEST_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_FILE_CLASSES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_FILE_HANDLES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_FILE_INSTANCES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_INDEX_STAT_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_HOSTS_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_LOCKER_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_MEMORY_CLASSES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_METADATA_LOCK_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_MUTEX_CLASSES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_MUTEX_INSTANCES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_NESTED_STATEMENT_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_PREPARED_STATEMENTS_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_PROGRAM_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_RWLOCK_CLASSES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_RWLOCK_INSTANCES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_SESSION_CONNECT_ATTRS_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_SOCKET_CLASSES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_SOCKET_INSTANCES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_STAGE_CLASSES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_STATEMENT_CLASSES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_TABLE_HANDLES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_TABLE_INSTANCES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_TABLE_LOCK_STAT_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_THREAD_CLASSES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_THREAD_INSTANCES_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PERFORMANCE_SCHEMA_USERS_LOST"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "PREPARED_STMT_COUNT"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "QCACHE_FREE_BLOCKS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "QCACHE_FREE_MEMORY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "QCACHE_HITS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "QCACHE_INSERTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "QCACHE_LOWMEM_PRUNES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "QCACHE_NOT_CACHED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "QCACHE_QUERIES_IN_CACHE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "QCACHE_TOTAL_BLOCKS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "RSA_PUBLIC_KEY"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SLAVE_OPEN_TEMP_TABLES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SLAVE_ROWS_LAST_SEARCH_ALGORITHM_USED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_ACCEPTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_ACCEPT_RENEGOTIATES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_CALLBACK_CACHE_HITS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_CLIENT_CONNECTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_CONNECT_RENEGOTIATES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_CTX_VERIFY_DEPTH"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_CTX_VERIFY_MODE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_FINISHED_ACCEPTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_FINISHED_CONNECTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_SESSION_CACHE_HITS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_SESSION_CACHE_MISSES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_SESSION_CACHE_MODE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_SESSION_CACHE_OVERFLOWS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_SESSION_CACHE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_SESSION_CACHE_TIMEOUTS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "SSL_USED_SESSION_CACHE_ENTRIES"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "TABLE_LOCKS_IMMEDIATE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "TABLE_LOCKS_WAITED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "TC_LOG_MAX_PAGES_USED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "TC_LOG_PAGE_SIZE"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "TC_LOG_PAGE_WAITS"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "THREADS_CACHED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "THREADS_CONNECTED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "THREADS_CREATED"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "THREADS_RUNNING"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "UPTIME"), + ("JUNK: GLOBAL-ONLY", "I_S.SESSION_STATUS", "UPTIME_SINCE_FLUSH_STATUS") +; +--enable_query_log + +--echo +--echo # STEP 2-15A +--echo # COM counters appear in I_S.SESSION_STATUS, but not in P_S.SESSION_STATUS +--disable_query_log +insert into test.sanity values + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ADMIN_COMMANDS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ALTER_DB"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ALTER_DB_UPGRADE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ALTER_EVENT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ALTER_FUNCTION"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ALTER_INSTANCE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ALTER_PROCEDURE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ALTER_SERVER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ALTER_TABLE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ALTER_TABLESPACE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ALTER_USER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ANALYZE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ASSIGN_TO_KEYCACHE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_BEGIN"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_BINLOG"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CALL_PROCEDURE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CHANGE_DB"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CHANGE_MASTER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CHANGE_REPL_FILTER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CHECK"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CHECKSUM"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_COMMIT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CREATE_DB"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CREATE_EVENT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CREATE_FUNCTION"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CREATE_INDEX"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CREATE_PROCEDURE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CREATE_SERVER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CREATE_TABLE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CREATE_TRIGGER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CREATE_UDF"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CREATE_USER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_CREATE_VIEW"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DEALLOC_SQL"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DELETE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DELETE_MULTI"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DO"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DROP_DB"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DROP_EVENT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DROP_FUNCTION"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DROP_INDEX"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DROP_PROCEDURE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DROP_SERVER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DROP_TABLE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DROP_TRIGGER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DROP_USER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_DROP_VIEW"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_EMPTY_QUERY"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_EXECUTE_SQL"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_EXPLAIN_OTHER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_FLUSH"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_GET_DIAGNOSTICS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_GROUP_REPLICATION_START"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_GROUP_REPLICATION_STOP"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_GRANT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_HA_CLOSE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_HA_OPEN"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_HA_READ"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_HELP"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_INSERT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_INSERT_SELECT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_INSTALL_PLUGIN"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_KILL"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_LOAD"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_LOCK_TABLES"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_OPTIMIZE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_PRELOAD_KEYS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_PREPARE_SQL"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_PURGE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_PURGE_BEFORE_DATE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_RELEASE_SAVEPOINT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_RENAME_TABLE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_RENAME_USER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_REPAIR"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_REPLACE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_REPLACE_SELECT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_RESET"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_RESIGNAL"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_REVOKE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_REVOKE_ALL"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ROLLBACK"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_ROLLBACK_TO_SAVEPOINT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SAVEPOINT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SELECT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SET_OPTION"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_BINLOGS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_BINLOG_EVENTS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_CHARSETS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_COLLATIONS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_CREATE_DB"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_CREATE_EVENT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_CREATE_FUNC"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_CREATE_PROC"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_CREATE_TABLE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_CREATE_TRIGGER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_CREATE_USER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_DATABASES"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_ENGINE_LOGS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_ENGINE_MUTEX"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_ENGINE_STATUS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_ERRORS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_EVENTS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_FIELDS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_FUNCTION_CODE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_FUNCTION_STATUS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_GRANTS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_KEYS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_MASTER_STATUS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_OPEN_TABLES"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_PLUGINS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_PRIVILEGES"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_PROCEDURE_CODE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_PROCEDURE_STATUS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_PROCESSLIST"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_PROFILE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_PROFILES"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_RELAYLOG_EVENTS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_SLAVE_HOSTS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_SLAVE_STATUS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_SLAVE_STATUS_NONBLOCKING"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_STATUS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_STORAGE_ENGINES"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_TABLES"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_TABLE_STATUS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_TRIGGERS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_VARIABLES"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SHOW_WARNINGS"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SIGNAL"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SLAVE_START"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_SLAVE_STOP"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_STMT_CLOSE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_STMT_EXECUTE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_STMT_FETCH"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_STMT_PREPARE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_STMT_RESET"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_STMT_SEND_LONG_DATA"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_TRUNCATE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_UNINSTALL_PLUGIN"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_UNLOCK_TABLES"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_UPDATE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_UPDATE_MULTI"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_XA_COMMIT"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_XA_END"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_XA_PREPARE"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_XA_RECOVER"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_XA_ROLLBACK"), + ("JUNK: COM COUNTER", "I_S.SESSION_STATUS", "COM_XA_START") +; + +--enable_query_log + +--echo +--echo # STEP 2-15B +--echo # These slave status counters appear in I_S.SESSION_STATUS, but not in P_S.SESSION_STATUS +insert into test.sanity values + ("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_HEARTBEAT_PERIOD"), + ("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_LAST_HEARTBEAT"), + ("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_RECEIVED_HEARTBEATS"), + ("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_RETRIED_TRANSACTIONS"), + ("JUNK: SLAVE-ONLY", "I_S.SESSION_STATUS", "SLAVE_RUNNING") +; + +--echo +--echo # STEP 2-16 +--echo # Known session-only status in 5.6 that should not exist in global queries. +insert into test.sanity values + ("JUNK: SESSION-ONLY", "I_S.GLOBAL_STATUS", "COMPRESSION"), + ("JUNK: SESSION-ONLY", "I_S.GLOBAL_STATUS", "LAST_QUERY_COST"), + ("JUNK: SESSION-ONLY", "I_S.GLOBAL_STATUS", "LAST_QUERY_PARTIAL_PLANS") +; + +--echo +--echo # STEP 2-16A +--echo # COM counters appear in I_S.GLOBAL_STATUS but not in P_S.GLOBAL_STATUS +--disable_query_log +insert into test.sanity values + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ADMIN_COMMANDS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ALTER_DB"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ALTER_DB_UPGRADE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ALTER_EVENT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ALTER_FUNCTION"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ALTER_INSTANCE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ALTER_PROCEDURE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ALTER_SERVER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ALTER_TABLE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ALTER_TABLESPACE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ALTER_USER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ANALYZE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ASSIGN_TO_KEYCACHE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_BEGIN"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_BINLOG"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CALL_PROCEDURE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CHANGE_DB"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CHANGE_MASTER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CHANGE_REPL_FILTER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CHECK"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CHECKSUM"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_COMMIT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CREATE_DB"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CREATE_EVENT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CREATE_FUNCTION"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CREATE_INDEX"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CREATE_PROCEDURE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CREATE_SERVER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CREATE_TABLE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CREATE_TRIGGER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CREATE_UDF"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CREATE_USER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_CREATE_VIEW"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DEALLOC_SQL"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DELETE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DELETE_MULTI"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DO"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DROP_DB"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DROP_EVENT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DROP_FUNCTION"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DROP_INDEX"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DROP_PROCEDURE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DROP_SERVER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DROP_TABLE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DROP_TRIGGER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DROP_USER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_DROP_VIEW"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_EMPTY_QUERY"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_EXECUTE_SQL"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_EXPLAIN_OTHER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_FLUSH"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_GET_DIAGNOSTICS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_GRANT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_GROUP_REPLICATION_START"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_GROUP_REPLICATION_STOP"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_HA_CLOSE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_HA_OPEN"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_HA_READ"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_HELP"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_INSERT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_INSERT_SELECT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_INSTALL_PLUGIN"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_KILL"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_LOAD"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_LOCK_TABLES"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_OPTIMIZE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_PRELOAD_KEYS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_PREPARE_SQL"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_PURGE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_PURGE_BEFORE_DATE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_RELEASE_SAVEPOINT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_RENAME_TABLE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_RENAME_USER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_REPAIR"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_REPLACE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_REPLACE_SELECT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_RESET"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_RESIGNAL"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_REVOKE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_REVOKE_ALL"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ROLLBACK"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_ROLLBACK_TO_SAVEPOINT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SAVEPOINT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SELECT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SET_OPTION"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_BINLOGS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_BINLOG_EVENTS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_CHARSETS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_COLLATIONS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_CREATE_DB"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_CREATE_EVENT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_CREATE_FUNC"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_CREATE_PROC"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_CREATE_TABLE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_CREATE_TRIGGER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_CREATE_USER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_DATABASES"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_ENGINE_LOGS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_ENGINE_MUTEX"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_ENGINE_STATUS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_ERRORS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_EVENTS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_FIELDS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_FUNCTION_CODE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_FUNCTION_STATUS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_GRANTS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_KEYS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_MASTER_STATUS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_OPEN_TABLES"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_PLUGINS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_PRIVILEGES"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_PROCEDURE_CODE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_PROCEDURE_STATUS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_PROCESSLIST"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_PROFILE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_PROFILES"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_RELAYLOG_EVENTS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_SLAVE_HOSTS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_SLAVE_STATUS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_SLAVE_STATUS_NONBLOCKING"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_STATUS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_STORAGE_ENGINES"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_TABLES"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_TABLE_STATUS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_TRIGGERS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_VARIABLES"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SHOW_WARNINGS"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SIGNAL"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SLAVE_START"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_SLAVE_STOP"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_STMT_CLOSE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_STMT_EXECUTE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_STMT_FETCH"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_STMT_PREPARE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_STMT_RESET"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_STMT_SEND_LONG_DATA"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_TRUNCATE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_UNINSTALL_PLUGIN"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_UNLOCK_TABLES"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_UPDATE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_UPDATE_MULTI"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_XA_COMMIT"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_XA_END"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_XA_PREPARE"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_XA_RECOVER"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_XA_ROLLBACK"), + ("JUNK: COM COUNTER", "I_S.GLOBAL_STATUS", "COM_XA_START") + ; + +--enable_query_log + +--echo +--echo # STEP 2-16B +--echo # These slave status counters appear in I_S.GLOBAL_STATUS, but not in P_S.GLOBAL_STATUS +insert into test.sanity values + ("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_HEARTBEAT_PERIOD"), + ("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_LAST_HEARTBEAT"), + ("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_RECEIVED_HEARTBEATS"), + ("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_RETRIED_TRANSACTIONS"), + ("JUNK: SLAVE-ONLY", "I_S.GLOBAL_STATUS", "SLAVE_RUNNING") +; + +--echo +--echo # STEP 2-17 +--echo # Status variables that should not exist in queries that aggregate across threads. +--echo # Criteria: Session-only OR non-aggregatable. +insert into test.sanity values + ("JUNK", "NO AGGREGATE", "COMPRESSION"), + ("JUNK", "NO AGGREGATE", "LAST_QUERY_COST"), + ("JUNK", "NO AGGREGATE", "LAST_QUERY_PARTIAL_PLANS"), + ("JUNK", "NO AGGREGATE", "OPEN_TABLES"), + ("JUNK", "NO AGGREGATE", "QUERIES"), + ("JUNK", "NO AGGREGATE", "SLOW_LAUNCH_THREADS"), + ("JUNK", "NO AGGREGATE", "SSL_CIPHER"), + ("JUNK", "NO AGGREGATE", "SSL_CIPHER_LIST"), + ("JUNK", "NO AGGREGATE", "SSL_DEFAULT_TIMEOUT"), + ("JUNK", "NO AGGREGATE", "SSL_SERVER_NOT_AFTER"), + ("JUNK", "NO AGGREGATE", "SSL_SERVER_NOT_BEFORE"), + ("JUNK", "NO AGGREGATE", "SSL_SESSIONS_REUSED"), + ("JUNK", "NO AGGREGATE", "SSL_VERIFY_DEPTH"), + ("JUNK", "NO AGGREGATE", "SSL_VERIFY_MODE"), + ("JUNK", "NO AGGREGATE", "SSL_VERSION") +; + +#Debug +#select * from test.sanity order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 1A +--echo Present in 5.6 P_S.GLOBAL_VARIABLES (1-3) +--echo Missing in 5.6 I_S.GLOBAL_VARIABLES (1-1) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "P_S.GLOBAL_VARIABLES" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "I_S.GLOBAL_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 1B +--echo Present in 5.7 P_S.GLOBAL_VARIABLES (2-3) +--echo Missing in 5.6 I_S.GLOBAL_VARIABLES (1-1) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.GLOBAL_VARIABLES" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "I_S.GLOBAL_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 2A +--echo Present in 5.6 I_S.GLOBAL_VARIABLES (1-1) +--echo Missing in 5.6 P_S.GLOBAL_VARIABLES (1-3) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "I_S.GLOBAL_VARIABLES" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "P_S.GLOBAL_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 2B +--echo Present in 5.6 I_S.GLOBAL_VARIABLES (1-1) +--echo Missing in 5.7 P_S.GLOBAL_VARIABLES (2-3) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "I_S.GLOBAL_VARIABLES" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.GLOBAL_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 3A +--echo Present in 5.6 P_S.SESSION_VARIABLES (1-5) +--echo Missing in 5.6 I_S.SESSION_VARIABLES (1-2) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "P_S.SESSION_VARIABLES" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 3B +--echo Present in 5.7 P_S.SESSION_VARIABLES (2-5) +--echo Missing in 5.6 I_S.SESSION_VARIABLES (1-2) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_VARIABLES" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 4A +--echo Present in 5.6 I_S.SESSION_VARIABLES (1-2) +--echo Missing in 5.6 P_S.SESSION_VARIABLES (1-5) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "P_S.SESSION_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 4B +--echo Present in 5.6 I_S.SESSION_VARIABLES (1-2) +--echo Missing in 5.7 P_S.SESSION_VARIABLES (2-5) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 5A +--echo Present in 5.6 P_S.VARIABLES_BY_THREAD (1-4) +--echo Missing in 5.6 I_S.SESSION_VARIABLES (1-2) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "P_S.VARIABLES_BY_THREAD" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 5B +--echo Present in 5.7 P_S.VARIABLES_BY_THREAD (2-4) +--echo Missing in 5.6 I_S.SESSION_VARIABLES (1-2) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.VARIABLES_BY_THREAD" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 5C +--echo Present in 5.6 I_S.SESSION_VARIABLES (1-2) +--echo Missing in 5.6 P_S.VARIABLES_BY_THREAD (1-4) +--echo EXPECT NOTHING BESIDE KNOWN GLOBAL VARIABLES (2-14) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "P_S.VARIABLES_BY_THREAD") + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "JUNK: GLOBAL-ONLY" + and source = "I_S.SESSION_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 5D +--echo Present in 5.6 I_S.SESSION_VARIABLES (1-2) +--echo Missing in 5.7 P_S.VARIABLES_BY_THREAD (2-5) +--echo EXPECT NOTHING BESIDE KNOWN GLOBAL VARIABLES (2-14) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.VARIABLES_BY_THREAD") + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "JUNK: GLOBAL-ONLY" + and source = "I_S.SESSION_VARIABLES") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 5E +--echo KNOWN GLOBAL VARIABLES (2-14) +--echo Expect missing in 5.6 P_S.VARIABLES_BY_THREAD (1-4) +--echo ================================================================================ +select * from test.sanity + where show_mode = "JUNK: GLOBAL-ONLY" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "P_S.VARIABLES_BY_THREAD") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 5F +--echo KNOWN GLOBAL VARIABLES (2-14) +--echo Expect missing in 5.7 P_S.VARIABLES_BY_THREAD (2-5) +--echo ================================================================================ +select * from test.sanity + where show_mode = "JUNK: GLOBAL-ONLY" + and source = "I_S.SESSION_VARIABLES" + and upper(variable_name) in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.VARIABLES_BY_THREAD") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 6A +--echo Present in 5.7 P_S.GLOBAL_STATUS (2-8) +--echo Missing in 5.6 I_S.GLOBAL_STATUS (1-6) +--echo EXPECT NOTHING +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.GLOBAL_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "I_S.GLOBAL_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 6B +--echo Present in 5.7 P_S.GLOBAL_STATUS (2-8) +--echo Missing in 5.6 P_S.GLOBAL_STATUS (1-8) +--echo EXPECT NOTHING +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.GLOBAL_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "P_S.GLOBAL_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 6C +--echo Present in 5.6 P_S.GLOBAL_STATUS (1-8) +--echo Missing in 5.7 P_S.GLOBAL_STATUS (2-8) +--echo EXPECT NOTHING +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "P_S.GLOBAL_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.GLOBAL_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 7 +--echo Present in 5.6 I_S.GLOBAL_STATUS (1-6) +--echo Missing in 5.7 P_S.GLOBAL_STATUS (2-8) +--echo EXPECT NOTHING AFTER REMOVING KNOWN SESSION-ONLY, COM COUNTERS AND SLAVE-ONLY (2-16 & 2-16A & 2-16B) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "I_S.GLOBAL_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where (show_mode = "JUNK: SESSION-ONLY" or show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY") + and source = "I_S.GLOBAL_STATUS") + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.GLOBAL_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 8 +--echo KNOWN SESSION-ONLY (2-16) +--echo KNOWN COM COUNTERS (2-16A) +--echo KNOWN SLAVE-ONLY (2-16B) +--echo Status variables that should NOT be present in 5.7 P_S.GLOBAL_STATUS (2-8) +--echo EXPECT NOTHING +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.GLOBAL_STATUS" + and upper(variable_name) in ( + select upper(variable_name) from test.sanity + where (show_mode = "JUNK: SESSION-ONLY" or show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY") + and source = "I_S.GLOBAL_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 9A +--echo Present in 5.7 P_S.SESSION_STATUS (2-10) +--echo Missing in 5.6 I_S.SESSION_STATUS (1-7) +--echo EXPECT NOTHING +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "I_S.SESSION_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 9B +--echo Present in 5.7 P_S.SESSION_STATUS (2-10) +--echo Missing in 5.6 P_S.SESSION_STATUS (1-10) +--echo EXPECT NOTHING +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.6" + and source = "P_S.SESSION_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 9C +--echo Present in 5.6 P_S.SESSION_STATUS (1-10) +--echo Missing in 5.7 P_S.SESSION_STATUS (2-10) +--echo EXPECT NOTHING +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 10 +--echo Present in 5.6 I_S.SESSION_STATUS (1-7) +--echo Missing in 5.7 P_S.SESSION_STATUS (2-10) +--echo EXPECT NOTHING AFTER REMOVING KNOWN COM COUNTERS AND SLAVE-ONLY (2-15A & 2-15B) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.6" + and source = "I_S.SESSION_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where (show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY") + and source = "I_S.SESSION_STATUS") + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 11 +--echo KNOWN COM COUNTERS (2-15A) +--echo KNOWN SLAVE-ONLY (2-15B) +--echo Status variables that should NOT be present in 5.7 P_S.SESSION_STATUS (2-10) +--echo EXPECT NOTHING +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) in ( + select upper(variable_name) from test.sanity + where (show_mode = "JUNK: COM COUNTER" or show_mode = "JUNK: SLAVE-ONLY") + and source = "I_S.SESSION_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 12 +--echo Present in 5.7 P_S.SESSION_STATUS (2-10) +--echo Missing in 5.7 P_S.STATUS_BY_THREAD +--echo EXPECT NOTHING AFTER REMOVING KNOWN GLOBAL-ONLY (2-15) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.STATUS_BY_THREAD") + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where (show_mode = "JUNK: GLOBAL-ONLY") + and source = "I_S.SESSION_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 13 +--echo Present in 5.7 P_S.STATUS_BY_THREAD +--echo Missing in 5.7 P_S.SESSION_STATUS (2-10) +--echo EXPECT NOTHING +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.STATUS_BY_THREAD" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 14 +--echo Present in 5.7 P_S.SESSION_STATUS (2-10) +--echo Missing in 5.7 P_S.STATUS_BY_ACCOUNT +--echo EXPECT NOTHING AFTER REMOVING +--echo - KNOWN GLOBAL-ONLY (2-15) +--echo - STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "JUNK" + and source = "NO AGGREGATE") + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where (show_mode = "JUNK: GLOBAL-ONLY") + and source = "I_S.SESSION_STATUS") + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.STATUS_BY_ACCOUNT") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 15 +--echo Present in 5.7 P_S.STATUS_BY_ACCOUNT +--echo Missing in 5.7 P_S.SESSION_STATUS (2-10) +--echo EXPECT NOTHING +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.STATUS_BY_ACCOUNT" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 16 +--echo KNOWN STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +--echo Status variables that should NOT be present in 5.7 P_S.STATUS_BY_ACCOUNT +--echo ================================================================================ +select * from performance_schema.status_by_account + where upper(variable_name) in ( + select upper(variable_name) from test.sanity + where show_mode = "JUNK" + and source = "NO AGGREGATE") + order by variable_name; + +--echo +--echo ================================================================================ +--echo TEST 17 +--echo Present in 5.7 P_S.SESSION_STATUS (2-10) +--echo Missing in 5.7 P_S.STATUS_BY_USER +--echo EXPECT NOTHING AFTER REMOVING +--echo - KNOWN GLOBAL-ONLY (2-15) +--echo - STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "JUNK" + and source = "NO AGGREGATE") + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where (show_mode = "JUNK: GLOBAL-ONLY") + and source = "I_S.SESSION_STATUS") + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.STATUS_BY_USER") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 18 +--echo Present in 5.7 P_S.STATUS_BY_USER +--echo Missing in 5.7 P_S.SESSION_STATUS (2-10) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.STATUS_BY_USER" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 19 +--echo KNOWN STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +--echo Status variables that should NOT be present in 5.7 P_S.STATUS_BY_USER +--echo ================================================================================ +select * from performance_schema.status_by_user + where upper(variable_name) in ( + select upper(variable_name) from test.sanity + where show_mode = "JUNK" + and source = "NO AGGREGATE") + order by variable_name; + +--echo +--echo ================================================================================ +--echo TEST 20 +--echo Present in 5.7 P_S.SESSION_STATUS (2-10) +--echo Missing in 5.7 P_S.STATUS_BY_HOST +--echo EXPECT NOTHING AFTER REMOVING +--echo - KNOWN GLOBAL-ONLY (2-15) +--echo - STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "JUNK" + and source = "NO AGGREGATE") + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where (show_mode = "JUNK: GLOBAL-ONLY") + and source = "I_S.SESSION_STATUS") + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.STATUS_BY_HOST") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 21 +--echo Present in 5.7 P_S.STATUS_BY_HOST +--echo Missing in 5.7 P_S.SESSION_STATUS (2-10) +--echo ================================================================================ +select * from test.sanity + where show_mode = "5.7" + and source = "P_S.STATUS_BY_HOST" + and upper(variable_name) not in ( + select upper(variable_name) from test.sanity + where show_mode = "5.7" + and source = "P_S.SESSION_STATUS") + order by show_mode, source, variable_name; + +--echo +--echo ================================================================================ +--echo TEST 22 +--echo KNOWN STATUS VARS THAT CAN'T BE AGGREGATED (2-17) +--echo Status variables that should NOT be present in 5.7 P_S.STATUS_BY_HOST +--echo ================================================================================ +select * from performance_schema.status_by_host + where upper(variable_name) in ( + select upper(variable_name) from test.sanity + where show_mode = "JUNK" + and source = "NO AGGREGATE") + order by variable_name; + +--echo +--echo ================================================================================ +--echo CLEAN UP +--echo ================================================================================ +set @@global.show_compatibility_56 = @show_compatibility_56_save; +drop table test.sanity; + + diff --git a/mysql-test/suite/perfschema/t/sizing_default.cnf b/mysql-test/suite/perfschema/t/sizing_default.cnf deleted file mode 100644 index 6a929998329..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_default.cnf +++ /dev/null @@ -1,37 +0,0 @@ - -!include include/default_mysqld_autosize.cnf - -[mysqld.1] - -# Default values used in the server, out of the box -# open_files_limit can be scaled down based on the os configuration (ulimit -n), -# so to get a stable test output, make sure ulimit -n is big enough -# -# What is supposed to happen here by default: -# table_open_cache = 2000 -# table_definition_cache = 400 + 2000/2 = 1400 -# max_connections = 151 - -# Automated sizing for everything - -loose-performance-schema-accounts-size=-1 -loose-performance-schema-digests-size=-1 -loose-performance-schema-hosts-size=-1 -loose-performance-schema-users-size=-1 - -loose-performance-schema-events-waits-history-size=-1 -loose-performance-schema-events-waits-history-long-size=-1 -loose-performance-schema-events-stages-history-size=-1 -loose-performance-schema-events-stages-history-long-size=-1 -loose-performance-schema-events-statements-history-size=-1 -loose-performance-schema-events-statements-history-long-size=-1 - -loose-performance-schema-max-mutex-instances=-1 -loose-performance-schema-max-rwlock-instances=-1 -loose-performance-schema-max-cond-instances=-1 -loose-performance-schema-max-file-instances=-1 -loose-performance-schema-max-socket-instances=-1 -loose-performance-schema-max-thread-instances=-1 -loose-performance-schema-max-table-instances=-1 -loose-performance-schema-max-table-handles=-1 - diff --git a/mysql-test/suite/perfschema/t/sizing_default.test b/mysql-test/suite/perfschema/t/sizing_default.test deleted file mode 100644 index d5fb8be9f77..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_default.test +++ /dev/null @@ -1,31 +0,0 @@ - ---source include/not_embedded.inc ---source include/have_perfschema.inc ---source include/have_64bit.inc ---source include/not_valgrind.inc ---source ../include/have_aligned_memory.inc - -# Skip test if not defaults is used. -let $max_open_files_limit= `SELECT @@open_files_limit < 5000`; -if ($max_open_files_limit) -{ - skip Need open_files_limit to be at least 5000; -} -let $max_table_open_cache= `SELECT @@table_open_cache != 2000`; -if ($max_table_open_cache) -{ - skip Need table_open_cache to be exactly 2000; -} -let $max_table_definition_cache= `SELECT @@table_definition_cache != 1400`; -if ($max_table_definition_cache) -{ - skip Need table_definition_cache to be exactly 1400; -} -let $max_connections= `SELECT @@max_connections != 151`; -if ($max_connections) -{ - skip Need max_connections to be exactly 151; -} - ---source ../include/sizing_auto.inc - diff --git a/mysql-test/suite/perfschema/t/sizing_growth-master.opt b/mysql-test/suite/perfschema/t/sizing_growth-master.opt deleted file mode 100644 index 69f0f157f70..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_growth-master.opt +++ /dev/null @@ -1,3 +0,0 @@ ---force-restart ---innodb_file_per_table=1 - diff --git a/mysql-test/suite/perfschema/t/sizing_growth.test b/mysql-test/suite/perfschema/t/sizing_growth.test deleted file mode 100644 index d6944d2aee0..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_growth.test +++ /dev/null @@ -1,478 +0,0 @@ -# Tests for PERFORMANCE_SCHEMA - ---source include/not_embedded.inc ---source include/have_perfschema.inc - -# -# Important note: -# this test is extremely sensitive to how threads are running inside the server, -# so it has it's own -master.opt file, to enforce it runs alone in mysqld -# - -# Setup - -flush status; -flush tables; - -# Remove to debug ---disable_result_log - -# Make sure the internal server caches are all full -select * from performance_schema.mutex_instances; -select * from performance_schema.rwlock_instances; -select * from performance_schema.cond_instances; -select * from performance_schema.file_instances; - -select count(*) from performance_schema.mutex_instances - into @v0_mutex_instances; - -select count(*) from performance_schema.rwlock_instances - into @v0_rwlock_instances; - -select count(*) from performance_schema.cond_instances - into @v0_cond_instances; - -select count(*) from performance_schema.file_instances - into @v0_file_instances; - -select count(*) from performance_schema.mutex_instances - into @v1_mutex_instances; - -select count(*) from performance_schema.rwlock_instances - into @v1_rwlock_instances; - -select count(*) from performance_schema.cond_instances - into @v1_cond_instances; - -select count(*) from performance_schema.file_instances - into @v1_file_instances; - -select count(name), name from performance_schema.mutex_instances - group by name; - -select count(name), name from performance_schema.rwlock_instances - group by name; - -select count(name), name from performance_schema.cond_instances - group by name; - -select count(event_name), event_name from performance_schema.file_instances - group by event_name; - -begin; -create table test.t1(a int) engine = innodb; -create table test.t2(a int) engine = innodb; -create table test.t3(a int) engine = innodb; -create table test.t4(a int) engine = innodb; -create table test.t5(a int) engine = innodb; -create table test.t6(a int) engine = innodb; -create table test.t7(a int) engine = innodb; -create table test.t8(a int) engine = innodb; -create table test.t9(a int) engine = innodb; -create table test.t10(a int) engine = innodb; - -# Make sure there is at least 1 table handle, -# to fully initialize the storage engine share if needed. -select * from test.t1; -select * from test.t2; -select * from test.t3; -select * from test.t4; -select * from test.t5; -select * from test.t6; -select * from test.t7; -select * from test.t8; -select * from test.t9; -select * from test.t10; -commit; - -select count(*) from performance_schema.mutex_instances - into @v2_mutex_instances; - -select count(*) from performance_schema.rwlock_instances - into @v2_rwlock_instances; - -select count(*) from performance_schema.cond_instances - into @v2_cond_instances; - -select count(*) from performance_schema.file_instances - into @v2_file_instances; - -select count(name), name from performance_schema.mutex_instances - group by name; - -select count(name), name from performance_schema.rwlock_instances - group by name; - -select count(name), name from performance_schema.cond_instances - group by name; - -select count(event_name), event_name from performance_schema.file_instances - group by event_name; - -select @v2_mutex_instances, @v1_mutex_instances, @v0_mutex_instances; -select @v2_rwlock_instances, @v1_rwlock_instances, @v0_rwlock_instances; -select @v2_cond_instances, @v1_cond_instances, @v0_cond_instances; -select @v2_file_instances, @v1_file_instances, @v0_file_instances; - -select round((@v2_mutex_instances - @v1_mutex_instances) / 10) - into @mutex_per_share; -select round((@v2_rwlock_instances - @v1_rwlock_instances) / 10) - into @rwlock_per_share; -select round((@v2_cond_instances - @v1_cond_instances) / 10) - into @cond_per_share; -select round((@v2_file_instances - @v1_file_instances) / 10) - into @file_per_share; - -connect (con1, localhost, root,,); -select "con1 connected"; - -connect (con2, localhost, root,,); -select "con2 connected"; - -connect (con3, localhost, root,,); -select "con3 connected"; - -connect (con4, localhost, root,,); -select "con4 connected"; - -connect (con5, localhost, root,,); -select "con5 connected"; - -connect (con6, localhost, root,,); -select "con6 connected"; - -connect (con7, localhost, root,,); -select "con7 connected"; - -connect (con8, localhost, root,,); -select "con8 connected"; - -connect (con9, localhost, root,,); -select "con9 connected"; - -connect (con10, localhost, root,,); -select "con10 connected"; - -connection default; - -select count(*) from performance_schema.mutex_instances - into @v3_mutex_instances; - -select count(*) from performance_schema.rwlock_instances - into @v3_rwlock_instances; - -select count(*) from performance_schema.cond_instances - into @v3_cond_instances; - -select count(*) from performance_schema.file_instances - into @v3_file_instances; - -select count(name), name from performance_schema.mutex_instances - group by name; - -select count(name), name from performance_schema.rwlock_instances - group by name; - -select count(name), name from performance_schema.cond_instances - group by name; - -select count(event_name), event_name from performance_schema.file_instances - group by event_name; - -select @v3_mutex_instances, @v2_mutex_instances; -select @v3_rwlock_instances, @v2_rwlock_instances; -select @v3_cond_instances, @v2_cond_instances; -select @v3_file_instances, @v2_file_instances; - -select round((@v3_mutex_instances - @v2_mutex_instances) / 10) - into @mutex_per_con; -select round((@v3_rwlock_instances - @v2_rwlock_instances) / 10) - into @rwlock_per_con; -select round((@v3_cond_instances - @v2_cond_instances) / 10) - into @cond_per_con; -select round((@v3_file_instances - @v2_file_instances) / 10) - into @file_per_con; - ---connection con1 - -lock table test.t1 write, test.t2 write, test.t3 write, test.t4 write, -test.t5 write, test.t6 write, test.t7 write, test.t8 write, test.t9 write, -test.t10 write; - ---send -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* - from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; - ---connection con2 - ---send -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* - from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; - ---connection con3 - ---send -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* - from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; - ---connection con4 - ---send -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* - from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; - ---connection con5 - ---send -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* - from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; - ---connection con6 - ---send -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* - from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; - ---connection con7 - ---send -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* - from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; - ---connection con8 - ---send -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* - from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; - ---connection con9 - ---send -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* - from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; - ---connection con10 - ---send -select t1.*, t2.*, t3.*, t4.*, t5.*, t6.*, t7.*, t8.*, t9.*, t10.* - from t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; - -connection default; - -select count(*) from performance_schema.mutex_instances - into @v4_mutex_instances; - -select count(*) from performance_schema.rwlock_instances - into @v4_rwlock_instances; - -select count(*) from performance_schema.cond_instances - into @v4_cond_instances; - -select count(*) from performance_schema.file_instances - into @v4_file_instances; - -select count(name), name from performance_schema.mutex_instances - group by name; - -select count(name), name from performance_schema.rwlock_instances - group by name; - -select count(name), name from performance_schema.cond_instances - group by name; - -select count(event_name), event_name from performance_schema.file_instances - group by event_name; - -select @v4_mutex_instances, @v3_mutex_instances; -select @v4_rwlock_instances, @v3_rwlock_instances; -select @v4_cond_instances, @v3_cond_instances; -select @v4_file_instances, @v3_file_instances; - -select round((@v4_mutex_instances - @v3_mutex_instances) / 10) - into @mutex_per_handle; -select round((@v4_rwlock_instances - @v3_rwlock_instances) / 10) - into @rwlock_per_handle; -select round((@v4_cond_instances - @v3_cond_instances) / 10) - into @cond_per_handle; -select round((@v4_file_instances - @v3_file_instances) / 10) - into @file_per_handle; - ---connection con1 ---reap - -unlock tables; - ---connection con2 ---reap - ---connection con3 ---reap - ---connection con4 ---reap - ---connection con5 ---reap - ---connection con6 ---reap - ---connection con7 ---reap - ---connection con8 ---reap - ---connection con9 ---reap - ---connection con10 ---reap - ---disconnect con1 ---disconnect con2 ---disconnect con3 ---disconnect con4 ---disconnect con5 ---disconnect con6 ---disconnect con7 ---disconnect con8 ---disconnect con9 ---disconnect con10 - ---connection default - -drop table test.t1; -drop table test.t2; -drop table test.t3; -drop table test.t4; -drop table test.t5; -drop table test.t6; -drop table test.t7; -drop table test.t8; -drop table test.t9; -drop table test.t10; - ---enable_result_log - -# -# This test must have *_lost = 0, -# otherwise the measurement is just wrong. -# - -show status like "performance_schema%"; - -# -# Expecting 2: -# - wait/synch/mutex/sql/MDL_wait::LOCK_wait_status -# - wait/synch/mutex/sql/TABLE_SHARE::LOCK_ha_data -# plus mutexes used inside the storage engine -# This is very storage engine dependent -# For innodb: -# - wait/synch/mutex/innodb/autoinc_mutex -# - wait/synch/mutex/innodb/os_mutex -# Note that depending on the platform, -# and the version of the compiler used, -# code in the server may use either native platform atomics -# or a mutex. -# Note also that in DEBUG builds, code uses more mutexes. -# Because of all these parameters, -# this test is disabled, as predicting an exact number is difficult. -# -# commented: select @mutex_per_share <= 5; - -# -# Expecting 1: -# - wait/synch/rwlock/sql/MDL_lock::rwlock -# plus rwlocks used inside the storage engine -# This is very storage engine dependent -# -select @rwlock_per_share <= 3; - -# -# Expecting 0: -# -select @cond_per_share; - -# -# Expecting 1: -# - wait/io/file/sql/FRM -# plus files used inside the storage engine -# This is very storage engine dependent -# -select @file_per_share <= 3; - -# -# Expecting 3: -# - wait/synch/mutex/mysys/my_thread_var::mutex -# - wait/synch/mutex/mysys/THR_LOCK::mutex -# - wait/synch/mutex/sql/THD::LOCK_thd_data -# -select @mutex_per_con; - -# -# Expecting 1: -# - wait/synch/rwlock/sql/MDL_context::LOCK_waiting_for -# -select @rwlock_per_con; - -# -# Expecting 2: -# - wait/synch/cond/mysys/my_thread_var::suspend -# - wait/synch/cond/sql/MDL_context::COND_wait_status -# -select @cond_per_con; - -# -# Expecting 0: -# -select @file_per_con; - -# -# Expecting 0: -# -select @mutex_per_handle; - -# -# Expecting 0: -# -select @rwlock_per_handle; - -# -# Expecting 0: -# -select @cond_per_handle; - -# -# Expecting 0: -# -select @file_per_handle; - -# -# IMPORTANT NOTE: -# when any measurement here changes, the heuristics -# in storage/perfschema/pfs_autosize.cc need to be updated. -# Note that this in turns will lead to different estimations for automated -# sizing, and imply to update the results for sizing_*. -# - -# commented: (@mutex_per_share <= 5) -# Mutexes are not instrumented by default, -# not enforcing mutex estimates - -select if( - (@rwlock_per_share <= 3) - AND (@cond_per_share = 0) - AND (@file_per_share <= 3) - AND (@mutex_per_con = 3) - AND (@rwlock_per_con = 1) - AND (@cond_per_con = 2) - AND (@file_per_con = 0) - AND (@mutex_per_handle = 0) - AND (@rwlock_per_handle = 0) - AND (@cond_per_handle = 0) - AND (@file_per_handle = 0), - "OK: heuristics are up to date", - "FAILED: heuristics need to be updated") - as status; - diff --git a/mysql-test/suite/perfschema/t/sizing_high.cnf b/mysql-test/suite/perfschema/t/sizing_high.cnf deleted file mode 100644 index 8445ff60928..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_high.cnf +++ /dev/null @@ -1,56 +0,0 @@ - -!include include/default_mysqld_autosize.cnf - -[mysqld.1] - -# WARNING about open_files_limit and ulimit -n -# -# mysqld checks how many files can be opened on the machine, -# and this is by definition very: -# - os dependent, see OS_FILE_LIMIT, HAVE_GETRLIMIT -# - configuration dependent, for each machine (ulimit -n), see -# my_set_max_open_files() in mysys/my_file.c, -# see getrlimit(RLIMIT_NOFILE) -# -# Based on the this, the server tunes _down_ max_connections and -# table_cache_size to match the open_files_limit found, -# which significantly interfere with this test. -# -# Solution: use a big table definition cache, -# but small values for max_connection and table_open_cache, -# to stay within open_files_limit of 1024. -# -# This is the best test we can do that has a chance to pass on all -# platforms, while still providing code coverage. - -table_definition_cache=5000 -table_open_cache=400 -max_connections=200 -open_files_limit=1024 - -# 10+max_connections+table_cache_size*2 = 10 + 200 + 400*2 = 1010 -# max_connections*5 = 200*5 = 1000 - -# Automated sizing for everything - -loose-performance-schema-accounts-size=-1 -loose-performance-schema-digests-size=-1 -loose-performance-schema-hosts-size=-1 -loose-performance-schema-users-size=-1 - -loose-performance-schema-events-waits-history-size=-1 -loose-performance-schema-events-waits-history-long-size=-1 -loose-performance-schema-events-stages-history-size=-1 -loose-performance-schema-events-stages-history-long-size=-1 -loose-performance-schema-events-statements-history-size=-1 -loose-performance-schema-events-statements-history-long-size=-1 - -loose-performance-schema-max-mutex-instances=-1 -loose-performance-schema-max-rwlock-instances=-1 -loose-performance-schema-max-cond-instances=-1 -loose-performance-schema-max-file-instances=-1 -loose-performance-schema-max-socket-instances=-1 -loose-performance-schema-max-thread-instances=-1 -loose-performance-schema-max-table-instances=-1 -loose-performance-schema-max-table-handles=-1 - diff --git a/mysql-test/suite/perfschema/t/sizing_high.test b/mysql-test/suite/perfschema/t/sizing_high.test deleted file mode 100644 index 4d02d41aecd..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_high.test +++ /dev/null @@ -1,9 +0,0 @@ - ---source include/not_embedded.inc ---source include/have_perfschema.inc ---source include/have_64bit.inc ---source include/not_valgrind.inc ---source ../include/have_aligned_memory.inc - ---source ../include/sizing_auto.inc - diff --git a/mysql-test/suite/perfschema/t/sizing_low.cnf b/mysql-test/suite/perfschema/t/sizing_low.cnf deleted file mode 100644 index 54c881830cf..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_low.cnf +++ /dev/null @@ -1,33 +0,0 @@ - -!include include/default_mysqld_autosize.cnf - -[mysqld.1] - -table_definition_cache=400 -table_open_cache=100 -max_connections=50 -open_files_limit=1024 - -# Automated sizing for everything - -loose-performance-schema-accounts-size=-1 -loose-performance-schema-digests-size=-1 -loose-performance-schema-hosts-size=-1 -loose-performance-schema-users-size=-1 - -loose-performance-schema-events-waits-history-size=-1 -loose-performance-schema-events-waits-history-long-size=-1 -loose-performance-schema-events-stages-history-size=-1 -loose-performance-schema-events-stages-history-long-size=-1 -loose-performance-schema-events-statements-history-size=-1 -loose-performance-schema-events-statements-history-long-size=-1 - -loose-performance-schema-max-mutex-instances=-1 -loose-performance-schema-max-rwlock-instances=-1 -loose-performance-schema-max-cond-instances=-1 -loose-performance-schema-max-file-instances=-1 -loose-performance-schema-max-socket-instances=-1 -loose-performance-schema-max-thread-instances=-1 -loose-performance-schema-max-table-instances=-1 -loose-performance-schema-max-table-handles=-1 - diff --git a/mysql-test/suite/perfschema/t/sizing_low.test b/mysql-test/suite/perfschema/t/sizing_low.test deleted file mode 100644 index 56446fd6973..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_low.test +++ /dev/null @@ -1,10 +0,0 @@ - ---source include/not_embedded.inc ---source include/have_perfschema.inc ---source include/have_64bit.inc ---source include/not_valgrind.inc ---source ../include/have_aligned_memory.inc - ---source ../include/sizing_auto.inc - -CALL mtr.add_suppression("innodb_open_files should not be greater than the open_files_limit."); diff --git a/mysql-test/suite/perfschema/t/sizing_med.cnf b/mysql-test/suite/perfschema/t/sizing_med.cnf deleted file mode 100644 index 8aff531ea69..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_med.cnf +++ /dev/null @@ -1,33 +0,0 @@ - -!include include/default_mysqld_autosize.cnf - -[mysqld.1] - -table_definition_cache=401 -table_open_cache=401 -max_connections=152 -open_files_limit=1024 - -# Automated sizing for everything - -loose-performance-schema-accounts-size=-1 -loose-performance-schema-digests-size=-1 -loose-performance-schema-hosts-size=-1 -loose-performance-schema-users-size=-1 - -loose-performance-schema-events-waits-history-size=-1 -loose-performance-schema-events-waits-history-long-size=-1 -loose-performance-schema-events-stages-history-size=-1 -loose-performance-schema-events-stages-history-long-size=-1 -loose-performance-schema-events-statements-history-size=-1 -loose-performance-schema-events-statements-history-long-size=-1 - -loose-performance-schema-max-mutex-instances=-1 -loose-performance-schema-max-rwlock-instances=-1 -loose-performance-schema-max-cond-instances=-1 -loose-performance-schema-max-file-instances=-1 -loose-performance-schema-max-socket-instances=-1 -loose-performance-schema-max-thread-instances=-1 -loose-performance-schema-max-table-instances=-1 -loose-performance-schema-max-table-handles=-1 - diff --git a/mysql-test/suite/perfschema/t/sizing_med.test b/mysql-test/suite/perfschema/t/sizing_med.test deleted file mode 100644 index 4d02d41aecd..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_med.test +++ /dev/null @@ -1,9 +0,0 @@ - ---source include/not_embedded.inc ---source include/have_perfschema.inc ---source include/have_64bit.inc ---source include/not_valgrind.inc ---source ../include/have_aligned_memory.inc - ---source ../include/sizing_auto.inc - diff --git a/mysql-test/suite/perfschema/t/sizing_off.cnf b/mysql-test/suite/perfschema/t/sizing_off.cnf deleted file mode 100644 index 24ca58bbb0b..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_off.cnf +++ /dev/null @@ -1,38 +0,0 @@ - -!include include/default_mysqld_autosize.cnf - -[mysqld.1] - -# Default values used in the server, out of the box -table_definition_cache=400 -table_open_cache=400 -max_connections=151 -open_files_limit=1024 - -# Disable the performacne schema. -# Sizing does not occur then -loose-skip-performance-schema - -# Automated sizing for everything - -loose-performance-schema-accounts-size=-1 -loose-performance-schema-digests-size=-1 -loose-performance-schema-hosts-size=-1 -loose-performance-schema-users-size=-1 - -loose-performance-schema-events-waits-history-size=-1 -loose-performance-schema-events-waits-history-long-size=-1 -loose-performance-schema-events-stages-history-size=-1 -loose-performance-schema-events-stages-history-long-size=-1 -loose-performance-schema-events-statements-history-size=-1 -loose-performance-schema-events-statements-history-long-size=-1 - -loose-performance-schema-max-mutex-instances=-1 -loose-performance-schema-max-rwlock-instances=-1 -loose-performance-schema-max-cond-instances=-1 -loose-performance-schema-max-file-instances=-1 -loose-performance-schema-max-socket-instances=-1 -loose-performance-schema-max-thread-instances=-1 -loose-performance-schema-max-table-instances=-1 -loose-performance-schema-max-table-handles=-1 - diff --git a/mysql-test/suite/perfschema/t/sizing_off.test b/mysql-test/suite/perfschema/t/sizing_off.test deleted file mode 100644 index 32729918bd1..00000000000 --- a/mysql-test/suite/perfschema/t/sizing_off.test +++ /dev/null @@ -1,8 +0,0 @@ - ---source include/not_embedded.inc ---source include/have_perfschema.inc - -show variables where - `Variable_name` != "performance_schema_max_statement_classes" and - `Variable_name` like "performance_schema%"; -show status like "performance_schema%"; diff --git a/mysql-test/suite/perfschema/t/socket_summary_by_event_name_func.test b/mysql-test/suite/perfschema/t/socket_summary_by_event_name_func.test index 095ff30d4f1..9d9f75d9a36 100644 --- a/mysql-test/suite/perfschema/t/socket_summary_by_event_name_func.test +++ b/mysql-test/suite/perfschema/t/socket_summary_by_event_name_func.test @@ -28,6 +28,8 @@ # prepared statement. --source include/no_protocol.inc +--source include/turn_off_only_full_group_by.inc + # Set this to enable debugging output let $my_socket_debug= 0; @@ -329,5 +331,7 @@ if (`SELECT @tables_match = 0`) --connection default DROP DATABASE mysqltest; +--source include/restore_sql_mode_after_turn_off_only_full_group_by.inc + exit; diff --git a/mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test b/mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test index b523b2fe224..2f7bc98d52f 100644 --- a/mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test +++ b/mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test @@ -30,6 +30,7 @@ # Embedded server does not supprt the performance_schema. --source include/not_embedded.inc --source include/not_windows.inc +--source include/no_valgrind_without_big.inc --source include/have_perfschema.inc # The values in the performance_schema tables depend on how much communication @@ -493,7 +494,10 @@ let $connect_user= root; --echo # length of user name = 10 character --echo # length of default db = 9 character #======================================================================== +SET @orig_sql_mode= @@sql_mode; +SET sql_mode= (SELECT replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); GRANT ALL PRIVILEGES ON *.* TO 'root012345'@'localhost'; +SET sql_mode= @orig_sql_mode; let $connect_host= localhost; let $connect_db= mysqltest; let $connect_user= root012345; @@ -504,7 +508,10 @@ DROP USER 'root012345'@'localhost'; --echo # length of user name = 14 character --echo # length of default db = 9 character #======================================================================== +SET @orig_sql_mode= @@sql_mode; +SET sql_mode= (SELECT replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); GRANT ALL PRIVILEGES ON *.* to 'root0123456789'@'localhost'; +SET sql_mode= @orig_sql_mode; let $connect_host= localhost; let $connect_db= mysqltest; let $connect_user= root0123456789; @@ -1461,9 +1468,11 @@ if(`SELECT COUNT(*) $part`) # 4 6706392 85 3 15509472 117 2 34851168 Connect (con*,localhost,root012345,,mysqltest,,) # 4 10543632 89 3 10578744 117 2 39460872 Connect (con*,localhost,root0123456789,,mysqltest,,) ---echo # 4.6.1 The SUM_OF_BYTES_WRITE value is the same for all Connects. +--echo # 4.6.1 The SUM_OF_BYTES_WRITE value depends on length of database +--echo # since the database name is written in OK packet. +--echo # Hence the value 2. #======================================================================== -let $my_rules= COUNT(DISTINCT SUM_NUMBER_OF_BYTES_WRITE) = 1; +let $my_rules= COUNT(DISTINCT SUM_NUMBER_OF_BYTES_WRITE) = 2; let $part= FROM mysqltest.socket_summary_by_instance_detail WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin diff --git a/mysql-test/suite/perfschema/t/socket_summary_by_instance_func_win.test b/mysql-test/suite/perfschema/t/socket_summary_by_instance_func_win.test index 5b02dccc9e6..da46db57bf6 100644 --- a/mysql-test/suite/perfschema/t/socket_summary_by_instance_func_win.test +++ b/mysql-test/suite/perfschema/t/socket_summary_by_instance_func_win.test @@ -495,7 +495,10 @@ let $connect_user= root; --echo # length of user name = 10 character --echo # length of default db = 9 character #======================================================================== +SET @orig_sql_mode= @@sql_mode; +SET sql_mode= (SELECT replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); GRANT ALL PRIVILEGES ON *.* TO 'root012345'@'localhost'; +SET sql_mode= @orig_sql_mode; let $connect_host= localhost; let $connect_db= mysqltest; let $connect_user= root012345; @@ -506,7 +509,10 @@ DROP USER 'root012345'@'localhost'; --echo # length of user name = 14 character --echo # length of default db = 9 character #======================================================================== +SET @orig_sql_mode= @@sql_mode; +SET sql_mode= (SELECT replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); GRANT ALL PRIVILEGES ON *.* to 'root0123456789'@'localhost'; +SET sql_mode= @orig_sql_mode; let $connect_host= localhost; let $connect_db= mysqltest; let $connect_user= root0123456789; @@ -1473,9 +1479,11 @@ if(`SELECT COUNT(*) $part`) # 4 6706392 85 3 15509472 117 2 34851168 Connect (con*,localhost,root012345,,mysqltest,,) # 4 10543632 89 3 10578744 117 2 39460872 Connect (con*,localhost,root0123456789,,mysqltest,,) ---echo # 4.6.1 The SUM_OF_BYTES_WRITE value is the same for all Connects. +--echo # 4.6.1 The SUM_OF_BYTES_WRITE value depends on length of database +--echo # since the database name is written in OK packet. +--echo # Hence the value 2. #======================================================================== -let $my_rules= COUNT(DISTINCT SUM_NUMBER_OF_BYTES_WRITE) = 1; +let $my_rules= COUNT(DISTINCT SUM_NUMBER_OF_BYTES_WRITE) = 2; let $part= FROM mysqltest.socket_summary_by_instance_detail WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin diff --git a/mysql-test/suite/perfschema/t/start_server_disable_transactions-master.opt b/mysql-test/suite/perfschema/t/start_server_disable_transactions-master.opt new file mode 100644 index 00000000000..20f93f92f52 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_disable_transactions-master.opt @@ -0,0 +1 @@ +--loose-performance-schema-instrument='transaction=OFF' diff --git a/mysql-test/suite/perfschema/t/start_server_disable_transactions.test b/mysql-test/suite/perfschema/t/start_server_disable_transactions.test new file mode 100644 index 00000000000..723dd1027c9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_disable_transactions.test @@ -0,0 +1,28 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--source ../include/start_server_common.inc + +# Expect no enabled statements instruments +select * from performance_schema.setup_instruments + where name in ('transaction') and enabled='YES'; + +# Expect no statement statistics collected + +select * from performance_schema.events_transactions_summary_global_by_event_name + where count_star > 0; + +select * from performance_schema.events_transactions_summary_by_thread_by_event_name + where count_star > 0; + +select * from performance_schema.events_transactions_summary_by_user_by_event_name + where count_star > 0; + +select * from performance_schema.events_transactions_summary_by_host_by_event_name + where count_star > 0; + +select * from performance_schema.events_transactions_summary_by_account_by_event_name + where count_star > 0; + diff --git a/mysql-test/suite/perfschema/t/start_server_innodb.test b/mysql-test/suite/perfschema/t/start_server_innodb.test index 68a164a0bc1..f190482b7d5 100644 --- a/mysql-test/suite/perfschema/t/start_server_innodb.test +++ b/mysql-test/suite/perfschema/t/start_server_innodb.test @@ -8,4 +8,4 @@ # Expecting nothing lost with default parameters -show status like "performance_schema%"; +show global status like "performance_schema%"; diff --git a/mysql-test/suite/perfschema/t/start_server_low_digest_sql_length-master.opt b/mysql-test/suite/perfschema/t/start_server_low_digest_sql_length-master.opt new file mode 100644 index 00000000000..e6483c360f9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_low_digest_sql_length-master.opt @@ -0,0 +1,3 @@ +--thread_stack=655360 +--max_digest_length=10 +--loose-performance_schema_max_sql_text_length=10 diff --git a/mysql-test/suite/perfschema/t/start_server_low_digest_sql_length.test b/mysql-test/suite/perfschema/t/start_server_low_digest_sql_length.test new file mode 100644 index 00000000000..ba7f06dc7b9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_low_digest_sql_length.test @@ -0,0 +1,22 @@ +# ----------------------------------------------------------------------- +# Tests for the performance schema statement Digests. +# ----------------------------------------------------------------------- + +--source include/not_embedded.inc +--source include/have_perfschema.inc +--source include/no_protocol.inc + +USE performance_schema; +truncate table events_statements_history_long; + +# ----------------------------------------------------------------------- +# Test to show how the digest behaves with low value of +# - performance_schema_max_digest_length +# - performance_schema_max_sql_text_length +# ----------------------------------------------------------------------- +SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; + +--echo #################################### +--echo # QUERYING PS STATEMENT DIGEST +--echo #################################### +SELECT event_name, digest, digest_text, sql_text FROM events_statements_history_long; diff --git a/mysql-test/suite/perfschema/t/start_server_low_index-master.opt b/mysql-test/suite/perfschema/t/start_server_low_index-master.opt new file mode 100644 index 00000000000..1db42702de6 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_low_index-master.opt @@ -0,0 +1,2 @@ +--loose-enable-performance-schema +--loose-performance_schema_max_index_stat=38 diff --git a/mysql-test/suite/perfschema/t/start_server_low_index.test b/mysql-test/suite/perfschema/t/start_server_low_index.test new file mode 100644 index 00000000000..18004e1993c --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_low_index.test @@ -0,0 +1,181 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_valgrind.inc +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--source ../include/start_server_common.inc + + +# NOTE : Index stats are manifested during table creation. To force a low index +# condition, performance_schema_max_index_stat must be set to the number of +# all system table indexes, plus 1. + +############################# +# Setup database and tables. +############################# +--disable_warnings +drop table if exists db1.t1; +drop database if exists db1; +--enable_warnings +create database db1; +create table db1.t1 (a int, b char(10) default 'default', + unique key uidx(a)); + +####################### +# Execute few queries. +####################### +insert into db1.t1 values('1', 'abc'); +insert into db1.t1 values('2', 'abc'); +select * from db1.t1 where a='1'; + +##################################################### +# Run few queries on Performance Schema stats tables. +##################################################### +# There should be 3 entries in following table. 2 for insert and 1 for select. +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +# Stats for 2 indexes (full scan, uidx) +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME + from performance_schema.table_io_waits_summary_by_index_usage + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; + +flush tables; + +# Stats for full scan lost +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +# Stats for only 1 index, uidx +# Stats for full scan lost +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME + from performance_schema.table_io_waits_summary_by_index_usage + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; + +# Expect INDEX_STAT lost, we have room for 1 out of 2 +--disable_warnings +select variable_value > 0 from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; + +# While at it, check that FLUSH STATUS Resets the lost counter +FLUSH STATUS; + +select variable_value from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; +--enable_warnings + + +create table db1.t2 (a int, b char(10) default 'default', + unique key uidx(a)); + +####################### +# Execute few queries. +####################### +insert into db1.t1 values('3', 'abc'); +insert into db1.t1 values('4', 'abc'); +select * from db1.t1 where a='1'; + +insert into db1.t2 values('1', 'abc'); +insert into db1.t2 values('2', 'abc'); +select * from db1.t2 where a='1'; + +##################################################### +# Run few queries on Performance Schema stats tables. +##################################################### + +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME + from performance_schema.table_io_waits_summary_by_index_usage + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; + +flush tables; + +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME + from performance_schema.table_io_waits_summary_by_index_usage + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; + +# Expect INDEX_STAT lost +--disable_warnings +select variable_value > 0 from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; +--enable_warnings + +FLUSH STATUS; + + +##################################################################################### +# Update setup_objects to DISABLE TABLE and check index lost stats after flush tables +##################################################################################### + +update performance_schema.setup_objects set ENABLED='NO' where OBJECT_TYPE='TABLE'; + + + +####################### +# Execute few queries. +####################### +insert into db1.t1 values('5', 'abc'); +insert into db1.t1 values('6', 'abc'); +select * from db1.t1 where a='1'; + +insert into db1.t2 values('3', 'abc'); +insert into db1.t2 values('4', 'abc'); +select * from db1.t2 where a='1'; + +# Empty, objects are disabled +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +# Empty, objects are disabled +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME + from performance_schema.table_io_waits_summary_by_index_usage + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; + +flush tables; + +# Empty, objects are disabled +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +# Empty, objects are disabled +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME + from performance_schema.table_io_waits_summary_by_index_usage + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME; + +# Do not expect lost counter in INDEX_STAT +--disable_warnings +select variable_value from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; +--enable_warnings + +########### +# Cleanup. +########### +drop database db1; + +update performance_schema.setup_objects set ENABLED='YES' + where OBJECT_TYPE='TABLE' and OBJECT_SCHEMA="%"; diff --git a/mysql-test/suite/perfschema/t/start_server_low_table_lock-master.opt b/mysql-test/suite/perfschema/t/start_server_low_table_lock-master.opt new file mode 100644 index 00000000000..d687f8d04b5 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_low_table_lock-master.opt @@ -0,0 +1,2 @@ +--loose-enable-performance-schema +--loose-performance_schema_max_table_lock_stat=1 diff --git a/mysql-test/suite/perfschema/t/start_server_low_table_lock.test b/mysql-test/suite/perfschema/t/start_server_low_table_lock.test new file mode 100644 index 00000000000..8f35eb64e2a --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_low_table_lock.test @@ -0,0 +1,130 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--source ../include/start_server_common.inc + +############################# +# Setup database and tables. +############################# +--disable_warnings +drop table if exists db1.t1; +drop database if exists db1; +--enable_warnings +create database db1; +create table db1.t1 (a int, b char(10) default 'default'); + +####################### +# Execute few queries. +####################### +insert into db1.t1 values('1', 'abc'); +insert into db1.t1 values('2', 'abc'); +select * from db1.t1 where a='1'; + +##################################################### +# Run few queries on Performance Schema stats tables. +##################################################### +# There should be 3 entries in following table. 2 for insert and 1 for select. +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +flush tables; + +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +# Expect no TABLE_LOCK_STAT lost, we have room for 1 table lock for db1.t1 +--disable_warnings +select variable_value from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_TABLE_LOCK_STAT_LOST'; +--enable_warnings + +create table db1.t2 (a int, b char(10) default 'default', + unique key uidx(a)); + +####################### +# Execute few queries. +####################### +insert into db1.t1 values('3', 'abc'); +insert into db1.t1 values('4', 'abc'); +select * from db1.t1 where a='1'; + +insert into db1.t2 values('1', 'abc'); +insert into db1.t2 values('2', 'abc'); +select * from db1.t2 where a='1'; + +##################################################### +# Run few queries on Performance Schema stats tables. +##################################################### + +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +flush tables; + +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +# Expect TABLE_LOCK_STAT lost, we can not keep stats for db1.t2 +--disable_warnings +select variable_value > 0 from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_TABLE_LOCK_STAT_LOST'; +--enable_warnings + +flush status; + + +####################################### +# Update setup_objects to DISABLE TABLE +####################################### + +update performance_schema.setup_objects set ENABLED='NO' + where OBJECT_TYPE='TABLE' and OBJECT_SCHEMA="%"; + +####################### +# Execute few queries. +####################### +insert into db1.t1 values('5', 'abc'); +insert into db1.t1 values('6', 'abc'); +select * from db1.t1 where a='1'; + +insert into db1.t2 values('3', 'abc'); +insert into db1.t2 values('4', 'abc'); +select * from db1.t2 where a='1'; + +# Empty, objects are disabled +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +flush tables; + +# Empty, objects are disabled +select COUNT_STAR, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME + from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1' + order by OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME; + +# Do not expect lost counter in TABLE_LOCK_STAT +--disable_warnings +select variable_value from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_TABLE_LOCK_STAT_LOST'; +--enable_warnings + +########### +# Cleanup. +########### +drop database db1; + +update performance_schema.setup_objects set ENABLED='YES' + where OBJECT_TYPE='TABLE' and OBJECT_SCHEMA="%"; diff --git a/mysql-test/suite/perfschema/t/start_server_no_account.test b/mysql-test/suite/perfschema/t/start_server_no_account.test index b9b0c858dfb..563fdbaa1f0 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_account.test +++ b/mysql-test/suite/perfschema/t/start_server_no_account.test @@ -6,11 +6,13 @@ --source ../include/start_server_common.inc # Expect no records -show variables like "performance_schema_accounts_size"; +show global variables like "performance_schema_accounts_size"; select count(*) from performance_schema.accounts; # We lost all the data +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_ACCOUNTS_LOST'; +--enable_warnings diff --git a/mysql-test/suite/perfschema/t/start_server_no_cond_class.test b/mysql-test/suite/perfschema/t/start_server_no_cond_class.test index 31578f80238..8a5cf0f5797 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_cond_class.test +++ b/mysql-test/suite/perfschema/t/start_server_no_cond_class.test @@ -6,18 +6,20 @@ --source ../include/start_server_common.inc # Expect no classes -show variables like "performance_schema_max_cond_classes"; +show global variables like "performance_schema_max_cond_classes"; select count(*) from performance_schema.setup_instruments where name like "wait/synch/cond/%"; # We lost all the classes +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_COND_CLASSES_LOST'; +--enable_warnings # Expect no instances select count(*) from performance_schema.cond_instances; # Expect no instances lost -show status like "performance_schema_cond_instances_lost"; +show global status like "performance_schema_cond_instances_lost"; diff --git a/mysql-test/suite/perfschema/t/start_server_no_cond_inst.test b/mysql-test/suite/perfschema/t/start_server_no_cond_inst.test index 03b9b16ef4e..8168ef1024d 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_cond_inst.test +++ b/mysql-test/suite/perfschema/t/start_server_no_cond_inst.test @@ -6,21 +6,23 @@ --source ../include/start_server_common.inc # Expect classes -show variables like "performance_schema_max_cond_classes"; +show global variables like "performance_schema_max_cond_classes"; select count(*) > 0 from performance_schema.setup_instruments where name like "wait/synch/cond/%"; # Expect no class lost -show status like "performance_schema_cond_classes_lost"; +show global status like "performance_schema_cond_classes_lost"; # Expect no instances -show variables like "performance_schema_max_cond_instances"; +show global variables like "performance_schema_max_cond_instances"; select count(*) from performance_schema.cond_instances; # Expect instances lost +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_COND_INSTANCES_LOST'; +--enable_warnings diff --git a/mysql-test/suite/perfschema/t/start_server_no_digests.test b/mysql-test/suite/perfschema/t/start_server_no_digests.test index cb9d7ea4ea8..cfdd9c8282b 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_digests.test +++ b/mysql-test/suite/perfschema/t/start_server_no_digests.test @@ -24,7 +24,7 @@ SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARN # Expect no digest -SHOW VARIABLES LIKE "performance_schema_digests_size"; +SHOW GLOBAL VARIABLES LIKE "performance_schema_digests_size"; SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest; # Cleanup for Digest diff --git a/mysql-test/suite/perfschema/t/start_server_no_file_class.test b/mysql-test/suite/perfschema/t/start_server_no_file_class.test index b2c97ccde1e..74ed465a0d8 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_file_class.test +++ b/mysql-test/suite/perfschema/t/start_server_no_file_class.test @@ -6,18 +6,20 @@ --source ../include/start_server_common.inc # Expect no classes -show variables like "performance_schema_max_file_classes"; +show global variables like "performance_schema_max_file_classes"; select count(*) from performance_schema.setup_instruments where name like "wait/io/file/%"; # We lost all the classes +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_FILE_CLASSES_LOST'; +--enable_warnings # Expect no instances select count(*) from performance_schema.file_instances; # Expect no instances lost -show status like "performance_schema_file_instances_lost"; +show global status like "performance_schema_file_instances_lost"; diff --git a/mysql-test/suite/perfschema/t/start_server_no_file_inst.test b/mysql-test/suite/perfschema/t/start_server_no_file_inst.test index d8a7402a948..715fe656cc2 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_file_inst.test +++ b/mysql-test/suite/perfschema/t/start_server_no_file_inst.test @@ -6,21 +6,23 @@ --source ../include/start_server_common.inc # Expect classes -show variables like "performance_schema_max_file_classes"; +show global variables like "performance_schema_max_file_classes"; select count(*) > 0 from performance_schema.setup_instruments where name like "wait/io/file/%"; # Expect no class lost -show status like "performance_schema_file_classes_lost"; +show global status like "performance_schema_file_classes_lost"; # Expect no instances -show variables like "performance_schema_max_file_instances"; +show global variables like "performance_schema_max_file_instances"; select count(*) from performance_schema.file_instances; # Expect instances lost +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_FILE_INSTANCES_LOST'; +--enable_warnings diff --git a/mysql-test/suite/perfschema/t/start_server_no_host.test b/mysql-test/suite/perfschema/t/start_server_no_host.test index e0d3d4b1f0f..5f9dd7067cc 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_host.test +++ b/mysql-test/suite/perfschema/t/start_server_no_host.test @@ -6,11 +6,13 @@ --source ../include/start_server_common.inc # Expect no records -show variables like "performance_schema_hosts_size"; +show global variables like "performance_schema_hosts_size"; select count(*) from performance_schema.hosts; # We lost all the data +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_HOSTS_LOST'; +--enable_warnings diff --git a/mysql-test/suite/perfschema/t/start_server_no_index-master.opt b/mysql-test/suite/perfschema/t/start_server_no_index-master.opt new file mode 100644 index 00000000000..38bbb9efed2 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_index-master.opt @@ -0,0 +1,2 @@ +--loose-enable-performance-schema +--loose-performance_schema_max_index_stat=0 diff --git a/mysql-test/suite/perfschema/t/start_server_no_index.test b/mysql-test/suite/perfschema/t/start_server_no_index.test new file mode 100644 index 00000000000..8c636cc6163 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_index.test @@ -0,0 +1,64 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--source ../include/start_server_common.inc + +############################# +# Setup database and tables. +############################# +--disable_warnings +drop table if exists db1.t1; +drop database if exists db1; +--enable_warnings +create database db1; +create table db1.t1 (a int, b char(10) default 'default', + unique key uidx(a)); + +####################### +# Execute few queries. +####################### +insert into db1.t1 values('1', 'abc'); +insert into db1.t1 values('2', 'abc'); +select * from db1.t1 where a='1'; + +##################################################### +# Run few queries on Performance Schema stats tables. +##################################################### +# There should be 3 entries in following table. 2 for insert and 1 for select. +# This is because lock stats are still in the table handles +select COUNT_STAR from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1'; +# There should be 1 entry in following table. Thats is for select. +# This is because lock stats are still in the table handles +select COUNT_STAR from performance_schema.table_io_waits_summary_by_index_usage + where INDEX_NAME!='NULL'; + +# Now force aggregation by closing table handles +FLUSH TABLES; + +# Stats are now missing +select COUNT_STAR from performance_schema.table_io_waits_summary_by_table + where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1'; + +# Stats are now missing +select COUNT_STAR from performance_schema.table_io_waits_summary_by_index_usage + where INDEX_NAME!='NULL'; + +# Expect INDEX_STAT lost +--disable_warnings +select variable_value > 0 from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; + +# While at it, check that FLUSH STATUS Resets the lost counter +FLUSH STATUS; + +select variable_value from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_INDEX_STAT_LOST'; +--enable_warnings + +########### +# Cleanup. +########### +drop database db1; diff --git a/mysql-test/suite/perfschema/t/start_server_no_mdl-master.opt b/mysql-test/suite/perfschema/t/start_server_no_mdl-master.opt new file mode 100644 index 00000000000..93a55af2f9d --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_mdl-master.opt @@ -0,0 +1,2 @@ +--loose-enable-performance-schema +--loose-performance_schema_max_metadata_locks=0 diff --git a/mysql-test/suite/perfschema/t/start_server_no_mdl.test b/mysql-test/suite/perfschema/t/start_server_no_mdl.test new file mode 100644 index 00000000000..c3d1ca7d791 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_mdl.test @@ -0,0 +1,23 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--source ../include/start_server_common.inc + +select count(*) from performance_schema.metadata_locks; + +# Expect metadata locks lost +--disable_warnings +select variable_value > 0 from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_METADATA_LOCK_LOST'; +--enable_warnings + +# While at it, check that flush status resets the lost counter +FLUSH STATUS; + +--disable_warnings +select variable_value from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_METADATA_LOCK_LOST'; +--enable_warnings + diff --git a/mysql-test/suite/perfschema/t/start_server_no_memory_class-master.opt b/mysql-test/suite/perfschema/t/start_server_no_memory_class-master.opt new file mode 100644 index 00000000000..9ff2f77a19e --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_memory_class-master.opt @@ -0,0 +1,2 @@ +--loose-enable-performance-schema +--loose-performance_schema_max_memory_classes=0 diff --git a/mysql-test/suite/perfschema/t/start_server_no_memory_class.test b/mysql-test/suite/perfschema/t/start_server_no_memory_class.test new file mode 100644 index 00000000000..e14e5f39d7f --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_memory_class.test @@ -0,0 +1,26 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--source ../include/start_server_common.inc + +# Expect no classes +show global variables like "performance_schema_max_memory_classes"; + +# Expect builtin memory classes +select name from performance_schema.setup_instruments + where name like "memory/performance_schema/%" + order by name; + +# Expect no memory classes +select count(*) from performance_schema.setup_instruments + where name like "memory/%" + and name not like "memory/performance_schema/%"; + +# We lost all the classes +--disable_warnings +select variable_value > 0 from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_MEMORY_CLASSES_LOST'; +--enable_warnings + diff --git a/mysql-test/suite/perfschema/t/start_server_no_mutex_class.test b/mysql-test/suite/perfschema/t/start_server_no_mutex_class.test index 43798ecf01f..918d79e9417 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_mutex_class.test +++ b/mysql-test/suite/perfschema/t/start_server_no_mutex_class.test @@ -6,18 +6,20 @@ --source ../include/start_server_common.inc # Expect no classes -show variables like "performance_schema_max_mutex_classes"; +show global variables like "performance_schema_max_mutex_classes"; select count(*) from performance_schema.setup_instruments where name like "wait/synch/mutex/%"; # We lost all the classes +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_MUTEX_CLASSES_LOST'; +--enable_warnings # Expect no instances select count(*) from performance_schema.mutex_instances; # Expect no instances lost -show status like "performance_schema_mutex_instances_lost"; +show global status like "performance_schema_mutex_instances_lost"; diff --git a/mysql-test/suite/perfschema/t/start_server_no_mutex_inst.test b/mysql-test/suite/perfschema/t/start_server_no_mutex_inst.test index bffb8218937..106d5df0307 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_mutex_inst.test +++ b/mysql-test/suite/perfschema/t/start_server_no_mutex_inst.test @@ -6,21 +6,23 @@ --source ../include/start_server_common.inc # Expect classes -show variables like "performance_schema_max_mutex_classes"; +show global variables like "performance_schema_max_mutex_classes"; select count(*) > 0 from performance_schema.setup_instruments where name like "wait/synch/mutex/%"; # Expect no class lost -show status like "performance_schema_mutex_classes_lost"; +show global status like "performance_schema_mutex_classes_lost"; # Expect no instances -show variables like "performance_schema_max_mutex_instances"; +show global variables like "performance_schema_max_mutex_instances"; select count(*) from performance_schema.mutex_instances; # Expect instances lost +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_MUTEX_INSTANCES_LOST'; +--enable_warnings diff --git a/mysql-test/suite/perfschema/t/start_server_no_prepared_stmts_instances-master.opt b/mysql-test/suite/perfschema/t/start_server_no_prepared_stmts_instances-master.opt new file mode 100644 index 00000000000..5a9501cb6e7 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_prepared_stmts_instances-master.opt @@ -0,0 +1,2 @@ +--loose-enable-performance-schema +--loose-performance_schema_max_prepared_statements_instances=0 diff --git a/mysql-test/suite/perfschema/t/start_server_no_prepared_stmts_instances.test b/mysql-test/suite/perfschema/t/start_server_no_prepared_stmts_instances.test new file mode 100644 index 00000000000..840b3afdbf3 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_prepared_stmts_instances.test @@ -0,0 +1,43 @@ +--source include/not_embedded.inc +--source include/have_perfschema.inc +--source include/no_protocol.inc + +--source ../include/start_server_common.inc + +CREATE DATABASE db; +USE db; + +# Expect no history + +show global variables like "performance_schema_max_prepared_statements_instances"; +select count(*) from performance_schema.prepared_statements_instances; + +# Valid operation, edge case + +truncate table performance_schema.prepared_statements_instances; + +# Prepare statements +--source suite/perfschema/include/prepared_stmts_setup.inc + +# check the lost status +show global status like "%performance_schema_prepared_statements_lost%"; + +# Execute statements +--source suite/perfschema/include/prepared_stmts_execution.inc + +# check the lost status +show global status like "%performance_schema_prepared_statements_lost%"; + +# deallocate prepared statements +--source suite/perfschema/include/prepared_stmts_deallocation.inc + +# check the lost status +show global status like "%performance_schema_prepared_statements_lost%"; + +# Flush status now +flush status; + +# status after flush. expect 0. +show global status like "%performance_schema_prepared_statements_lost%"; + +DROP DATABASE db; diff --git a/mysql-test/suite/perfschema/t/start_server_no_rwlock_class.test b/mysql-test/suite/perfschema/t/start_server_no_rwlock_class.test index 3c4f32137cc..e876faabed6 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_rwlock_class.test +++ b/mysql-test/suite/perfschema/t/start_server_no_rwlock_class.test @@ -6,18 +6,20 @@ --source ../include/start_server_common.inc # Expect no classes -show variables like "performance_schema_max_rwlock_classes"; +show global variables like "performance_schema_max_rwlock_classes"; select count(*) from performance_schema.setup_instruments where name like "wait/synch/rwlock/%"; # We lost all the classes +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_RWLOCK_CLASSES_LOST'; +--enable_warnings # Expect no instances select count(*) from performance_schema.rwlock_instances; # Expect no instances lost -show status like "performance_schema_rwlock_instances_lost"; +show global status like "performance_schema_rwlock_instances_lost"; diff --git a/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst.test b/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst.test index 68cb75ea37e..ace773a6dac 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst.test +++ b/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst.test @@ -6,21 +6,23 @@ --source ../include/start_server_common.inc # Expect classes -show variables like "performance_schema_max_rwlock_classes"; +show global variables like "performance_schema_max_rwlock_classes"; select count(*) > 0 from performance_schema.setup_instruments where name like "wait/synch/rwlock/%"; # Expect no class lost -show status like "performance_schema_rwlock_classes_lost"; +show global status like "performance_schema_rwlock_classes_lost"; # Expect no instances -show variables like "performance_schema_max_rwlock_instances"; +show global variables like "performance_schema_max_rwlock_instances"; select count(*) from performance_schema.rwlock_instances; # Expect instances lost +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_RWLOCK_INSTANCES_LOST'; +--enable_warnings diff --git a/mysql-test/suite/perfschema/t/start_server_no_setup_actors.test b/mysql-test/suite/perfschema/t/start_server_no_setup_actors.test index d1433053df8..970f500815d 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_setup_actors.test +++ b/mysql-test/suite/perfschema/t/start_server_no_setup_actors.test @@ -6,7 +6,7 @@ --source ../include/start_server_common.inc # Expect no setup_actors -show variables like "performance_schema_setup_actors_size"; +show global variables like "performance_schema_setup_actors_size"; # Expect no setup_actors select count(*) from performance_schema.setup_actors; diff --git a/mysql-test/suite/perfschema/t/start_server_no_setup_objects.test b/mysql-test/suite/perfschema/t/start_server_no_setup_objects.test index d46805e5b25..039e963e8d6 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_setup_objects.test +++ b/mysql-test/suite/perfschema/t/start_server_no_setup_objects.test @@ -6,7 +6,7 @@ --source ../include/start_server_common.inc # Expect no setup_objects -show variables like "performance_schema_setup_objects_size"; +show global variables like "performance_schema_setup_objects_size"; # Expect no setup_objects select count(*) from performance_schema.setup_objects; diff --git a/mysql-test/suite/perfschema/t/start_server_no_socket_class.test b/mysql-test/suite/perfschema/t/start_server_no_socket_class.test index ec1a2495413..a956a63ec0d 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_socket_class.test +++ b/mysql-test/suite/perfschema/t/start_server_no_socket_class.test @@ -6,18 +6,20 @@ --source ../include/start_server_common.inc # Expect no classes -show variables like "performance_schema_max_socket_classes"; +show global variables like "performance_schema_max_socket_classes"; select count(*) from performance_schema.setup_instruments where name like "wait/io/socket/%"; # We lost all the classes +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_SOCKET_CLASSES_LOST'; +--enable_warnings # Expect no instances select count(*) from performance_schema.socket_instances; # Expect no instances lost -show status like "performance_schema_socket_instances_lost"; +show global status like "performance_schema_socket_instances_lost"; diff --git a/mysql-test/suite/perfschema/t/start_server_no_socket_inst.test b/mysql-test/suite/perfschema/t/start_server_no_socket_inst.test index 752a1666550..0202869dd9d 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_socket_inst.test +++ b/mysql-test/suite/perfschema/t/start_server_no_socket_inst.test @@ -6,21 +6,23 @@ --source ../include/start_server_common.inc # Expect classes -show variables like "performance_schema_max_socket_classes"; +show global variables like "performance_schema_max_socket_classes"; select count(*) > 0 from performance_schema.setup_instruments where name like "wait/io/socket/%"; # Expect no class lost -show status like "performance_schema_socket_classes_lost"; +show global status like "performance_schema_socket_classes_lost"; # Expect no instances -show variables like "performance_schema_max_socket_instances"; +show global variables like "performance_schema_max_socket_instances"; select count(*) from performance_schema.socket_instances; # Expect instances lost +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_SOCKET_INSTANCES_LOST'; +--enable_warnings diff --git a/mysql-test/suite/perfschema/t/start_server_no_stage_class.test b/mysql-test/suite/perfschema/t/start_server_no_stage_class.test index 23d22ac5431..d0a9d8acb63 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_stage_class.test +++ b/mysql-test/suite/perfschema/t/start_server_no_stage_class.test @@ -6,14 +6,16 @@ --source ../include/start_server_common.inc # Expect no classes -show variables like "performance_schema_max_stage_classes"; +show global variables like "performance_schema_max_stage_classes"; select count(*) from performance_schema.setup_instruments where name like "stage/%"; # We lost all the classes +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_STAGE_CLASSES_LOST'; +--enable_warnings # Expect no stages select count(*) from performance_schema.events_stages_current; diff --git a/mysql-test/suite/perfschema/t/start_server_no_stages_history.test b/mysql-test/suite/perfschema/t/start_server_no_stages_history.test index 1f5df187646..fca9b5f6cfd 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_stages_history.test +++ b/mysql-test/suite/perfschema/t/start_server_no_stages_history.test @@ -6,7 +6,7 @@ --source ../include/start_server_common.inc # Expect no history -show variables like "performance_schema_events_stages_history_size"; +show global variables like "performance_schema_events_stages_history_size"; select count(*) from performance_schema.events_stages_history; # Valid operation, edge case diff --git a/mysql-test/suite/perfschema/t/start_server_no_stages_history_long.test b/mysql-test/suite/perfschema/t/start_server_no_stages_history_long.test index 84c227790c9..282e396ac00 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_stages_history_long.test +++ b/mysql-test/suite/perfschema/t/start_server_no_stages_history_long.test @@ -6,7 +6,7 @@ --source ../include/start_server_common.inc # Expect no history long -show variables like "performance_schema_events_stages_history_long_size"; +show global variables like "performance_schema_events_stages_history_long_size"; select count(*) from performance_schema.events_stages_history_long; # Valid operation, edge case diff --git a/mysql-test/suite/perfschema/t/start_server_no_statement_class.test b/mysql-test/suite/perfschema/t/start_server_no_statement_class.test index 71deb85680a..fa80d328484 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_statement_class.test +++ b/mysql-test/suite/perfschema/t/start_server_no_statement_class.test @@ -6,14 +6,16 @@ --source ../include/start_server_common.inc # Expect no classes -show variables like "performance_schema_max_statement_classes"; +show global variables like "performance_schema_max_statement_classes"; select count(*) from performance_schema.setup_instruments where name like "statement/%"; # We lost all the classes +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_STATEMENT_CLASSES_LOST'; +--enable_warnings # Expect no statements select count(*) from performance_schema.events_statements_current; diff --git a/mysql-test/suite/perfschema/t/start_server_no_statements_history.test b/mysql-test/suite/perfschema/t/start_server_no_statements_history.test index 625e0bb3cd3..e87a59dd676 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_statements_history.test +++ b/mysql-test/suite/perfschema/t/start_server_no_statements_history.test @@ -6,7 +6,7 @@ --source ../include/start_server_common.inc # Expect no history -show variables like "performance_schema_events_statements_history_size"; +show global variables like "performance_schema_events_statements_history_size"; select count(*) from performance_schema.events_statements_history; # Valid operation, edge case diff --git a/mysql-test/suite/perfschema/t/start_server_no_statements_history_long.test b/mysql-test/suite/perfschema/t/start_server_no_statements_history_long.test index a8d551cbed0..c14df52a24f 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_statements_history_long.test +++ b/mysql-test/suite/perfschema/t/start_server_no_statements_history_long.test @@ -6,7 +6,7 @@ --source ../include/start_server_common.inc # Expect no history long -show variables like "performance_schema_events_statements_history_long_size"; +show global variables like "performance_schema_events_statements_history_long_size"; select count(*) from performance_schema.events_statements_history_long; # Valid operation, edge case diff --git a/mysql-test/suite/perfschema/t/start_server_no_table_hdl.test b/mysql-test/suite/perfschema/t/start_server_no_table_hdl.test index 80553f11866..87c4173ccb6 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_table_hdl.test +++ b/mysql-test/suite/perfschema/t/start_server_no_table_hdl.test @@ -6,10 +6,10 @@ --source ../include/start_server_common.inc # Expect instances -show variables like "performance_schema_max_table_instances"; +show global variables like "performance_schema_max_table_instances"; # Expect no handles -show variables like "performance_schema_max_table_handles"; +show global variables like "performance_schema_max_table_handles"; # Create an instrumented table --disable_warnings @@ -22,9 +22,11 @@ select * from test.instrument_me; drop table test.instrument_me; # Expect no instances lost -show variables like "performance_schema_max_table_instances"; +show global variables like "performance_schema_max_table_instances"; # We lost all the handles +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_TABLE_HANDLES_LOST'; +--enable_warnings diff --git a/mysql-test/suite/perfschema/t/start_server_no_table_inst-master.opt b/mysql-test/suite/perfschema/t/start_server_no_table_inst-master.opt index 50abd1264f5..57145166385 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_table_inst-master.opt +++ b/mysql-test/suite/perfschema/t/start_server_no_table_inst-master.opt @@ -1,2 +1,4 @@ --loose-enable-performance-schema --loose-performance_schema_max_table_instances=0 +--loose-performance_schema_max_index_stat=0 +--loose-performance_schema_max_table_lock_stat=0 diff --git a/mysql-test/suite/perfschema/t/start_server_no_table_inst.test b/mysql-test/suite/perfschema/t/start_server_no_table_inst.test index bd6ad54325e..ec6674efb37 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_table_inst.test +++ b/mysql-test/suite/perfschema/t/start_server_no_table_inst.test @@ -6,10 +6,10 @@ --source ../include/start_server_common.inc # Expect no instances -show variables like "performance_schema_max_table_instances"; +show global variables like "performance_schema_max_table_instances"; # Expect handles -show variables like "performance_schema_max_table_handles"; +show global variables like "performance_schema_max_table_handles"; # Create an instrumented table --disable_warnings @@ -22,9 +22,11 @@ select * from test.instrument_me; drop table test.instrument_me; # We lost all the instances +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_TABLE_INSTANCES_LOST'; +--enable_warnings # Expect no handle lost -show status like "performance_schema_table_handles_lost"; +show global status like "performance_schema_table_handles_lost"; diff --git a/mysql-test/suite/perfschema/t/start_server_no_table_lock-master.opt b/mysql-test/suite/perfschema/t/start_server_no_table_lock-master.opt new file mode 100644 index 00000000000..2fe2a5245c8 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_table_lock-master.opt @@ -0,0 +1,2 @@ +--loose-enable-performance-schema +--loose-performance_schema_max_table_lock_stat=0 diff --git a/mysql-test/suite/perfschema/t/start_server_no_table_lock.test b/mysql-test/suite/perfschema/t/start_server_no_table_lock.test new file mode 100644 index 00000000000..c80639a5799 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_table_lock.test @@ -0,0 +1,54 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--source ../include/start_server_common.inc + +############################# +# Setup database and tables. +############################# +--disable_warnings +drop table if exists db1.t1; +drop database if exists db1; +--enable_warnings +create database db1; +create table db1.t1 (a int, b char(10) default 'default'); + +####################### +# Execute few queries. +####################### +insert into db1.t1 values('1', 'abc'); +insert into db1.t1 values('2', 'abc'); +select * from db1.t1 where a='1'; + +##################################################### +# Run few queries on Performance Schema stats tables. +##################################################### +# There should be 3 entries in following table. 2 for insert and 1 for select. +# This is because lock stats are still in the table handles +select COUNT_STAR from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1'; + +# Now force aggregation by closing table handles +FLUSH TABLES; + +select COUNT_STAR from performance_schema.table_lock_waits_summary_by_table + where OBJECT_SCHEMA='db1' and OBJECT_NAME='t1'; + +# Expect TABLE_LOCK_STAT lost +--disable_warnings +select variable_value > 0 from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_TABLE_LOCK_STAT_LOST'; + +# While at it, check that FLUSH STATUS Resets the lost counter +FLUSH STATUS; + +select variable_value from information_schema.global_status + where variable_name like 'PERFORMANCE_SCHEMA_TABLE_LOCK_STAT_LOST'; +--enable_warnings + +########### +# Cleanup. +########### +drop database db1; diff --git a/mysql-test/suite/perfschema/t/start_server_no_thread_class.test b/mysql-test/suite/perfschema/t/start_server_no_thread_class.test index e37faeacf53..7909eb11fed 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_thread_class.test +++ b/mysql-test/suite/perfschema/t/start_server_no_thread_class.test @@ -6,18 +6,20 @@ --source ../include/start_server_common.inc # Expect no classes -show variables like "performance_schema_max_thread_classes"; +show global variables like "performance_schema_max_thread_classes"; select count(*) from performance_schema.setup_instruments where name like "thread/%"; # We lost all the classes +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_THREAD_CLASSES_LOST'; +--enable_warnings # Expect no instances select count(*) from performance_schema.threads; # Expect no instances lost -show status like "performance_schema_thread_instances_lost"; +show global status like "performance_schema_thread_instances_lost"; diff --git a/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test b/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test index c27de1d4027..f1e221cc74e 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test +++ b/mysql-test/suite/perfschema/t/start_server_no_thread_inst.test @@ -6,22 +6,24 @@ --source ../include/start_server_common.inc # Expect classes -show variables like "performance_schema_max_thread_classes"; +show global variables like "performance_schema_max_thread_classes"; # Not observable yet # select count(*) > 0 from performance_schema.setup_instruments # where name like "thread/%"; # Expect no class lost -show status like "performance_schema_thread_classes_lost"; +show global status like "performance_schema_thread_classes_lost"; # Expect no instances -show variables like "performance_schema_max_thread_instances"; +show global variables like "performance_schema_max_thread_instances"; select count(*) from performance_schema.threads; # Expect instances lost +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_THREAD_INSTANCES_LOST'; +--enable_warnings diff --git a/mysql-test/suite/perfschema/t/start_server_no_transactions_history-master.opt b/mysql-test/suite/perfschema/t/start_server_no_transactions_history-master.opt new file mode 100644 index 00000000000..76ffd3787bb --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_transactions_history-master.opt @@ -0,0 +1,2 @@ +--loose-enable-performance-schema +--loose-performance_schema_events_transactions_history_size=0 diff --git a/mysql-test/suite/perfschema/t/start_server_no_transactions_history.test b/mysql-test/suite/perfschema/t/start_server_no_transactions_history.test new file mode 100644 index 00000000000..266af484c7b --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_transactions_history.test @@ -0,0 +1,14 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--source ../include/start_server_common.inc + +# Expect no history +show global variables like "performance_schema_events_transactions_history_size"; +select count(*) from performance_schema.events_transactions_history; + +# Valid operation, edge case +truncate table performance_schema.events_transactions_history; + diff --git a/mysql-test/suite/perfschema/t/start_server_no_transactions_history_long-master.opt b/mysql-test/suite/perfschema/t/start_server_no_transactions_history_long-master.opt new file mode 100644 index 00000000000..60d148e8079 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_transactions_history_long-master.opt @@ -0,0 +1,2 @@ +--loose-enable-performance-schema +--loose-performance_schema_events_transactions_history_long_size=0 diff --git a/mysql-test/suite/perfschema/t/start_server_no_transactions_history_long.test b/mysql-test/suite/perfschema/t/start_server_no_transactions_history_long.test new file mode 100644 index 00000000000..83f80b528e6 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_no_transactions_history_long.test @@ -0,0 +1,14 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--source ../include/start_server_common.inc + +# Expect no history long +show global variables like "performance_schema_events_transactions_history_long_size"; +select count(*) from performance_schema.events_transactions_history_long; + +# Valid operation, edge case +truncate table performance_schema.events_transactions_history_long; + diff --git a/mysql-test/suite/perfschema/t/start_server_no_user.test b/mysql-test/suite/perfschema/t/start_server_no_user.test index 549b90a5851..2b1b9fed5c7 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_user.test +++ b/mysql-test/suite/perfschema/t/start_server_no_user.test @@ -6,11 +6,13 @@ --source ../include/start_server_common.inc # Expect no records -show variables like "performance_schema_users_size"; +show global variables like "performance_schema_users_size"; select count(*) from performance_schema.users; # We lost all the data +--disable_warnings select variable_value > 0 from information_schema.global_status where variable_name like 'PERFORMANCE_SCHEMA_USERS_LOST'; +--enable_warnings diff --git a/mysql-test/suite/perfschema/t/start_server_no_waits_history.test b/mysql-test/suite/perfschema/t/start_server_no_waits_history.test index 2ee7dba2526..3eb561770b7 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_waits_history.test +++ b/mysql-test/suite/perfschema/t/start_server_no_waits_history.test @@ -6,7 +6,7 @@ --source ../include/start_server_common.inc # Expect no history -show variables like "performance_schema_events_waits_history_size"; +show global variables like "performance_schema_events_waits_history_size"; select count(*) from performance_schema.events_waits_history; # Valid operation, edge case diff --git a/mysql-test/suite/perfschema/t/start_server_no_waits_history_long.test b/mysql-test/suite/perfschema/t/start_server_no_waits_history_long.test index e393304a94d..b22b1e7ef05 100644 --- a/mysql-test/suite/perfschema/t/start_server_no_waits_history_long.test +++ b/mysql-test/suite/perfschema/t/start_server_no_waits_history_long.test @@ -6,7 +6,7 @@ --source ../include/start_server_common.inc # Expect no history long -show variables like "performance_schema_events_waits_history_long_size"; +show global variables like "performance_schema_events_waits_history_long_size"; select count(*) from performance_schema.events_waits_history_long; # Valid operation, edge case diff --git a/mysql-test/suite/perfschema/t/start_server_nothing-master.opt b/mysql-test/suite/perfschema/t/start_server_nothing-master.opt index d0cd757cac1..aa7d019af5d 100644 --- a/mysql-test/suite/perfschema/t/start_server_nothing-master.opt +++ b/mysql-test/suite/perfschema/t/start_server_nothing-master.opt @@ -9,6 +9,7 @@ --loose-performance_schema_max_file_classes=0 --loose-performance_schema_max_thread_classes=0 --loose-performance_schema_max_socket_classes=0 +--loose-performance_schema_max_memory_classes=0 --loose-performance_schema_max_mutex_instances=0 --loose-performance_schema_max_rwlock_instances=0 @@ -20,6 +21,8 @@ --loose-performance_schema_max_table_instances=0 --loose-performance_schema_max_file_handles=0 --loose-performance_schema_max_table_handles=0 +--loose-performance_schema_max_index_stat=0 +--loose-performance_schema_max_table_lock_stat=0 --loose-performance_schema_setup_actors_size=0 --loose-performance_schema_setup_objects_size=0 @@ -35,5 +38,10 @@ --loose-performance_schema_events_statements_history_long_size=0 --loose-performance_schema_events_statements_history_size=0 ---loose-performance_schema_session_connect_attrs=0 +--loose-performance_schema_session_connect_attrs_size=0 +--loose-performance_schema_digests_size=0 +--loose-performance_schema_max_metadata_locks=0 + +--loose-performance_schema_max_program_instances=0 +--loose-performance_schema_max_statement_stack=1 diff --git a/mysql-test/suite/perfschema/t/start_server_nothing.test b/mysql-test/suite/perfschema/t/start_server_nothing.test index c337ef604f6..957a289473b 100644 --- a/mysql-test/suite/perfschema/t/start_server_nothing.test +++ b/mysql-test/suite/perfschema/t/start_server_nothing.test @@ -5,10 +5,11 @@ --source ../include/start_server_common.inc -show variables like "performance_schema%"; +show global variables like "performance_schema%"; # Not empty -select * from performance_schema.setup_instruments; +select * from performance_schema.setup_instruments + order by name; select TIMER_NAME from performance_schema.performance_timers; select * from performance_schema.setup_consumers; select NAME from performance_schema.setup_timers; @@ -44,17 +45,18 @@ select * from performance_schema.events_waits_summary_global_by_event_name; select * from performance_schema.file_instances; select * from performance_schema.file_summary_by_event_name; select * from performance_schema.file_summary_by_instance; -select * from performance_schema.session_account_connect_attrs; -select * from performance_schema.session_connect_attrs; -select * from performance_schema.socket_instances; -select * from performance_schema.socket_summary_by_instance; -select * from performance_schema.socket_summary_by_event_name; select * from performance_schema.hosts; +select * from performance_schema.metadata_locks; select * from performance_schema.mutex_instances; select * from performance_schema.objects_summary_global_by_type; select * from performance_schema.rwlock_instances; +select * from performance_schema.session_account_connect_attrs; +select * from performance_schema.session_connect_attrs; select * from performance_schema.setup_actors; select * from performance_schema.setup_objects; +select * from performance_schema.socket_instances; +select * from performance_schema.socket_summary_by_event_name; +select * from performance_schema.socket_summary_by_instance; +select * from performance_schema.table_handles; select * from performance_schema.threads; select * from performance_schema.users; - diff --git a/mysql-test/suite/perfschema/t/start_server_off.test b/mysql-test/suite/perfschema/t/start_server_off.test index 8b58f8c0814..021c3afa0e5 100644 --- a/mysql-test/suite/perfschema/t/start_server_off.test +++ b/mysql-test/suite/perfschema/t/start_server_off.test @@ -5,8 +5,11 @@ --source ../include/start_server_common.inc +select * from information_schema.engines + where engine = "PERFORMANCE_SCHEMA"; + # Expecting all off / zero -show status like "performance_schema%"; +show global status like "performance_schema%"; # Expect all consumers disabled @@ -26,7 +29,7 @@ select * from performance_schema.setup_timers; insert into performance_schema.setup_objects values ('TABLE', 'myschema', 'myobject', 'YES', 'YES'); --error ER_WRONG_PERFSCHEMA_USAGE -insert into performance_schema.setup_actors values ('myhost', 'mysuser', 'myrole'); +insert into performance_schema.setup_actors values ('myhost', 'mysuser', 'myrole', 'YES', 'YES'); # Expect SELECT, UPDATE, DELETE and TRUNCATE to affect 0 rows, but with # no error because the target row(s) will not be found @@ -45,4 +48,21 @@ truncate performance_schema.events_waits_history_long; truncate performance_schema.setup_objects; truncate performance_schema.setup_actors; +# +# Verify SHOW STATUS and SHOW VARIABLES with show_compatibility_56=OFF +# +select @@global.show_compatibility_56 into @show_compatibility_56_save; +set global show_compatibility_56 = OFF; + +--disable_warnings +# Expect that status variables are still accessible +show global status like "performance_schema%"; +show session status like "performance_schema%"; + +# Expect that system variables are still accessible +show global variables like "show_compatibility_56"; +show session variables like "show_compatibility_56"; +--enable_warnings +# Cleanup +set @@global.show_compatibility_56 = @show_compatibility_56_save; diff --git a/mysql-test/suite/perfschema/t/start_server_on.test b/mysql-test/suite/perfschema/t/start_server_on.test index 18789e9d16a..dabef20efe3 100644 --- a/mysql-test/suite/perfschema/t/start_server_on.test +++ b/mysql-test/suite/perfschema/t/start_server_on.test @@ -7,4 +7,4 @@ # Expecting nothing lost with default parameters -show status like "performance_schema%"; +show global status like "performance_schema%"; diff --git a/mysql-test/suite/perfschema/t/start_server_zero_digest_sql_length-master.opt b/mysql-test/suite/perfschema/t/start_server_zero_digest_sql_length-master.opt new file mode 100644 index 00000000000..5ee2230e539 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_zero_digest_sql_length-master.opt @@ -0,0 +1,3 @@ +--thread_stack=655360 +--max_digest_length=0 +--loose-performance_schema_max_sql_text_length=0 diff --git a/mysql-test/suite/perfschema/t/start_server_zero_digest_sql_length.test b/mysql-test/suite/perfschema/t/start_server_zero_digest_sql_length.test new file mode 100644 index 00000000000..4d5d5ce7859 --- /dev/null +++ b/mysql-test/suite/perfschema/t/start_server_zero_digest_sql_length.test @@ -0,0 +1,20 @@ +# ----------------------------------------------------------------------- +# Tests for the performance schema statement Digests. +# ----------------------------------------------------------------------- + +--source include/not_embedded.inc +--source include/have_perfschema.inc +--source include/no_protocol.inc + +USE performance_schema; +truncate table events_statements_history_long; + +# ----------------------------------------------------------------------- +# Test to show how the digest behaves with low value of max_digest_length +# ----------------------------------------------------------------------- +SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; + +--echo #################################### +--echo # QUERYING PS STATEMENT DIGEST +--echo #################################### +SELECT event_name, digest, digest_text, sql_text FROM events_statements_history_long; diff --git a/mysql-test/suite/perfschema/t/statement_digest.test b/mysql-test/suite/perfschema/t/statement_digest.test index ed1f99e4318..fdbba2bc111 100644 --- a/mysql-test/suite/perfschema/t/statement_digest.test +++ b/mysql-test/suite/perfschema/t/statement_digest.test @@ -5,6 +5,7 @@ --source include/not_embedded.inc --source include/have_perfschema.inc +SET sql_mode='NO_ENGINE_SUBSTITUTION'; # Initial Setup for Digest --source ../include/digest_setup.inc @@ -21,3 +22,4 @@ SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARN # Cleanup for Digest --source ../include/digest_cleanup.inc +SET sql_mode=default; diff --git a/mysql-test/suite/perfschema/t/statement_digest_long_query.test b/mysql-test/suite/perfschema/t/statement_digest_long_query.test index b7ba18ef2cb..3e967b9daf5 100644 --- a/mysql-test/suite/perfschema/t/statement_digest_long_query.test +++ b/mysql-test/suite/perfschema/t/statement_digest_long_query.test @@ -11,11 +11,12 @@ truncate table events_statements_summary_by_digest; # ----------------------------------------------------------------------- # Test to show how the digest behaves with long queries, when the token -# stream is truncated (digest text should end with "...") +# stream is truncated. digest text is calculated based on value of +# performance_schema_max_digest_length. # NOTE: For this test case to run, we need to start mysql server # with bigger stack using "--thread_stack=#" option. # ----------------------------------------------------------------------- -SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; +SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; --echo #################################### --echo # QUERYING PS STATEMENT DIGEST diff --git a/mysql-test/suite/perfschema/t/statement_program_concurrency-master.opt b/mysql-test/suite/perfschema/t/statement_program_concurrency-master.opt new file mode 100644 index 00000000000..8c0dedeeb17 --- /dev/null +++ b/mysql-test/suite/perfschema/t/statement_program_concurrency-master.opt @@ -0,0 +1 @@ +--innodb_lock_wait_timeout=1 --thread_stack=655360 diff --git a/mysql-test/suite/perfschema/t/statement_program_concurrency.test b/mysql-test/suite/perfschema/t/statement_program_concurrency.test new file mode 100644 index 00000000000..75261254c00 --- /dev/null +++ b/mysql-test/suite/perfschema/t/statement_program_concurrency.test @@ -0,0 +1,130 @@ +#---------------------------------------------------------- +# Concurrency check for instrumentation of stored programs +#---------------------------------------------------------- + + +--source include/big_test.inc +--source include/not_embedded.inc +--source include/have_perfschema.inc +--source include/no_protocol.inc + +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history; + +--echo # concurrency check through multi connections + +# Save the initial number of concurrent sessions +--source include/count_sessions.inc + +CREATE DATABASE db1; +CREATE DATABASE db2; +CREATE DATABASE db3; + +# connection 1 +connect (con1,localhost,root,,db1); + +USE db1; + +CREATE TABLE t1( + i INT NOT NULL +); + +LOAD DATA INFILE '../../std_data/wl5766_data.txt' INTO TABLE t1; + +DELIMITER |; +CREATE PROCEDURE proc() +BEGIN + INSERT INTO t1 SELECT * FROM t1; +END| +DELIMITER ;| + +--send CALL proc(); + +# connection 2 +connect (con2,localhost,root,,db2); + +USE db2; + +CREATE TABLE t2( + i INT NOT NULL +); + +LOAD DATA INFILE '../../std_data/wl5766_data.txt' INTO TABLE t2; +DELIMITER |; +CREATE FUNCTION addition(x INT, y INT) RETURNS INT +BEGIN + INSERT INTO t2 SELECT * FROM t2; + RETURN x+y; +END| +DELIMITER ;| + +--send SELECT addition(1234,9876); + +# connection 3 +connect (con3,localhost,root,,db3); + +USE db3; + +CREATE TABLE t( + i INT NOT NULL, + j INT +); + +CREATE TABLE t3( + i INT NOT NULL +); + +LOAD DATA INFILE '../../std_data/wl5766_data.txt' INTO TABLE t3; +INSERT INTO t VALUES ( 10,1000 ); +CREATE TRIGGER trg AFTER INSERT ON t FOR EACH ROW + INSERT INTO t3 SELECT * FROM t3; + +--send INSERT INTO t VALUES ( 20,2000); + +connection con1; +--reap; + +connection con2; +--reap; + +connection con3; +--reap; + +connection default; +--source include/wait_until_connected_again.inc + +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS + FROM performance_schema.events_statements_summary_by_program + WHERE OBJECT_SCHEMA='db1' OR OBJECT_SCHEMA='db2' OR OBJECT_SCHEMA='db3' + ORDER BY OBJECT_SCHEMA, OBJECT_NAME; + +SELECT EVENT_NAME, SQL_TEXT, CURRENT_SCHEMA, OBJECT_TYPE, OBJECT_SCHEMA, + OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL FROM + performance_schema.events_statements_history WHERE CURRENT_SCHEMA='db1' + OR CURRENT_SCHEMA='db2' OR CURRENT_SCHEMA='db3' + ORDER BY CURRENT_SCHEMA, OBJECT_NAME; + +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history; + +--echo # Clean-up + +DROP PROCEDURE db1.proc; +DROP FUNCTION db2.addition; +DROP TRIGGER db3.trg; + +DROP TABLE db1.t1; +DROP TABLE db2.t2; +DROP TABLE db3.t3; +DROP TABLE db3.t; + +DROP DATABASE db1; +DROP DATABASE db2; +DROP DATABASE db3; + +disconnect con1; +disconnect con2; +disconnect con3; + +# Wait till all disconnects are completed +--source include/wait_until_count_sessions.inc diff --git a/mysql-test/suite/perfschema/t/statement_program_lost_inst-master.opt b/mysql-test/suite/perfschema/t/statement_program_lost_inst-master.opt new file mode 100644 index 00000000000..699c91930ae --- /dev/null +++ b/mysql-test/suite/perfschema/t/statement_program_lost_inst-master.opt @@ -0,0 +1,3 @@ +--loose-performance_schema_max_program_instances=7 +--loose-performance_schema_max_statement_stack=2 +--thread_stack=655360 diff --git a/mysql-test/suite/perfschema/t/statement_program_lost_inst.test b/mysql-test/suite/perfschema/t/statement_program_lost_inst.test new file mode 100644 index 00000000000..023180b9d2b --- /dev/null +++ b/mysql-test/suite/perfschema/t/statement_program_lost_inst.test @@ -0,0 +1,72 @@ +#------------------------------------------------------------- +# Tests for PERFORMANCE_SCHEMA stored programs instrumentation +#------------------------------------------------------------- + +# +# Test case to show the behaviour of stored program instrumentation +# when values of the system variables performance_schema_max_program_instances & +# performance_schema_max_statement_stack are less than the statistics collected. +# The status of the lost instrumentation is shown through the status variables +# performance_schema_program_lost & performance_schema_nested_statement_lost +# + +# Restarting the server at the begining of the test. +# This is to avoid the instrumentation of extra SPs called by MTR +# These additional stored programs which will be added might cause +# result content mismatch failure. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect; +--exec echo "wait" > $restart_file +--shutdown_server +--source include/wait_until_disconnected.inc +--exec echo "restart:--performance_schema_max_program_instances=7 --performance_schema_max_statement_stack=2 --thread_stack=655360">$restart_file +--enable_reconnect +--source include/wait_until_connected_again.inc + +--source ../include/start_server_common.inc + +# Values of variables server variables +show global variables like "performance_schema_max_program_instances"; +show global variables like "performance_schema_max_statement_stack"; + +--echo ##################### +--echo # Setup +--echo ##################### +--source suite/perfschema/include/program_nested_setup.inc + +# Truncate summary table +TRUNCATE performance_schema.events_statements_summary_by_program; +SELECT OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA FROM +performance_schema.events_statements_summary_by_program +WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME; +# Flush status now +Flush status; +show global status like "%performance_schema_program_lost%"; +show global status like "%performance_schema_nested_statement_lost%"; + +--echo ##################### +--echo # Executing Queries +--echo ##################### +--source suite/perfschema/include/program_nested_execution.inc + +--echo ########################################### +--echo # Quering PS statement summary table # +--echo ########################################### + +SELECT OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA + FROM performance_schema.events_statements_summary_by_program + WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME; + +# Now check the lost status +show global status like "%performance_schema_program_lost%"; +show global status like "%performance_schema_nested_statement_lost%"; + +--echo ##################### +--echo # Cleanup +--echo ##################### +--source suite/perfschema/include/program_nested_cleanup.inc + + diff --git a/mysql-test/suite/perfschema/t/statement_program_nested-master.opt b/mysql-test/suite/perfschema/t/statement_program_nested-master.opt new file mode 100644 index 00000000000..3f9d7900961 --- /dev/null +++ b/mysql-test/suite/perfschema/t/statement_program_nested-master.opt @@ -0,0 +1 @@ +--thread_stack=655360 diff --git a/mysql-test/suite/perfschema/t/statement_program_nested.test b/mysql-test/suite/perfschema/t/statement_program_nested.test new file mode 100644 index 00000000000..e6649704bbf --- /dev/null +++ b/mysql-test/suite/perfschema/t/statement_program_nested.test @@ -0,0 +1,73 @@ +# ----------------------------------------------------------------------- +# Tests for the performance schema nested stored program instrumentation. +# ----------------------------------------------------------------------- + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; + +--echo ################################################# +--echo # Quering PS statement summary and history_long # +--echo ################################################# + +--source suite/perfschema/include/program_nested_setup.inc +--source suite/perfschema/include/program_nested_execution.inc + +SELECT EVENT_NAME, SQL_TEXT, CURRENT_SCHEMA, OBJECT_TYPE, OBJECT_SCHEMA, + OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL + FROM performance_schema.events_statements_history_long WHERE + CURRENT_SCHEMA='nested_sp' ORDER BY + OBJECT_NAME,NESTING_EVENT_LEVEL,SQL_TEXT,EVENT_NAME; + +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS + FROM performance_schema.events_statements_summary_by_program + WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME; + +--echo # clean-up +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; + +# After truncate the statictics collected will are reset +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS + FROM performance_schema.events_statements_summary_by_program + WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME; + +--source suite/perfschema/include/program_nested_cleanup.inc + +# After clean-up the stored programs are removed from PS tables +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS + FROM performance_schema.events_statements_summary_by_program + WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME; + + +# Check the intrumentation of stored programs +# when statement/sp/% instruments not timed + +--source suite/perfschema/include/program_nested_setup.inc + +update performance_schema.setup_instruments set enabled='YES', timed='NO' + where name like "statement/sp/%" order by name; + +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; + +--source suite/perfschema/include/program_nested_execution.inc + +# check instrumentation + +SELECT EVENT_NAME, TIMER_START, TIMER_END, TIMER_WAIT FROM + performance_schema.events_statements_history_long WHERE + CURRENT_SCHEMA='nested_sp' AND EVENT_NAME like "statement/sp/%"; + +# clean-up + +# Restore the setup +update performance_schema.setup_instruments set enabled='YES', timed='YES' + where name like "statement/sp/%" order by name; + +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; + +--source suite/perfschema/include/program_nested_cleanup.inc diff --git a/mysql-test/suite/perfschema/t/statement_program_nesting_event_check-master.opt b/mysql-test/suite/perfschema/t/statement_program_nesting_event_check-master.opt new file mode 100644 index 00000000000..3f9d7900961 --- /dev/null +++ b/mysql-test/suite/perfschema/t/statement_program_nesting_event_check-master.opt @@ -0,0 +1 @@ +--thread_stack=655360 diff --git a/mysql-test/suite/perfschema/t/statement_program_nesting_event_check.test b/mysql-test/suite/perfschema/t/statement_program_nesting_event_check.test new file mode 100644 index 00000000000..28ad9c76401 --- /dev/null +++ b/mysql-test/suite/perfschema/t/statement_program_nesting_event_check.test @@ -0,0 +1,44 @@ +#------------------------------------------------------------- +# Tests for PERFORMANCE_SCHEMA stored programs instrumentation +#------------------------------------------------------------- + +# Test to check the values populated in NESTING_EVENT_TYPE +# columns of events_statements_current/history/history_long PS tables. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +TRUNCATE TABLE performance_schema.events_statements_history_long; + +--echo #---------------------------- +--echo # Non-nested Stored programs. +--echo #---------------------------- +--source suite/perfschema/include/program_setup.inc +--source suite/perfschema/include/program_execution.inc + +SELECT EVENT_NAME, SQL_TEXT, OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL + FROM performance_schema.events_statements_history_long + WHERE CURRENT_SCHEMA='stored_programs' AND + (SQL_TEXT not like '%count(*) = 1%' OR SQL_TEXT IS NULL) + ORDER BY OBJECT_NAME,NESTING_EVENT_LEVEL,SQL_TEXT; + +TRUNCATE TABLE performance_schema.events_statements_history_long; + +# Clean-up +--source suite/perfschema/include/program_cleanup.inc + +--echo #------------------------ +--echo # Nested stored programs. +--echo #------------------------ +--source suite/perfschema/include/program_nested_setup.inc +--source suite/perfschema/include/program_nested_execution.inc + +SELECT EVENT_NAME, SQL_TEXT, OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL + FROM performance_schema.events_statements_history_long + WHERE CURRENT_SCHEMA='nested_sp' + ORDER BY OBJECT_NAME, NESTING_EVENT_LEVEL, SQL_TEXT, EVENT_NAME; + +TRUNCATE TABLE performance_schema.events_statements_history_long; + +# Clean-up +--source suite/perfschema/include/program_nested_cleanup.inc diff --git a/mysql-test/suite/perfschema/t/statement_program_non_nested-master.opt b/mysql-test/suite/perfschema/t/statement_program_non_nested-master.opt new file mode 100644 index 00000000000..3f9d7900961 --- /dev/null +++ b/mysql-test/suite/perfschema/t/statement_program_non_nested-master.opt @@ -0,0 +1 @@ +--thread_stack=655360 diff --git a/mysql-test/suite/perfschema/t/statement_program_non_nested.test b/mysql-test/suite/perfschema/t/statement_program_non_nested.test new file mode 100644 index 00000000000..2a6b26364ed --- /dev/null +++ b/mysql-test/suite/perfschema/t/statement_program_non_nested.test @@ -0,0 +1,144 @@ +# ----------------------------------------------------------------------- +# Tests for the performance schema stored program instrumentation. +# ----------------------------------------------------------------------- + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; + +--echo ################################################ +--echo # Quering PS statement summary and history_long# +--echo ################################################ + +--source suite/perfschema/include/program_setup.inc +--source suite/perfschema/include/program_execution.inc + +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS + FROM performance_schema.events_statements_summary_by_program + WHERE OBJECT_SCHEMA='stored_programs' ORDER BY OBJECT_NAME; + +SELECT EVENT_NAME, SQL_TEXT, CURRENT_SCHEMA, OBJECT_TYPE, OBJECT_SCHEMA, + OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL FROM + performance_schema.events_statements_history_long WHERE + CURRENT_SCHEMA='stored_programs' AND + (SQL_TEXT not like '%count(*) = 1%' OR SQL_TEXT IS NULL) + ORDER BY OBJECT_NAME, NESTING_EVENT_LEVEL, SQL_TEXT; + + +--echo # clean -up + +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; + +# After truncate the statictics collected will are reset +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS + FROM performance_schema.events_statements_summary_by_program + WHERE OBJECT_SCHEMA='stored_programs' ORDER BY OBJECT_NAME; + +--source suite/perfschema/include/program_cleanup.inc + +# After clean-up the stored programs are removed from PS tables + +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS + FROM performance_schema.events_statements_summary_by_program + WHERE OBJECT_SCHEMA='stored_programs' ORDER BY OBJECT_NAME; + +# Check the intrumentation of stored programs +# when statement/sp/% instruments not timed + +--source suite/perfschema/include/program_setup.inc + +update performance_schema.setup_instruments set enabled='YES', timed='NO' + where name like "statement/sp/%" order by name; + +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; + +--source suite/perfschema/include/program_execution.inc + +# check instrumentation + +SELECT EVENT_NAME, TIMER_START, TIMER_END, TIMER_WAIT FROM + performance_schema.events_statements_history_long WHERE + CURRENT_SCHEMA='stored_programs' AND EVENT_NAME like "statement/sp/%"; + +# clean-up + +# Restore the setup +update performance_schema.setup_instruments set enabled='YES', timed='YES' + where name like "statement/sp/%" order by name; + +TRUNCATE TABLE performance_schema.events_statements_summary_by_program; +TRUNCATE TABLE performance_schema.events_statements_history_long; + +--source suite/perfschema/include/program_cleanup.inc + +#---------------------------------------------------------------- +# The statistics of a stored program are not collected +# if its execution fails +#---------------------------------------------------------------- + +--echo # set-up +CREATE DATABASE sp; +USE sp; + +CREATE TABLE t1( + a INT, + b INT +); + +--echo # let the creation of the following stored programs fail +--error 1064 +CREATE PROCEDURE fail1(IN a INT OUT x CHAR(16)) + SET a=1; + +--error 1064 +CREATE FUNCTION fail2(a INT , b INT) RETURNS INT + x=SELECT COUNT(*) FROM t; + +--error 1064 +CREATE EVENT fail3 SCHEDULE EVERY MICROSECOND DO + DROP TABLE t; + +--echo # the below query on PS table doesn't show any rows +--echo # as the creation of stored programs failed +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS + FROM performance_schema.events_statements_summary_by_program + WHERE OBJECT_SCHEMA='sp'; + +--echo # create few stored programs +DELIMITER |; +CREATE PROCEDURE p(x1 INT, x2 INT) +BEGIN + INSERT INTO t1 VALUES (x1, x2); +END| +DELIMITER ;| + +CREATE FUNCTION f(y1 INT, y2 INT) RETURNS INT + RETURN y1+y2; + +CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW + SET @neg=-1; + +--echo # execute the created stored programs such that they fail. +--error 1318 +CALL p(7); +--error 1318 +SELECT f("add",1,3); +--error 1064 +INSERT INTO t1; + +--echo # the below query on PS table doesn't expose any statistics as +--echo # execution of the created stored porgrams failed. +SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS + FROM performance_schema.events_statements_summary_by_program + WHERE OBJECT_SCHEMA='sp'; + +--echo #clean-up +DROP PROCEDURE p; +DROP FUNCTION f; +DROP TRIGGER trg; +DROP TABLE t1; +DROP DATABASE sp; diff --git a/mysql-test/suite/perfschema/t/status_reprepare.test b/mysql-test/suite/perfschema/t/status_reprepare.test new file mode 100644 index 00000000000..9aba4799ece --- /dev/null +++ b/mysql-test/suite/perfschema/t/status_reprepare.test @@ -0,0 +1,67 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/no_protocol.inc +--source include/not_embedded.inc +--source include/have_perfschema.inc + +--echo +--echo ================================================================================ +--echo SETUP +--echo ================================================================================ +--echo # Save current SHOW_COMPATIBILITY_56 setting +SELECT @@global.show_compatibility_56 INTO @show_compatibility_56_save; +SET @@global.show_compatibility_56=OFF; + +# Create a new connection, to get clean statistics +connect(con1, localhost, root,,); + +# Create a table +CREATE TABLE test.t1 (c1 INT); + +#prepare a statement +PREPARE stmt1 FROM "SELECT c1 FROM test.t1"; + +#execute prepared statement; +EXECUTE stmt1; + +# Check status from SHOW STATUS +SHOW SESSION STATUS LIKE "%com_stmt_%prepare%"; + +#check the statistics +SELECT * FROM performance_schema.session_status WHERE VARIABLE_NAME LIKE "%com_stmt%"; + +SELECT VARIABLE_VALUE FROM performance_schema.global_status + WHERE VARIABLE_NAME LIKE "Com_stmt_reprepare" + INTO @count_global_reprepare_before; + +# Alter table to make server reprepare the statement +ALTER TABLE test.t1 ADD COLUMN c2 INTEGER; + +#execute prepared statement; +EXECUTE stmt1; + +# Check status from SHOW STATUS +SHOW SESSION STATUS LIKE "%com_stmt_%prepare%"; + +#check the statistics +SELECT * FROM performance_schema.session_status WHERE VARIABLE_NAME LIKE "%com_stmt%"; + +SELECT VARIABLE_VALUE FROM performance_schema.global_status + WHERE VARIABLE_NAME LIKE "Com_stmt_reprepare" + INTO @count_global_reprepare_after; + +# Should increment by 1 +SELECT @count_global_reprepare_after - @count_global_reprepare_before; + +--echo +--echo ================================================================================ +--echo CLEANUP +--echo ================================================================================ + +DROP TABLE test.t1; + +--disconnect con1 +--connection default + +--echo # Restore SHOW_COMPATIBILITY_56 setting +SET @@global.show_compatibility_56 = @show_compatibility_56_save; diff --git a/mysql-test/suite/perfschema/t/sxlock_func.test b/mysql-test/suite/perfschema/t/sxlock_func.test new file mode 100644 index 00000000000..6d3e6b00fa2 --- /dev/null +++ b/mysql-test/suite/perfschema/t/sxlock_func.test @@ -0,0 +1,79 @@ +# Performance schema tests, for SX-lock +# Note that only Innodb provides instrumented SX-locks, +# so this test depends largely on the innodb instrumentation. + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +UPDATE performance_schema.setup_instruments SET enabled = 'NO', timed = 'YES'; + +UPDATE performance_schema.setup_instruments SET enabled = 'YES' +WHERE name like 'wait/synch/sxlock/%'; + +TRUNCATE TABLE performance_schema.events_waits_history_long; +TRUNCATE TABLE performance_schema.events_waits_history; +TRUNCATE TABLE performance_schema.events_waits_current; + +# Check some SX-locks classes are instrumented +# (exclude instruments that depend on compiling options) +select name from performance_schema.setup_instruments + where name like "wait/synch/sxlock/%" + and name not in + ("wait/synch/sxlock/innodb/buf_block_lock", + "wait/synch/sxlock/innodb/buf_block_debug_latch") + order by name; + +# Check some SX-locks instances are instrumented +select name from performance_schema.rwlock_instances + where name in + ( + 'wait/synch/sxlock/innodb/btr_search_latch', + 'wait/synch/sxlock/innodb/checkpoint_lock', + 'wait/synch/sxlock/innodb/dict_operation_lock', + 'wait/synch/sxlock/innodb/trx_i_s_cache_lock', + 'wait/synch/sxlock/innodb/trx_purge_latch' + ) + order by name; + +# Some Innodb payload, to produce data + +--disable_warnings +drop table if exists t1; +--enable_warnings + +create table t1(a int) engine=innodb; +begin; +insert into t1 values (1), (2), (3); +insert into t1 values (1), (2), (3); +insert into t1 values (1), (2), (3); +commit; +drop table t1; + +# Make sure some shared_lock operations have been executed + +select operation from performance_schema.events_waits_history_long + where event_name like "wait/synch/sxlock/%" + and operation = "shared_lock" limit 1; + +# Make sure some exclusive_lock operations have been executed + +select operation from performance_schema.events_waits_history_long + where event_name like "wait/synch/sxlock/%" + and operation = "exclusive_lock" limit 1; + +# The following operations are not verified in this test: +# - shared_exclusive_lock +# - try_shared_lock +# - try_shared_exclusive_lock +# - try_exclusive_lock +# because to observe them: +# - there must be an actual code path using the operation +# (this affects try operations, which are not all used) +# - there must be a repeatable scenario to trigger the +# code path, to use as payload in the test script + +# Cleanup + + +UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES'; + diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_2t.test index c64838b206b..18b89f93c95 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_2t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_2t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # table lock diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_3t.test index 7a0676c6006..06424551a72 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_3t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_3t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # table lock diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_2t.test index fb9f896eeca..78cf45baf59 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_2t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_2t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # table lock diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_3t.test index eb9b7b4faa8..88660a19f12 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_3t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_3t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # table lock diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_2t.test index 5d1f36228e8..c4634cbd164 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_2t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_2t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # table lock diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_3t.test index b1e4043f12f..a39bbcd1516 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_3t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_3t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # hist by default diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_2t.test index 53992612fc2..838ae96c756 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_2t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_2t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # table lock diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_3t.test index 05306d74d8b..0d28340442b 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_3t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_3t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # table lock diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_2t.test index 4376b49eb3c..bfc628ddb2b 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_2t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_2t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # table lock diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_3t.test index d1412b148da..88939fc60ea 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_3t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_3t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # table lock diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_2t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_2t.test index 46ab5ce3b01..c77ce2e6d10 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_2t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_2t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # table lock diff --git a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_3t.test b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_3t.test index 9ee66735961..5c0a6556205 100644 --- a/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_3t.test +++ b/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_3t.test @@ -1,5 +1,8 @@ # Tests for the performance schema +# Use MyISAM as InnoDB SE no longer uses THR_LOCK locks. +--source include/force_myisam_default.inc + --source ../include/table_aggregate_setup.inc # table lock diff --git a/mysql-test/suite/perfschema/t/thread_cache.test b/mysql-test/suite/perfschema/t/thread_cache.test index 4ebadfde9fb..92309bb9ca1 100644 --- a/mysql-test/suite/perfschema/t/thread_cache.test +++ b/mysql-test/suite/perfschema/t/thread_cache.test @@ -17,7 +17,7 @@ SET @saved_thread_cache_size = @@global.thread_cache_size; set global thread_cache_size = 0; -show variables like "thread_cache_size"; +show global variables like "thread_cache_size"; connect (con1, localhost, root, , ); @@ -91,7 +91,7 @@ select @thread_id_increment; set global thread_cache_size = 100; -show variables like "thread_cache_size"; +show global variables like "thread_cache_size"; connect (con1, localhost, root, , ); @@ -169,5 +169,5 @@ select @thread_id_increment; set global thread_cache_size = @saved_thread_cache_size; -show status like "performance_schema_thread%"; +show global status like "performance_schema_thread%"; diff --git a/mysql-test/suite/perfschema/t/thread_misc-master.opt b/mysql-test/suite/perfschema/t/thread_misc-master.opt new file mode 100644 index 00000000000..34586f1fed5 --- /dev/null +++ b/mysql-test/suite/perfschema/t/thread_misc-master.opt @@ -0,0 +1 @@ +--loose-performance-schema-consumer-thread-instrumentation=0 diff --git a/mysql-test/suite/perfschema/t/thread_misc.test b/mysql-test/suite/perfschema/t/thread_misc.test new file mode 100644 index 00000000000..4f5fa4f0ac1 --- /dev/null +++ b/mysql-test/suite/perfschema/t/thread_misc.test @@ -0,0 +1,11 @@ + +# Bug#22118669 - ASSERTION `PFS_FILE != __NULL' FAILED + +# Cause a temporary file to be instrumented, +# while there are no per thread statistics collected. + +--disable_result_log +select * from information_schema.columns ORDER BY table_name; +--enable_result_log + + diff --git a/mysql-test/suite/perfschema/t/threads_history.test b/mysql-test/suite/perfschema/t/threads_history.test new file mode 100644 index 00000000000..093dd24e6ae --- /dev/null +++ b/mysql-test/suite/perfschema/t/threads_history.test @@ -0,0 +1,727 @@ +# Check the impact of changes done in HISTORY column in +# performance_schema.setup_actors. + +--source include/not_embedded.inc +--source include/have_perfschema.inc +--source include/no_protocol.inc + +# Presence of the query cache changes query stages, +# causing noise in the test output +--source include/have_query_cache_disabled.inc + +create user user1@localhost; +create user user2@localhost; +create user user3@localhost; +create user user4@localhost; + +grant ALL on *.* to user1@localhost; +grant ALL on *.* to user2@localhost; +grant ALL on *.* to user3@localhost; +grant ALL on *.* to user4@localhost; + +flush privileges; + +select * from performance_schema.setup_consumers; + +--echo # Switch to (con1, localhost, user1, , ) +connect (con1, localhost, user1, , ); + +update performance_schema.threads + set INSTRUMENTED='YES', HISTORY='YES' + where PROCESSLIST_ID = connection_id(); + +let $con1_thread_id= `select THREAD_ID from performance_schema.threads + where PROCESSLIST_ID = connection_id()`; + +--echo # Switch to (con2, localhost, user2, , ) +connect (con2, localhost, user2, , ); + +update performance_schema.threads + set INSTRUMENTED='YES', HISTORY='NO' + where PROCESSLIST_ID = connection_id(); + +let $con2_thread_id= `select THREAD_ID from performance_schema.threads + where PROCESSLIST_ID = connection_id()`; + +--echo # Switch to (con3, localhost, user3, , ) +connect (con3, localhost, user3, , ); + +update performance_schema.threads + set INSTRUMENTED='NO', HISTORY='YES' + where PROCESSLIST_ID = connection_id(); + +let $con3_thread_id= `select THREAD_ID from performance_schema.threads + where PROCESSLIST_ID = connection_id()`; + +--echo # Switch to (con4, localhost, user4, , ) +connect (con4, localhost, user4, , ); + +update performance_schema.threads + set INSTRUMENTED='NO', HISTORY='NO' + where PROCESSLIST_ID = connection_id(); + +let $con4_thread_id= `select THREAD_ID from performance_schema.threads + where PROCESSLIST_ID = connection_id()`; + +--echo # Switch to connection default +--connection default + +truncate table performance_schema.events_transactions_current; +truncate table performance_schema.events_transactions_history; +truncate table performance_schema.events_transactions_history_long; +truncate table performance_schema.events_statements_current; +truncate table performance_schema.events_statements_history; +truncate table performance_schema.events_statements_history_long; +truncate table performance_schema.events_stages_current; +truncate table performance_schema.events_stages_history; +truncate table performance_schema.events_stages_history_long; +truncate table performance_schema.events_waits_current; +truncate table performance_schema.events_waits_history; +truncate table performance_schema.events_waits_history_long; + +--echo # Switch to connection con1 +--connection con1 + +XA START 'XA_CON1', 'XA_BQUAL', 12; +select "Hi from con1"; +XA END 'XA_CON1', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON1', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON1', 'XA_BQUAL', 12; + +--echo # Switch to connection con2 +--connection con2 + +XA START 'XA_CON2', 'XA_BQUAL', 12; +select "Hi from con2"; +XA END 'XA_CON2', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON2', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON2', 'XA_BQUAL', 12; + +--echo # Switch to connection con3 +--connection con3 + +XA START 'XA_CON3', 'XA_BQUAL', 12; +select "Hi from con3"; +XA END 'XA_CON3', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON3', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON3', 'XA_BQUAL', 12; + +--echo # Switch to connection con4 +--connection con4 + +XA START 'XA_CON4', 'XA_BQUAL', 12; +select "Hi from con4"; +XA END 'XA_CON4', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON4', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON4', 'XA_BQUAL', 12; + +--connection default + +--disable_query_log + +echo "=========================== Transactions user 1"; + +eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current + where THREAD_ID = $con1_thread_id; +eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history + where THREAD_ID = $con1_thread_id; +eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history_long + where THREAD_ID = $con1_thread_id; + +echo "=========================== Transactions user 2"; + +eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_transactions_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_transactions_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Transactions user 3"; + +eval select count(*) from performance_schema.events_transactions_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_transactions_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_transactions_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Transactions user 4"; + +eval select count(*) from performance_schema.events_transactions_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_transactions_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_transactions_history_long + where THREAD_ID = $con4_thread_id; + +echo "=========================== Statements user 1"; + +eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history_long + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; + +echo "=========================== Statements user 2"; + +eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current + where THREAD_ID = $con2_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) from performance_schema.events_statements_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_statements_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Statements user 3"; + +eval select count(*) from performance_schema.events_statements_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_statements_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_statements_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Statements user 4"; + +eval select count(*) from performance_schema.events_statements_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_statements_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_statements_history_long + where THREAD_ID = $con4_thread_id; + +echo "=========================== Stages user 1"; + +eval select EVENT_NAME from performance_schema.events_stages_current + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select EVENT_NAME from performance_schema.events_stages_history + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select EVENT_NAME from performance_schema.events_stages_history_long + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; + +echo "=========================== Stages user 2"; + +eval select EVENT_NAME from performance_schema.events_stages_current + where THREAD_ID = $con2_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) from performance_schema.events_stages_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_stages_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Stages user 3"; + +eval select count(*) from performance_schema.events_stages_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_stages_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_stages_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Stages user 4"; + +eval select count(*) from performance_schema.events_stages_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_stages_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_stages_history_long + where THREAD_ID = $con4_thread_id; + +echo "=========================== Waits user 1"; + +eval select EVENT_NAME from performance_schema.events_waits_current + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select (count(*) > 5) as has_waits from performance_schema.events_waits_history + where THREAD_ID = $con1_thread_id; +eval select (count(*) > 15) as has_waits from performance_schema.events_waits_history_long + where THREAD_ID = $con1_thread_id; + +echo "=========================== Waits user 2"; + +eval select EVENT_NAME from performance_schema.events_waits_current + where THREAD_ID = $con2_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) from performance_schema.events_waits_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_waits_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Waits user 3"; + +eval select count(*) from performance_schema.events_waits_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_waits_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_waits_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Waits user 4"; + +eval select count(*) from performance_schema.events_waits_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_waits_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_waits_history_long + where THREAD_ID = $con4_thread_id; + +--enable_query_log + +--echo # Switch to connection default, disable consumers +--connection default + +update performance_schema.setup_consumers + set enabled='NO' where name like "%history%"; + +select * from performance_schema.setup_consumers; + +truncate table performance_schema.events_transactions_current; +truncate table performance_schema.events_transactions_history; +truncate table performance_schema.events_transactions_history_long; +truncate table performance_schema.events_statements_current; +truncate table performance_schema.events_statements_history; +truncate table performance_schema.events_statements_history_long; +truncate table performance_schema.events_stages_current; +truncate table performance_schema.events_stages_history; +truncate table performance_schema.events_stages_history_long; +truncate table performance_schema.events_waits_current; +truncate table performance_schema.events_waits_history; +truncate table performance_schema.events_waits_history_long; + +--echo # Switch to connection con1 +--connection con1 + +XA START 'XA_CON1', 'XA_BQUAL', 12; +select "Hi from con1"; +XA END 'XA_CON1', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON1', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON1', 'XA_BQUAL', 12; + +--echo # Switch to connection con2 +--connection con2 + +XA START 'XA_CON2', 'XA_BQUAL', 12; +select "Hi from con2"; +XA END 'XA_CON2', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON2', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON2', 'XA_BQUAL', 12; + +--echo # Switch to connection con3 +--connection con3 + +XA START 'XA_CON3', 'XA_BQUAL', 12; +select "Hi from con3"; +XA END 'XA_CON3', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON3', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON3', 'XA_BQUAL', 12; + +--echo # Switch to connection con4 +--connection con4 + +XA START 'XA_CON4', 'XA_BQUAL', 12; +select "Hi from con4"; +XA END 'XA_CON4', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON4', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON4', 'XA_BQUAL', 12; + +--connection default + +--disable_query_log + +echo "=========================== Transactions user 1"; + +eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current + where THREAD_ID = $con1_thread_id; +eval select count(*) from performance_schema.events_transactions_history + where THREAD_ID = $con1_thread_id; +eval select count(*) from performance_schema.events_transactions_history_long + where THREAD_ID = $con1_thread_id; + +echo "=========================== Transactions user 2"; + +eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_transactions_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_transactions_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Transactions user 3"; + +eval select count(*) from performance_schema.events_transactions_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_transactions_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_transactions_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Transactions user 4"; + +eval select count(*) from performance_schema.events_transactions_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_transactions_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_transactions_history_long + where THREAD_ID = $con4_thread_id; + +echo "=========================== Statements user 1"; + +eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) from performance_schema.events_statements_history + where THREAD_ID = $con1_thread_id; +eval select count(*) from performance_schema.events_statements_history_long + where THREAD_ID = $con1_thread_id; + +echo "=========================== Statements user 2"; + +eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current + where THREAD_ID = $con2_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) from performance_schema.events_statements_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_statements_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Statements user 3"; + +eval select count(*) from performance_schema.events_statements_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_statements_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_statements_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Statements user 4"; + +eval select count(*) from performance_schema.events_statements_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_statements_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_statements_history_long + where THREAD_ID = $con4_thread_id; + +echo "=========================== Stages user 1"; + +eval select EVENT_NAME from performance_schema.events_stages_current + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) from performance_schema.events_stages_history + where THREAD_ID = $con1_thread_id; +eval select count(*) from performance_schema.events_stages_history_long + where THREAD_ID = $con1_thread_id; + +echo "=========================== Stages user 2"; + +eval select EVENT_NAME from performance_schema.events_stages_current + where THREAD_ID = $con2_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) from performance_schema.events_stages_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_stages_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Stages user 3"; + +eval select count(*) from performance_schema.events_stages_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_stages_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_stages_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Stages user 4"; + +eval select count(*) from performance_schema.events_stages_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_stages_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_stages_history_long + where THREAD_ID = $con4_thread_id; + +echo "=========================== Waits user 1"; + +eval select EVENT_NAME from performance_schema.events_waits_current + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) as has_waits from performance_schema.events_waits_history + where THREAD_ID = $con1_thread_id; +eval select count(*) as has_waits from performance_schema.events_waits_history_long + where THREAD_ID = $con1_thread_id; + +echo "=========================== Waits user 2"; + +eval select EVENT_NAME from performance_schema.events_waits_current + where THREAD_ID = $con2_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) from performance_schema.events_waits_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_waits_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Waits user 3"; + +eval select count(*) from performance_schema.events_waits_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_waits_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_waits_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Waits user 4"; + +eval select count(*) from performance_schema.events_waits_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_waits_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_waits_history_long + where THREAD_ID = $con4_thread_id; + +--enable_query_log + +--echo # Switch to connection default, enable consumers +--connection default + +update performance_schema.setup_consumers + set enabled='YES' where name like "%history%"; + +select * from performance_schema.setup_consumers; + +truncate table performance_schema.events_transactions_current; +truncate table performance_schema.events_transactions_history; +truncate table performance_schema.events_transactions_history_long; +truncate table performance_schema.events_statements_current; +truncate table performance_schema.events_statements_history; +truncate table performance_schema.events_statements_history_long; +truncate table performance_schema.events_stages_current; +truncate table performance_schema.events_stages_history; +truncate table performance_schema.events_stages_history_long; +truncate table performance_schema.events_waits_current; +truncate table performance_schema.events_waits_history; +truncate table performance_schema.events_waits_history_long; + +--echo # Switch to connection con1 +--connection con1 + +XA START 'XA_CON1', 'XA_BQUAL', 12; +select "Hi from con1"; +XA END 'XA_CON1', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON1', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON1', 'XA_BQUAL', 12; + +--echo # Switch to connection con2 +--connection con2 + +XA START 'XA_CON2', 'XA_BQUAL', 12; +select "Hi from con2"; +XA END 'XA_CON2', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON2', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON2', 'XA_BQUAL', 12; + +--echo # Switch to connection con3 +--connection con3 + +XA START 'XA_CON3', 'XA_BQUAL', 12; +select "Hi from con3"; +XA END 'XA_CON3', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON3', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON3', 'XA_BQUAL', 12; + +--echo # Switch to connection con4 +--connection con4 + +XA START 'XA_CON4', 'XA_BQUAL', 12; +select "Hi from con4"; +XA END 'XA_CON4', 'XA_BQUAL', 12; +XA PREPARE 'XA_CON4', 'XA_BQUAL', 12; +XA COMMIT 'XA_CON4', 'XA_BQUAL', 12; + +--connection default + +--disable_query_log + +echo "=========================== Transactions user 1"; + +eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current + where THREAD_ID = $con1_thread_id; +eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history + where THREAD_ID = $con1_thread_id; +eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_history_long + where THREAD_ID = $con1_thread_id; + +echo "=========================== Transactions user 2"; + +eval select XID_FORMAT_ID, XID_GTRID, XID_BQUAL from performance_schema.events_transactions_current + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_transactions_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_transactions_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Transactions user 3"; + +eval select count(*) from performance_schema.events_transactions_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_transactions_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_transactions_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Transactions user 4"; + +eval select count(*) from performance_schema.events_transactions_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_transactions_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_transactions_history_long + where THREAD_ID = $con4_thread_id; + +echo "=========================== Statements user 1"; + +eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history_long + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; + +echo "=========================== Statements user 2"; + +eval select EVENT_NAME, SQL_TEXT from performance_schema.events_statements_current + where THREAD_ID = $con2_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) from performance_schema.events_statements_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_statements_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Statements user 3"; + +eval select count(*) from performance_schema.events_statements_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_statements_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_statements_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Statements user 4"; + +eval select count(*) from performance_schema.events_statements_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_statements_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_statements_history_long + where THREAD_ID = $con4_thread_id; + +echo "=========================== Stages user 1"; + +eval select EVENT_NAME from performance_schema.events_stages_current + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select EVENT_NAME from performance_schema.events_stages_history + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select EVENT_NAME from performance_schema.events_stages_history_long + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; + +echo "=========================== Stages user 2"; + +eval select EVENT_NAME from performance_schema.events_stages_current + where THREAD_ID = $con2_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) from performance_schema.events_stages_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_stages_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Stages user 3"; + +eval select count(*) from performance_schema.events_stages_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_stages_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_stages_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Stages user 4"; + +eval select count(*) from performance_schema.events_stages_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_stages_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_stages_history_long + where THREAD_ID = $con4_thread_id; + +echo "=========================== Waits user 1"; + +eval select EVENT_NAME from performance_schema.events_waits_current + where THREAD_ID = $con1_thread_id + order by THREAD_ID, EVENT_ID; +eval select (count(*) > 5) as has_waits from performance_schema.events_waits_history + where THREAD_ID = $con1_thread_id; +eval select (count(*) > 15) as has_waits from performance_schema.events_waits_history_long + where THREAD_ID = $con1_thread_id; + +echo "=========================== Waits user 2"; + +eval select EVENT_NAME from performance_schema.events_waits_current + where THREAD_ID = $con2_thread_id + order by THREAD_ID, EVENT_ID; +eval select count(*) from performance_schema.events_waits_history + where THREAD_ID = $con2_thread_id; +eval select count(*) from performance_schema.events_waits_history_long + where THREAD_ID = $con2_thread_id; + +echo "=========================== Waits user 3"; + +eval select count(*) from performance_schema.events_waits_current + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_waits_history + where THREAD_ID = $con3_thread_id; +eval select count(*) from performance_schema.events_waits_history_long + where THREAD_ID = $con3_thread_id; + +echo "=========================== Waits user 4"; + +eval select count(*) from performance_schema.events_waits_current + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_waits_history + where THREAD_ID = $con4_thread_id; +eval select count(*) from performance_schema.events_waits_history_long + where THREAD_ID = $con4_thread_id; + +--enable_query_log + +--echo # Switch to connection default +--connection default + +revoke all privileges, grant option from user1@localhost; +revoke all privileges, grant option from user2@localhost; +revoke all privileges, grant option from user3@localhost; +revoke all privileges, grant option from user4@localhost; +drop user user1@localhost; +drop user user2@localhost; +drop user user3@localhost; +drop user user4@localhost; +flush privileges; + +truncate table performance_schema.setup_actors; + +insert into performance_schema.setup_actors +values ('%', '%', '%', 'YES', 'YES'); + +select * from performance_schema.setup_actors; + diff --git a/mysql-test/suite/perfschema/t/threads_innodb.test b/mysql-test/suite/perfschema/t/threads_innodb.test index 66bceab724a..4880e808657 100644 --- a/mysql-test/suite/perfschema/t/threads_innodb.test +++ b/mysql-test/suite/perfschema/t/threads_innodb.test @@ -7,6 +7,8 @@ --source include/have_innodb.inc --source include/have_perfschema.inc +--source include/turn_off_only_full_group_by.inc + # There are several InnoDB io_handler_threads servicing for read IO, write IO etc. # The number of these threads is at least for some types configurable. # We suppress here duplicates rows with the goal to avoid that the test fails @@ -18,3 +20,4 @@ FROM performance_schema.threads WHERE name LIKE 'thread/innodb/%' GROUP BY name; +--source include/restore_sql_mode_after_turn_off_only_full_group_by.inc diff --git a/mysql-test/suite/perfschema/t/threads_insert_delayed.test b/mysql-test/suite/perfschema/t/threads_insert_delayed.test deleted file mode 100644 index a9f3edc6cfe..00000000000 --- a/mysql-test/suite/perfschema/t/threads_insert_delayed.test +++ /dev/null @@ -1,40 +0,0 @@ - -# Tests for special content of performance_schema.threads -# -# The feature INSERT DELAYED (supported by MyISAM,MEMORY,ARCHIVE,BLACKHOLE) -# causes that a "delayed_insert" thread shows up as soon as the first -# INSERT DELAYED was issued. - ---source include/not_embedded.inc ---source include/have_perfschema.inc - ---disable_warnings -DROP TABLE IF EXISTS t1; -DROP TEMPORARY TABLE IF EXISTS t2; ---enable_warnings -CREATE TABLE t1 (f1 BIGINT) ENGINE = MyISAM; -CREATE TEMPORARY TABLE t2 AS -SELECT thread_id FROM performance_schema.threads WHERE 1 = 2; - -# Reveal that the delayed_insert thread does not exist. -# Note(mleich): This expectation is probably not all time true. -SELECT COUNT(*) = 0 AS expect_1 FROM performance_schema.threads -WHERE name = 'thread/sql/delayed_insert'; - -INSERT INTO t2 SELECT thread_id -FROM performance_schema.threads; - -let $wait_condition= SELECT COUNT(*) = 1 AS expect_0 FROM performance_schema.threads -WHERE name = 'thread/sql/delayed_insert'; -INSERT DELAYED INTO t1 SET f1 = SLEEP(3); ---source include/wait_condition.inc - -# Expect to get -# thread/sql/delayed_insert FOREGROUND YES root localhost -SELECT name, type, instrumented, processlist_user, processlist_host -FROM performance_schema.threads -WHERE thread_id NOT IN (SELECT thread_id FROM t2); - -DROP TABLE t1; -DROP TEMPORARY TABLE t2; - diff --git a/mysql-test/suite/perfschema/t/threads_mysql_freebsd.test b/mysql-test/suite/perfschema/t/threads_mysql_freebsd.test new file mode 100644 index 00000000000..a075263629e --- /dev/null +++ b/mysql-test/suite/perfschema/t/threads_mysql_freebsd.test @@ -0,0 +1,22 @@ + +# Tests for special content of performance_schema.threads +# +# Show MySQL server related content in performance_schema.threads + +--source include/freebsd.inc +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# Every thread should be bound to an operating system thread +# (this test is not using the thread_pool) + +# Note that this test will fail: +# - on platforms where my_thread_os_id() is not supported, +# which is not the case on FreeBSD +# - if some code in the server does not assign a THREAD_OS_ID +# to an instrumented thread, in which case this is a bug +# in the component instrumentation. + +SELECT THREAD_ID, NAME, THREAD_OS_ID from performance_schema.threads + WHERE THREAD_OS_ID is NULL; + diff --git a/mysql-test/suite/perfschema/t/threads_mysql_linux.test b/mysql-test/suite/perfschema/t/threads_mysql_linux.test new file mode 100644 index 00000000000..d56fe73d0c9 --- /dev/null +++ b/mysql-test/suite/perfschema/t/threads_mysql_linux.test @@ -0,0 +1,22 @@ + +# Tests for special content of performance_schema.threads +# +# Show MySQL server related content in performance_schema.threads + +--source include/linux.inc +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# Every thread should be bound to an operating system thread +# (this test is not using the thread_pool) + +# Note that this test will fail: +# - on platforms where my_thread_os_id() is not supported, +# which is not the case on linux +# - if some code in the server does not assign a THREAD_OS_ID +# to an instrumented thread, in which case this is a bug +# in the component instrumentation. + +SELECT THREAD_ID, NAME, THREAD_OS_ID from performance_schema.threads + WHERE THREAD_OS_ID is NULL; + diff --git a/mysql-test/suite/perfschema/t/threads_mysql_windows.test b/mysql-test/suite/perfschema/t/threads_mysql_windows.test new file mode 100644 index 00000000000..f7c1145fa5e --- /dev/null +++ b/mysql-test/suite/perfschema/t/threads_mysql_windows.test @@ -0,0 +1,22 @@ + +# Tests for special content of performance_schema.threads +# +# Show MySQL server related content in performance_schema.threads + +--source include/windows.inc +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# Every thread should be bound to an operating system thread +# (this test is not using the thread_pool) + +# Note that this test will fail: +# - on platforms where my_thread_os_id() is not supported, +# which is not the case on windows +# - if some code in the server does not assign a THREAD_OS_ID +# to an instrumented thread, in which case this is a bug +# in the component instrumentation. + +SELECT THREAD_ID, NAME, THREAD_OS_ID from performance_schema.threads + WHERE THREAD_OS_ID is NULL; + diff --git a/mysql-test/suite/perfschema/t/transaction-master.opt b/mysql-test/suite/perfschema/t/transaction-master.opt new file mode 100644 index 00000000000..c720b9a1edb --- /dev/null +++ b/mysql-test/suite/perfschema/t/transaction-master.opt @@ -0,0 +1,4 @@ +--loose-gtid-mode=on +--loose-enforce-gtid-consistency +--log-bin +--log-slave-updates diff --git a/mysql-test/suite/perfschema/t/transaction.test b/mysql-test/suite/perfschema/t/transaction.test new file mode 100644 index 00000000000..052748f1f07 --- /dev/null +++ b/mysql-test/suite/perfschema/t/transaction.test @@ -0,0 +1,729 @@ +############# suite/perfschema/t/transaction.test #################### +# # +# Test processing of transaction events by the Performance Schema, # +# including explicit/implicit transactions, access modes, isolation # +# levels, statement counts and state transitions. # +# # +# # +###################################################################### + +--source include/have_perfschema.inc +--source include/not_embedded.inc +--source include/have_innodb.inc +--source include/no_protocol.inc +--disable_query_log +--source ../include/transaction_setup.inc +--enable_query_log + +--echo +--echo ======================================================================== +--echo STEP 1 - SETUP +--echo ======================================================================== + +--echo +--echo # Control thread +--echo +--connection default +SET SESSION AUTOCOMMIT= 1; +eval $get_thread_id; +let $default_thread_id= `SELECT @my_thread_id`; + +--echo +--echo # Connection 1 +--echo +connect(con1, localhost, root,,); +--disable_query_log +eval $get_thread_id; +let $con1_thread_id= `SELECT @my_thread_id`; +--enable_query_log +SET SESSION AUTOCOMMIT= 0; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ WRITE; + +--disable_parsing +--echo +--echo # Connection 2 +--echo +connect(con2, localhost, root,,); +--disable_query_log +eval $get_thread_id; +let $con2_thread_id= `SELECT @my_thread_id`; +--enable_query_log +SET SESSION AUTOCOMMIT= 0; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ, READ WRITE; +--enable_parsing + +--connection default +--disable_query_log +eval SET @con1_thread_id= $con1_thread_id; +#eval SET @con2_thread_id= $con2_thread_id; +--enable_query_log + +--echo +--echo # Create test tables, one transactional and one non-transactional +--echo +--connection default + +--disable_warnings +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS nt1; +--enable_warnings +CREATE TABLE t1 (s1 int, s2 varchar(64)) ENGINE=INNODB; +CREATE TABLE nt1 (s1 int, s2 varchar(64)) ENGINE=MYISAM; + +--echo +--echo # Disable all events from the control thread +--echo +--disable_query_log +UPDATE performance_schema.threads + SET instrumented='NO' WHERE processlist_id = CONNECTION_ID(); +--enable_query_log + +--echo +--echo # Clear transaction tables +--echo +CALL clear_transaction_tables(); + +--echo +--echo ======================================================================== +--echo # STEP 2 - BASIC TRANSACTION +--echo ======================================================================== +--echo +--connection con1 +SELECT @@global.tx_isolation; +SELECT @@global.autocommit; +SELECT @@global.binlog_format; +SELECT @@tx_isolation; +SELECT @@autocommit; +SELECT @@binlog_format; + +--echo +--echo # STEP 2.1 - START/COMMIT +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (101, 'COMMITTED'); +COMMIT; + +--echo +--echo # STEP 2.2 - ROLLBACK +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (102, 'ROLLED BACK'); +ROLLBACK; + +--echo +--echo ## Expect 1 committed and 1 rolled back transaction +--connection default +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'REPEATABLE READ', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'ROLLED BACK', 0, '', '', '', '', 'READ WRITE', 'REPEATABLE READ', 'NO', 0, 0, 0, 1); +CALL clear_transaction_tables(); + +--echo +--echo # STEP 2.3 - COMMIT AND CHAIN +--echo +--connection con1 +START TRANSACTION; +INSERT INTO t1 VALUES (103, 'COMMIT AND CHAIN'); +COMMIT AND CHAIN; +INSERT INTO t1 VALUES (104, 'COMMIT AND CHAIN'); +COMMIT; + +--echo +--echo ## Expect 2 committed transactions +--connection default +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'REPEATABLE READ', 'NO', 0, 0, 0, 2); +CALL clear_transaction_tables(); + +--echo +--echo ======================================================================== +--echo # STEP 3 - ISOLATION LEVEL +--echo ======================================================================== +--echo +--echo connection con1 +--connection con1 +SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; +START TRANSACTION; +INSERT INTO t1 VALUES (301, 'SERIALIZABLE'); +COMMIT; + +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +START TRANSACTION; +INSERT INTO t1 VALUES (302, 'REPEATABLE READ'); +COMMIT; + +## NOTE - InnoDB requires binlog_format = ROW for READ COMMITTED/UNCOMMITTED +SELECT @@binlog_format INTO @binlog_save; +SET SESSION BINLOG_FORMAT=ROW; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +START TRANSACTION; +INSERT INTO t1 VALUES (303, 'READ COMMITTED'); +COMMIT; + +SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +START TRANSACTION; +INSERT INTO t1 VALUES (304, 'READ UNCOMMITTED'); +COMMIT; + +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +SET binlog_format= @binlog_save; + +--echo +--connection default +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'SERIALIZABLE', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'REPEATABLE READ', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'READ COMMITTED', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', 'READ UNCOMMITTED', 'NO', 0, 0, 0, 1); +CALL clear_transaction_tables(); + +--echo +--echo ======================================================================== +--echo # STEP 4 - ACCESS MODE +--echo ======================================================================== +--echo # +--echo # STEP 4.1 - READ ONLY, TIMING ENABLED +--echo # +--echo +--echo connection con1 +--connection con1 +SET SESSION TRANSACTION READ WRITE; +START TRANSACTION; +INSERT INTO t1 VALUES (410, 'READ ONLY'); +INSERT INTO t1 VALUES (411, 'READ ONLY'); +INSERT INTO t1 VALUES (412, 'READ ONLY'); +INSERT INTO t1 VALUES (413, 'READ ONLY'); +COMMIT; + +SET SESSION TRANSACTION READ ONLY; +START TRANSACTION; +SELECT * FROM t1 ORDER BY s1; +COMMIT; + +--echo +--echo ## Expect 1 read only, committed transaction in events_transactions_history +--connection default +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ ONLY', 'REPEATABLE READ', 'NO', 0, 0, 0, 1); +CALL clear_transaction_tables(); + +--echo +--echo # +--echo # STEP 4.2 - READ ONLY, TIMING DISABLED +--echo # +--echo +--echo ## Disable timing stats for 'transaction' +UPDATE performance_schema.setup_instruments SET timed = 'NO' WHERE name = 'transaction'; +--echo +TRUNCATE performance_schema.events_transactions_summary_global_by_event_name; + +--echo connection con1 +--connection con1 +START TRANSACTION; +SELECT * FROM t1 ORDER BY s1; +COMMIT; +--echo +SET SESSION TRANSACTION READ WRITE; + +--connection default +--echo +--echo ## Expect 1 event, 0 stats +SELECT * FROM performance_schema.events_transactions_summary_global_by_event_name; +--echo +--echo ## Restore setup_instruments +UPDATE performance_schema.setup_instruments SET enabled = 'YES' WHERE name = 'transaction'; + +--echo +--echo ======================================================================== +--echo # STEP 5 - IMPLICIT START +--echo ======================================================================== +--echo # When AUTOCOMMIT is disabled, the first statement following a committed +--echo # transaction marks the start of a new transaction. Subsequent statements will +--echo # be part of the transaction until it is committed. +--echo +--connection con1 +SET SESSION AUTOCOMMIT = 0; +INSERT INTO t1 VALUES (501, 'IMPLICIT START'); + +--echo +--echo ## Expect 1 active transaction in events_transactions_current +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); + +--connection con1 +INSERT INTO t1 VALUES (502, 'IMPLICIT START'); +COMMIT; + +--echo +--echo ## Expect one committed transaction in events_transactions_current and history +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL clear_transaction_tables(); + +--echo +--echo ======================================================================== +--echo # STEP 6 - IMPLICIT COMMIT (DDL, ETC) +--echo ======================================================================== +--echo # Transactions are implicitly ended by DDL statements, locking statements +--echo # and server administration commands. +--echo +--connection con1 +SET SESSION AUTOCOMMIT = 0; +INSERT INTO t1 VALUES (601, 'IMPLICIT COMMIT'); + +--echo +--echo ## Expect one active transaction in events_transactions_current, zero events in history +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', '', 0, '', '', '', '', '', '', 'NO', 0, 0, 0, 0); + +--connection con1 +INSERT INTO t1 VALUES (602, 'IMPLICIT COMMIT'); + +--echo ## Issue a DDL statement to force a commmit +CREATE TABLE t2 (s1 INT, s2 VARCHAR(64)) ENGINE=INNODB; + +--echo +--echo ## Expect 0 active transactions, 1 committed transaction +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 0); +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL clear_transaction_tables(); +DROP TABLE test.t2; + +--echo +--echo ======================================================================== +--echo STEP 7 - XA TRANSACTIONS +--echo ======================================================================== +--echo # +--echo # STEP 7.1 - XA START +--echo # +--connection con1 +XA START 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 1234567890; + +--echo +--echo ## Expect 1 active XA transaction, state ACTIVE +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 1234567890, 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 'ACTIVE', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); + +--echo +--echo # STEP 7.2 - XA END +--echo +--connection con1 +INSERT INTO t1 VALUES (701, 'XA'); +XA END 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 1234567890; + +--echo +--echo ## Expect 1 active XA transaction, state IDLE +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 1234567890, 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 'IDLE', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); + +--echo +--echo # +--echo # STEP 7.3 - XA PREPARE +--echo # +--connection con1 +XA PREPARE 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 1234567890; + +--echo +--echo ## Expect 1 active XA transaction, state PREPARED +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 1234567890, 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 'PREPARED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); + +--echo +--echo # +--echo # STEP 7.4 - XA COMMIT +--echo # +--connection con1 +XA COMMIT 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 1234567890; + +--echo +--echo ## Expect 1 committed XA transaction, state COMMITTED in current and history +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'XA_CON1_GTRID_001', 'XA_CON1_BQUAL_001', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); + +CALL clear_transaction_tables(); + +--echo +--echo # +--echo # STEP 7.5 - XA ROLLBACK +--echo # +--connection con1 +XA START 'XA_CON1_002'; +INSERT INTO t1 VALUES (702, 'XA'); +XA END 'XA_CON1_002'; +XA PREPARE 'XA_CON1_002'; + +--echo +--echo ## Expect 1 active XA transaction, state PREPARED +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, 'XA_CON1_002', '', 'PREPARED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); + +--connection con1 +XA ROLLBACK 'XA_CON1_002'; + +--echo +--echo ## Expect 1 XA transaction, state ROLLBACK ONLY in current and history +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ROLLED BACK', 0, 'XA_CON1_002', '', 'ROLLBACK ONLY', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'ROLLED BACK', 0, 'XA_CON1_002', '', 'ROLLBACK ONLY', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL clear_transaction_tables(); +SELECT * FROM performance_schema.events_transactions_current ORDER BY event_id; + +--echo # +--echo # STEP 7.6 - XA TRANSACTION - LONG GTRID AND BQUAL +--echo # +--connection con1 +XA START 'GTRID_6789012345678901234567890123456789012345678901234567890123','BQUAL_6789012345678901234567890123456789012345678901234567890123',1234567890; +INSERT INTO t1 VALUES (703, 'XA LONG'); +XA END 'GTRID_6789012345678901234567890123456789012345678901234567890123','BQUAL_6789012345678901234567890123456789012345678901234567890123',1234567890; +XA PREPARE 'GTRID_6789012345678901234567890123456789012345678901234567890123','BQUAL_6789012345678901234567890123456789012345678901234567890123',1234567890; +XA COMMIT 'GTRID_6789012345678901234567890123456789012345678901234567890123','BQUAL_6789012345678901234567890123456789012345678901234567890123',1234567890; + +--echo +--echo ## Expect 1 committed XA transaction, state COMMITTED in current and history +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'GTRID_6789012345678901234567890123456789012345678901234567890123', 'BQUAL_6789012345678901234567890123456789012345678901234567890123', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'GTRID_6789012345678901234567890123456789012345678901234567890123', 'BQUAL_6789012345678901234567890123456789012345678901234567890123', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL clear_transaction_tables(); + +--echo # +--echo # STEP 7.7 - XA TRANSACTION - LONG GTRID AND BINARY BQUAL +--echo # +--connection con1 +XA START 'GTRID_6789012345678901234567890123456789012345678901234567890123',0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233,1234567890; +INSERT INTO t1 VALUES (704, 'XA LONG/BINARY'); +XA END 'GTRID_6789012345678901234567890123456789012345678901234567890123',0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233,1234567890; +XA PREPARE 'GTRID_6789012345678901234567890123456789012345678901234567890123',0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233,1234567890; +XA COMMIT 'GTRID_6789012345678901234567890123456789012345678901234567890123',0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233,1234567890; +--echo +--echo ## Expect 1 committed XA transaction, state COMMITTED in current and history +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'GTRID_6789012345678901234567890123456789012345678901234567890123', '0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 1234567890, 'GTRID_6789012345678901234567890123456789012345678901234567890123', '0x425155414C5FA5A53839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233', 'COMMITTED', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL clear_transaction_tables(); + +--echo +--echo ======================================================================== +--echo # STEP 8 - TRANSACTIONAL AND NON-TRANSACTIONAL TABLES +--echo ======================================================================== +--echo + +## Statements that work with non-transactional engines have no effect on the +## transaction state of the connection. For implicit transactions, +## the transaction event begins with the first statement that uses a +## transactional engine. This means that statements operating exclusively on +## non-transactional tables will be ignored, even following START TRANSACTION. + +--connection con1 +SET SESSION AUTOCOMMIT = 0; +SELECT * FROM performance_schema.events_transactions_current ORDER BY event_id; + +--echo +--echo # +--echo # STEP 8.1 - UPDATE NON-TRANSACTIONAL TABLE +--echo # +INSERT INTO nt1 VALUES (801, 'NON-TRANSACTIONAL'); + +--echo +--echo ## Expect 0 transactions in events_transactions_current +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', '', 0, '', '', '', '', '', '', '', 0, 0, 0, 0); + +--connection con1 +COMMIT; + +--echo +--echo ## Expect 0 transactions in events_transactions_history +--connection default +CALL transaction_verifier(1, @con1_thread_id, 'transaction', '', 0, '', '', '', '', '', '', '', 0, 0, 0, 0); + +--echo +--echo # +--echo # STEP 8.2 - UPDATE TRANSACTIONAL AND NON-TRANSACTIONAL TABLES +--echo # +--echo +--echo ## First non-transactional... +--echo +--connection con1 +INSERT INTO nt1 VALUES (802, 'NON-TRANSACTIONAL'); + +--echo +--echo ## Expect 0 transactions in events_transactions_current +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', '', 0, '', '', '', '', '', '', '', 0, 0, 0, 0); + +--echo +--echo ## Now transactional. Transaction should be started. +--connection con1 +INSERT INTO t1 VALUES (802, 'TRANSACTIONAL'); + +--echo +--echo ## Expect 1 transaction in events_transactions_current +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); + +## Commit +--echo +--connection con1 +COMMIT; + +--echo +--echo ## Expect 1 committed transaction in events_transactions_current and history +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); +CALL clear_transaction_tables(); + +--echo +--echo ======================================================================== +--echo # STEP 9 - SAVEPOINTS +--echo ======================================================================== +--echo # +--echo # STEP 9.1 - SAVEPOINT 1 +--echo # +--connection con1 +START TRANSACTION; +INSERT INTO t1 VALUES (901, 'SAVEPOINT'); +SAVEPOINT SVP001; + +--echo +--echo ## Expect 1 active transaction with 1 savepoint +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 1, 0, 0, 1); + +--echo +--echo # +--echo # STEP 9.2 - SAVEPOINTS 2 and 3 +--echo # +--connection con1 +INSERT INTO t1 VALUES (902, 'SAVEPOINT'); +SAVEPOINT SVP002; +INSERT INTO t1 VALUES (903, 'SAVEPOINT'); +SAVEPOINT SVP003; +INSERT INTO t1 VALUES (904, 'SAVEPOINT'); +SELECT COUNT(*) FROM t1 WHERE s1 > 900; + +--echo +--echo # +--echo # STEP 9.3 - ROLLBACK TO SAVEPOINT 2 +--echo # +--connection con1 +ROLLBACK TO SVP002; + +--echo +--echo ## Expect 1 active transaction with 3 savepoints, 1 rollback to savepoint +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 3, 1, 0, 1); + +--echo +--echo # +--echo # STEP 9.4 - RELEASE SAVEPOINT 1 +--echo # +--connection con1 +RELEASE SAVEPOINT SVP001; + +--echo +--echo ## Expect 1 active transaction with 3 savepoints, 1 rollback to savepoint, 1 release savepoint +--connection default +CALL transaction_verifier(0, @con1_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 3, 1, 1, 1); + +--echo # +--echo # STEP 9.5 - COMMIT +--echo # +--connection con1 +COMMIT; + +--echo +--echo ## Expect 1 committed transaction with 3 savepoints, 1 rollback to savepoint, 1 release savepoint +--connection default +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', 'READ WRITE', '', 'NO', 3, 1, 1, 1); +CALL clear_transaction_tables(); + +--echo +--echo ======================================================================== +--echo # STEP 10 - GTIDs +--echo ======================================================================== +--echo GTIDs are tested in transaction_gtid.test. + +--echo +--echo ======================================================================== +--echo # STEP 11 - MISCELLANY +--echo ======================================================================== +--echo # +--echo # STEP 11.1 - TRUNCATE DURING ACTIVE TRANSACTION +--echo # +--echo +--echo # Verify that truncating events_transactions_current during an active transaction +--echo # does not leave an orphaned transaction event, and that the row index to +--echo # events_transactions_history is reset to 0. +--echo +--connection con1 +START TRANSACTION; +INSERT INTO t1 VALUES (1110, 'INSERT 1110'); +--connection default +TRUNCATE performance_schema.events_transactions_current; +--connection con1 +--echo +COMMIT; +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (1111, 'INSERT 1111'); +COMMIT; + +--echo +--echo ## Expect 1 transaction for connection 1 +--connection default +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', '', '', '', 0, 0, 0, 1); +CALL clear_transaction_tables(); + +--echo +--echo # +--echo # STEP 11.2 - DISABLE THREAD INSTRUMENTATION +--echo # +--connection default +UPDATE performance_schema.setup_consumers + SET enabled = 'NO' + WHERE name = 'thread_instrumentation'; +--echo +TRUNCATE performance_schema.events_transactions_summary_global_by_event_name; + +--connection con1 +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (1120, 'INSERT 1120'); +COMMIT; + +--connection default +--echo +--echo ## Expect 1 event with non-zero summary stats +--replace_column 3 sum_timer_wait 4 min_timer_wait 5 avg_timer_wait +SELECT EVENT_NAME, COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, COUNT_READ_WRITE + FROM performance_schema.events_transactions_summary_global_by_event_name + WHERE count_star = 1 and sum_timer_wait != 0; + +--echo +--echo ## Disable timing stats for 'transaction' +UPDATE performance_schema.setup_instruments SET timed = 'NO' WHERE name = 'transaction'; +--echo +TRUNCATE performance_schema.events_transactions_summary_global_by_event_name; + +--connection default +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (1121, 'INSERT 1121'); +COMMIT; + +--connection default +--echo +--echo ## Expect 1 event, 0 stats +SELECT * FROM performance_schema.events_transactions_summary_global_by_event_name; + +--echo +--echo ## Restore setup_consumers and setup_instruments +UPDATE performance_schema.setup_consumers SET enabled = 'YES' WHERE name = 'thread_instrumentation'; +UPDATE performance_schema.setup_instruments SET enabled = 'YES' WHERE name = 'transaction'; +--echo +DELETE FROM t1; +CALL clear_history(); + +--echo +--echo # +--echo # STEP 11.3 - STATEMENT ROLLBACK - AUTOCOMMIT OFF - BINLOG FORMAT 'STATEMENT' +--echo # +--connection con1 +SET SESSION binlog_format = STATEMENT; +SET SESSION AUTOCOMMIT = 0; + +# A transaction with a rolled back statement should not show as rolled back. +# +# Force a statement rollback by attempting to update a transactional table +# and a non-replicatable table with binlog_format = STATEMENT. + +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (1130, 'INSERT 1130'); +--echo +--echo ## Expect binlog statement mode error +--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES +UPDATE t1, performance_schema.setup_instruments pfs + SET t1.s1 = 1, pfs.timed = 'NO'; +--echo +COMMIT; +--echo +SET SESSION AUTOCOMMIT = 1; + +--echo +--echo ## Expect 1 committed transaction +--connection default +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'COMMITTED', 0, '', '', '', '', '', '', 'NO', 0, 0, 0, 1); +--echo +DELETE FROM t1; +CALL clear_history(); + +--echo +--echo # +--echo # STEP 11.4 - STATEMENT ROLLBACK - AUTOCOMMIT ON - BINLOG FORMAT 'STATEMENT' +--echo # +--connection con1 +SET SESSION binlog_format = STATEMENT; +SET SESSION AUTOCOMMIT = 1; + +# A rolled back autocommit statement should be recorded as a rolled back transaction +# +# Force a statement rollback by attempting to update a transactional table +# and a non-replicatable table with binlog_format = STATEMENT. +--echo +--echo ## Expect binlog statement mode error +--error 0, ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES +UPDATE t1, performance_schema.setup_instruments pfs + SET t1.s1 = 1, pfs.timed = 'NO'; + +--echo +--echo ## Expect 1 rolled back transaction +--connection default +CALL transaction_verifier(1, @con1_thread_id, 'transaction', 'ROLLED BACK', 0, '', '', '', '', '', '', 'YES', 0, 0, 0, 1); +CALL clear_history(); + +--disable_parsing +# TODO: Add wait timer +--echo +--echo # +--echo # STEP 11.5 - DROPPED CONNECTION DURING TRANSACTION +--echo # +--connection con2 +START TRANSACTION; +INSERT INTO t1 VALUES (1150, 'DROP CONNECTION'); +--echo +--echo ## Expect 1 active transaction for connection 2 +--connection default +CALL transaction_verifier(0, @con2_thread_id, 'transaction', 'ACTIVE', 0, '', '', '', '', 'READ WRITE', '', 'NO', 0, 0, 0, 1); + +--echo +--echo ## Drop connection +--connection con2 +--disconnect con2 +--source include/wait_until_disconnected.inc +--connection default + +--echo +--echo ## Expect 0 transactions for connection 2 +CALL transaction_verifier(0, @con2_thread_id, '', '', 0, '', '', '', '', '', '', '', 0, 0, 0, 0); +CALL transaction_verifier(1, @con2_thread_id, '', '', 0, '', '', '', '', '', '', '', 0, 0, 0, 0); +CALL clear_transaction_tables(); + +--enable_parsing + +--echo +--echo ======================================================================== +--echo # CLEAN UP +--echo ======================================================================== +--echo + +--disconnect con1 +##--disconnect con2 + +--connection default +DROP TABLE t1; +DROP TABLE nt1; + +--source ../include/transaction_cleanup.inc diff --git a/mysql-test/suite/perfschema/t/transaction_gtid.test b/mysql-test/suite/perfschema/t/transaction_gtid.test new file mode 100644 index 00000000000..450d799880d --- /dev/null +++ b/mysql-test/suite/perfschema/t/transaction_gtid.test @@ -0,0 +1,194 @@ +# ==== Purpose ==== +# +# Verify that the GTID column of +# performance_schema.events_transactions_current and +# performance_schema.events_transactions_history has the correct +# value, during different parts of the transaction life cycle. +# +# There are several cases: +# +# - When GTID_MODE=ON, a GTID of the form UUID:NUMBER is generated. +# When GTID_MODE=OFF, transactions have the special GTID +# "ANONYMOUS". +# +# - On a master, the GTID is generated during the transaction commit; +# prior to that it is "AUTOMATIC". On a slave, the GTID is specified +# (using SET GTID_NEXT) prior to executing the transaction. +# +# ==== Implementation ==== +# +# Execute a transaction like: +# BEGIN; +# INSERT; +# COMMIT; +# On a different connection, check the GTID columns of the tables +# between each statement. +# +# Transactions to be checked are executed on connection +# 'default'. Auxiliary statements to read or truncate the tables are +# executed on connection 'server_1'. +# +# Also execute a ROLLBACK transaction. +# +# Execute the transaction in these two cases: +# - GTID_MODE=ON, +# - GTID_MODE=OFF. +# +# Execute the transaction in these two cases: +# - GTID_NEXT='UUID:NUMBER'/'ANONYMOUS' (when GTID_MODE=ON/OFF) +# - GTID_NEXT='AUTOMATIC'. +# +# Due to implementation details, there is a window in time at the +# beginning of the transaction when the GTID has not been copied from +# the server to the performance_schema internal structures. During +# this window, the GTID should be AUTOMATIC even if GTID_NEXT is set +# to 'UUID:NUMBER' or 'ANONYMOUS'. To verify this, we use a debug +# sync point during the execution of the BEGIN statement. +# +# ==== References ==== +# +# WL#7592: GTIDS: generate Gtid_log_event and Previous_gtids_log_event always +# - The current behavior was specified and the test was introduced in +# this worklog. + +--source include/have_debug_sync.inc +--source include/not_gtid_enabled.inc +--let $rpl_topology= none +--let $rpl_server_count= 1 +--source include/rpl_init.inc + +--echo ==== Configure ==== + +--connection default + +SET GLOBAL ENFORCE_GTID_CONSISTENCY = ON; + +--let $thread_id= `SELECT THREAD_ID FROM performance_schema.threads WHERE PROCESSLIST_ID = CONNECTION_ID()` +--let $server_uuid= `SELECT @@GLOBAL.SERVER_UUID` + +CREATE TABLE t1 (a INT); + +# These are parameters to include/execute_at_sync_point.inc, +# which will remain the same each time the script is invoked. +--let $statement_connection= default +--let $auxiliary_connection= server_1 +--let $auxiliary_file= suite/perfschema/include/show_transaction_gtid.inc +--let $quiet= 1 + +--echo ==== Test ==== + +--let $n= 1 +while ($n <= 4) { + if ($n == 1) { + --echo ---- Case 1: Specify ANONYMOUS prior to transaction ---- + --let $gtid= ANONYMOUS + } + if ($n == 2) { + --echo ---- Case 2: Generate ANONYMOUS at commit ---- + --let $gtid= AUTOMATIC + } + if ($n == 3) { + --let $rpl_gtid_mode= ON + --source include/rpl_set_gtid_mode.inc + --echo ---- Case 3: Specify GTID prior to transaction ---- + --let $gtid= aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1 + } + if ($n == 4) { + --echo ---- Case 4: Generate GTID at commit ---- + --let $gtid= AUTOMATIC + } + + # Execute a transaction, show the GTID column of the tables + # after ROLLBACK. + + --echo * BEGIN ... ROLLBACK + --source ../include/reset_transaction_gtid.inc + + --source ../include/show_transaction_gtid.inc + eval SET SESSION GTID_NEXT = '$gtid'; + BEGIN; + eval INSERT INTO t1 VALUES ($n); + ROLLBACK; + --source ../include/show_transaction_gtid.inc + + # Same transaction as above, but with a commit. Show the GTID column + # of the tables between each statement, as well as in the middle of + # the BEGIN statement. + + --echo * BEGIN ... COMMIT + --source ../include/reset_transaction_gtid.inc + + --source ../include/show_transaction_gtid.inc + eval SET SESSION GTID_NEXT = '$gtid'; + --source ../include/show_transaction_gtid.inc + --let $statement= BEGIN + --let $sync_point= after_set_transaction_psi_before_set_transaction_gtid + --source include/execute_at_sync_point.inc + --source ../include/show_transaction_gtid.inc + eval INSERT INTO t1 VALUES ($n); + --source ../include/show_transaction_gtid.inc + COMMIT; + --source ../include/show_transaction_gtid.inc + + # A transaction executed with AUTOCOMMIT=OFF and no BEGIN. Show the + # GTID column between each statement, as well as in the middle of + # the first DML statement. + + --echo * AUTOCOMMIT = OFF + SET @@SESSION.AUTOCOMMIT = 0; + --source ../include/reset_transaction_gtid.inc + + --source ../include/show_transaction_gtid.inc + eval SET SESSION GTID_NEXT = '$gtid'; + --source ../include/show_transaction_gtid.inc + --let $statement= INSERT INTO t1 VALUES ($n) + --let $sync_point= begin_decide_logging_format + --source include/execute_at_sync_point.inc + --source ../include/show_transaction_gtid.inc + COMMIT; + --source ../include/show_transaction_gtid.inc + + # A single-statement transaction executed with AUTOCOMMIT=ON and no + # BEGIN. Show the GTID column before and after, as well as in the + # middle of the statement. + + --echo * AUTOCOMMIT = ON + SET @@SESSION.AUTOCOMMIT = 1; + --source ../include/reset_transaction_gtid.inc + + --source ../include/show_transaction_gtid.inc + eval SET SESSION GTID_NEXT = '$gtid'; + --source ../include/show_transaction_gtid.inc + --let $statement= INSERT INTO t1 VALUES ($n) + --let $sync_point= begin_decide_logging_format + --source include/execute_at_sync_point.inc + --source ../include/show_transaction_gtid.inc + + # Disabled because DDL is not inserted into the tables + if (0) { + # An implicitly committing statement (DDL), no BEGIN. + --echo * implicit commit (DDL) + --source ../include/reset_transaction_gtid.inc + + --source ../include/show_transaction_gtid.inc + eval SET SESSION GTID_NEXT = '$gtid'; + --source ../include/show_transaction_gtid.inc + --let $statement= CREATE TABLE t_$n (a INT) + --let $sync_point= begin_decide_logging_format + --source include/execute_at_sync_point.inc + --source ../include/show_transaction_gtid.inc + } + + --inc $n +} + +--echo ==== Clean up ==== + +DROP TABLE t1; +# DROP TABLE t_1, t_2, t_3, t_4; + +--let $rpl_gtid_mode= OFF +--source include/rpl_set_gtid_mode.inc +SET GLOBAL ENFORCE_GTID_CONSISTENCY = OFF; + +--source include/rpl_end.inc diff --git a/mysql-test/suite/perfschema/t/transaction_nested_events-master.opt b/mysql-test/suite/perfschema/t/transaction_nested_events-master.opt new file mode 100644 index 00000000000..d68f0498edf --- /dev/null +++ b/mysql-test/suite/perfschema/t/transaction_nested_events-master.opt @@ -0,0 +1,19 @@ +--event-scheduler +--query_cache_size=0 +--loose-performance_schema_events_statements_history_size=20 +--loose-performance_schema_events_statements_history_long_size=50 +--loose-performance_schema_events_transactions_history_long_size=50 +--loose-performance_schema_max_thread_instances=30 + +--loose-performance-schema-consumer-events-stages-current=OFF +--loose-performance-schema-consumer-events-stages-history=OFF +--loose-performance-schema-consumer-events-stages-history-long=OFF +--loose-performance-schema-consumer-events-statements-current=ON +--loose-performance-schema-consumer-events-statements-history=ON +--loose-performance-schema-consumer-events-statements-history-long=ON +--loose-performance-schema-consumer-events-transactions-current=ON +--loose-performance-schema-consumer-events-transactions-history=ON +--loose-performance-schema-consumer-events-transactions-history-long=ON +--loose-performance-schema-consumer-events-waits-current=OFF +--loose-performance-schema-consumer-events-waits-history=OFF +--loose-performance-schema-consumer-events-waits-history-long=OFF diff --git a/mysql-test/suite/perfschema/t/transaction_nested_events.test b/mysql-test/suite/perfschema/t/transaction_nested_events.test new file mode 100644 index 00000000000..11ab1d946c0 --- /dev/null +++ b/mysql-test/suite/perfschema/t/transaction_nested_events.test @@ -0,0 +1,385 @@ +########## suite/perfschema/t/transaction_nested_events.test ######### +# # +# This test checks the following # +# 1) nested events # +# 2) various scenarios of stored program & transaction combinations # +# # +# # +###################################################################### + +--source include/have_perfschema.inc +--source include/not_embedded.inc +--source include/have_innodb.inc +--source include/no_protocol.inc +--disable_query_log +--source ../include/transaction_setup.inc +--enable_query_log + +--echo +--echo #======================================================================== +--echo # STEP 1 - SETUP +--echo #======================================================================== + +--echo +--echo ## Setup control thread +--echo +--connection default +SET SESSION AUTOCOMMIT= 1; +--disable_warnings +USE test; +DROP DATABASE IF EXISTS db; +--enable_warnings +--echo +--echo ## Create test database, test tables, one transactional and one non-transactional +CREATE DATABASE db; +CREATE TABLE db.t1 (s1 int, s2 varchar(64)) ENGINE=INNODB; +CREATE TABLE db.nt1 (s1 int, s2 varchar(64)) ENGINE=MYISAM; + +--echo +--echo ## Setup connection 1 +connect(con1, localhost, root,,); +USE db; +SET SESSION AUTOCOMMIT = 1; +eval $get_thread_id; +let $con1_thread_id= `SELECT @my_thread_id`; + +--connection default +--disable_query_log +eval SET @con1_thread_id= $con1_thread_id; +--enable_query_log + +--echo +--echo ## Disable events from the control (default) connection +UPDATE performance_schema.threads SET instrumented = 'NO' WHERE processlist_id = CONNECTION_ID(); + +# Use this to select events from all threads +eval SET @all_threads= 0; + +--echo +--echo ## Enable only transaction and statement instruments +UPDATE performance_schema.setup_instruments SET enabled='NO', timed='NO'; +UPDATE performance_schema.setup_instruments SET enabled='YES' + WHERE name LIKE ('statement/%') OR name = 'transaction'; + +--echo +--echo ## Clear statement and transaction history +CALL test.clear_history(); + +--echo +--echo #======================================================================== +--echo # STEP 2 - BASIC TRANSACTION +--echo #======================================================================== +--echo # +--echo # STEP 2.1 - IMPLICIT +--echo # +--connection con1 +INSERT INTO t1 VALUES (210, "INSERT 210"); +INSERT INTO t1 VALUES (211, "INSERT 211"); +INSERT INTO t1 VALUES (212, "INSERT 212"); +UPDATE t1 SET s1 = s1 + 1 WHERE s1 = 212; + +## Verify and reset +--source ../include/transaction_nested_events_verifier.inc + +--echo # +--echo # STEP 2.2 - EXPLICIT +--echo # +--connection con1 +START TRANSACTION; +INSERT INTO t1 VALUES (220, "INSERT 220"), (221, "INSERT 221"); +UPDATE t1 SET s2 = "UPDATE 221" WHERE s1 = 221; +COMMIT; + +## Verify and reset +--source ../include/transaction_nested_events_verifier.inc + +--echo #======================================================================== +--echo # STEP 3 - TRANSACTIONS AND STORED PROCEDURES +--echo #======================================================================== +--echo # +--echo # STEP 3.1 - STORED PROCEDURE STARTED WITHIN TRANSACTION +--echo # +--connection con1 +CREATE PROCEDURE tp_update() UPDATE t1 SET s1 = s1 + 1; +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (310, "INSERT 310"); +INSERT INTO t1 VALUES (311, "INSERT 311"); +INSERT INTO t1 VALUES (312, "INSERT 312"); +INSERT INTO t1 VALUES (313, "INSERT 313"); +CALL tp_update(); +COMMIT; + +## Verify and reset +--source ../include/transaction_nested_events_verifier.inc + +--echo # +--echo # STEP 3.2 - TRANSACTION STARTED WITHIN STORED PROCEDURE +--echo # +--connection con1 +CREATE PROCEDURE tp_start() START TRANSACTION; +--echo +CALL tp_start(); +INSERT INTO t1 VALUES (320, "INSERT 320"),(321, "INSERT 321"); +INSERT INTO t1 VALUES (322, "INSERT 322"),(323, "INSERT 323"); +UPDATE t1 SET s1 = s1 + 1 WHERE s1 > 320; +--echo +SELECT * FROM t1 ORDER BY s1; +COMMIT; + +## Verify and reset +--source ../include/transaction_nested_events_verifier.inc + +--echo # +--echo # STEP 3.3 - TRANSACTION ENDED WITHIN STORED PROCEDURE +--echo # +--connection con1 +CREATE PROCEDURE tp_rollback() ROLLBACK; +CREATE PROCEDURE tp_commit() COMMIT; + +--echo +--echo ## COMMIT within stored procedure +START TRANSACTION; +INSERT INTO t1 VALUES (330, "INSERT 330"),(331, "INSERT 331"); +INSERT INTO t1 VALUES (332, "INSERT 332"),(333, "INSERT 333"); +DELETE FROM t1 WHERE s1 > 331; +CALL tp_commit(); +--echo +SELECT * FROM t1 ORDER BY s1; + +--echo +--echo ## ROLLBACK within stored procedure +START TRANSACTION; +UPDATE t1 SET s1 = s1*2 WHERE s1 > 331; +CALL tp_rollback(); +--echo +SELECT * FROM t1 ORDER BY s1; + +## Verify and reset +--source ../include/transaction_nested_events_verifier.inc + +--echo #======================================================================== +--echo # STEP 4 - TRANSACTIONS AND STORED FUNCTIONS +--echo #======================================================================== +--echo +--echo # +--echo # STEP 4.1 - FUNCTION WITHIN A TRANSACTION +--echo # +--connection con1 +DELIMITER |; +CREATE FUNCTION fn_add(x INT, y INT) RETURNS INT +BEGIN + INSERT INTO t1 VALUES (x, "INSERT x"),(y, "INSERT y"); +RETURN x+y; +END | +DELIMITER ;| + +--echo +--echo ## Clear history +--connection default +CALL test.clear_history(); +--connection con1 + +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (410, "INSERT 410"); +INSERT INTO t1 VALUES (411, "INSERT 411"); +INSERT INTO t1 VALUES (412, "INSERT 412"); +DELETE FROM t1 WHERE s1 > 410; +--echo +SELECT * FROM t1 ORDER BY s1; +--echo +SELECT fn_add(413, 414); +COMMIT; +--echo +SELECT * FROM t1 ORDER BY s1; + +## Verify and reset +--source ../include/transaction_nested_events_verifier.inc + +--connection con1 +--echo +--echo ## Again, but this time with a rollback +--echo +START TRANSACTION; +SELECT fn_add(415, 416); +--echo +ROLLBACK; +--echo +SELECT * FROM t1 ORDER BY s1; + +## Verify and reset +--source ../include/transaction_nested_events_verifier.inc + +--echo # +--echo # STEP 4.2 - TRANSACTION CANNOT BE STARTED OR ENDED WITHIN FUNCTION +--echo # +--connection con1 +DELIMITER |; +--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG +CREATE FUNCTION fn_err1() RETURNS VARCHAR(10) BEGIN START TRANSACTION ; RETURN invalid ; END| +DELIMITER ;| + +--echo +--echo ## Expect 0 transactions +--connection default +SELECT COUNT(*) FROM performance_schema.events_transactions_history; +--connection con1 + +--echo +--echo ## Expect stored function does not exist +--echo +--error ER_SP_DOES_NOT_EXIST +SELECT fn_err1(); + +--echo +--echo ## Expect 0 transactions +--connection default +SELECT COUNT(*) FROM performance_schema.events_transactions_history; +--connection con1 + +--echo +DELIMITER |; +--error ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG +CREATE FUNCTION fn_err2() RETURNS VARCHAR(10) BEGIN COMMIT; RETURN invalid ; END| +DELIMITER ;| + +--echo +--echo ## Expect stored function does not exist +--echo +START TRANSACTION; +DELETE FROM t1 WHERE s1 > 320; +--error ER_SP_DOES_NOT_EXIST +SELECT fn_err2(); + +--echo +--echo ## Expect 0 transactions +--connection default +SELECT COUNT(*) FROM performance_schema.events_transactions_history; + +--echo +--echo ## Clear transaction and statement tables +CALL test.clear_history(); + +--echo #======================================================================== +--echo # STEP 5 - TRANSACTIONS AND TRIGGERS +--echo #======================================================================== +--echo +--echo # +--echo # STEP 5.1 - FORCE STATEMENT ROLLBACK FROM TRIGGER +--echo # +--connection con1 +--echo ## Create a trigger to force statement rollback +--echo +DELIMITER |; +CREATE TRIGGER trigger_before_update BEFORE UPDATE ON t1 +FOR EACH ROW +BEGIN + IF OLD.s1 >= 505 THEN + SIGNAL sqlstate '45001' SET message_text = "FORCE ERROR"; + END IF; +END;| +DELIMITER ;| + +--echo +--echo ## Clear history +--connection default +CALL test.clear_history(); +--connection con1 + +--echo +--echo ## Insert multiple rows, then update. Trigger will force rollback the +--echo ## UPDATE statement, but the transaction should not roll back. +--echo +START TRANSACTION; +INSERT INTO t1 VALUES (500, "INSERT 500"); +INSERT INTO t1 VALUES (501, "INSERT 501"); +INSERT INTO t1 VALUES (502, "INSERT 502"); +INSERT INTO t1 VALUES (503, "INSERT 503"); +INSERT INTO t1 VALUES (504, "INSERT 504"); +INSERT INTO t1 VALUES (505, "INSERT 505"); +--echo +SELECT * FROM t1 ORDER BY s1; +--echo +--echo ## Expect error when UPDATE hits record 505 +--echo +--error ER_SIGNAL_EXCEPTION +UPDATE t1 SET s1 = s1 * 2 WHERE s1 >= 500; +--echo +--echo ## Verify that INSERT succeeded, UPDATE failed and transaction did not rollback +--echo +SELECT * FROM t1 ORDER BY s1; +COMMIT; +--echo +DROP TRIGGER trigger_before_update; + +## Verify and reset +--source ../include/transaction_nested_events_verifier.inc + +--echo # TODO: Detect statement events from scheduled event +--disable_parsing +--echo #======================================================================== +--echo # STEP 6 - SCHEDULED EVENTS +--echo #======================================================================== +--connection con1 + +# Check that the event_scheduler is really running +#--source include/running_event_scheduler.inc + +--echo +--echo ## Create a one-time event that will insert, update, commit and rollback. +--echo +DELIMITER |; +CREATE EVENT trx_event ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 SECOND DO +BEGIN + START TRANSACTION; + INSERT INTO t1 VALUES (600, "INSERT 600"); + INSERT INTO t1 VALUES (601, "INSERT 601"); + INSERT INTO t1 VALUES (602, "INSERT 602"); + COMMIT; + START TRANSACTION; + UPDATE t1 SET s1 = s1 + 1, s2 = 'THIS SHOULD NOT BE HERE'; + ROLLBACK; + START TRANSACTION; + INSERT INTO t1 VALUES (699, "INSERT 699"); + COMMIT; +END;| +DELIMITER ;| + +--echo +--echo ## Clear history +--connection default +CALL test.clear_history(); +--connection con1 +--echo +--echo ## Wait a few seconds for scheduled event to execute and finish. +# Check based on the expected content in t1. +let $wait_condition= SELECT COUNT(*) = 4 FROM t1; +--source include/wait_condition.inc +--echo +--echo ## Confirm that the scheduled event completed and the content of t1 is right. +--echo +SELECT * FROM t1 ORDER BY s1; +--echo +--echo ## Verify and reset +--echo +eval SET @all_threads= 1; +--source ../include/transaction_nested_events_verifier.inc +eval SET @all_threads= 0; + +--enable_parsing + +--echo #======================================================================= +--echo # Cleanup +--echo #======================================================================= +--connection con1 +--disconnect con1 +--source include/wait_until_disconnected.inc +--connection default +DROP DATABASE db; +UPDATE performance_schema.setup_instruments SET enabled='YES', timed='YES'; + +--source ../include/transaction_cleanup.inc + + + diff --git a/mysql-test/suite/perfschema/t/user_var_func.test b/mysql-test/suite/perfschema/t/user_var_func.test new file mode 100644 index 00000000000..3c9ea4f3cf3 --- /dev/null +++ b/mysql-test/suite/perfschema/t/user_var_func.test @@ -0,0 +1,101 @@ + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +set @v1a="Hello"; +set @v2a="World"; +set @v3a=65; +set @v4a=NULL; + +select @v1a, @v2a, @v3a, @v4a, @v_unknown; + +select VARIABLE_NAME, VARIABLE_VALUE + from performance_schema.user_variables_by_thread + order by VARIABLE_NAME; + +connect(con1, localhost, root,,); + +set @v1b="Salut"; +set @v2b="La compagnie"; +set @v3b=12; +set @v4b=NULL; + +select @v1b, @v2b, @v3b, @v4b, @v_unknown; + +select VARIABLE_NAME, VARIABLE_VALUE + from performance_schema.user_variables_by_thread + order by VARIABLE_NAME; + +--connection default +--disconnect con1 + +# Wait till all disconnects are completed +let $count_sessions= 1; +--source include/wait_until_count_sessions.inc + +select VARIABLE_NAME, VARIABLE_VALUE + from performance_schema.user_variables_by_thread + order by VARIABLE_NAME; + +# Make sure large values are not truncated +set @blob_under_16_bits=repeat("a", 65000); +set @blob_under_24_bits=repeat("a", 1000000); + +# Not testable because of limitation on max_allowed_packet +# set @blob_under_32_bits=repeat("a", 20000000); + +select length(@blob_under_16_bits); +select length(@blob_under_24_bits); +# select length(@blob_under_32_bits); + +select variable_name, length(variable_value) + from performance_schema.user_variables_by_thread + where VARIABLE_NAME like "blob%" + order by VARIABLE_NAME; + + +# Check the behaviour with procedures if the values passed inside procedures gets reflected in the table performance_schema.user_variables_by_thread. + +set @a=10; + +DELIMITER |; +CREATE procedure test_user_val +(IN input INT,OUT output INT) +BEGIN + SELECT input + input + INTO output; +END| +DELIMITER ;| + +CALL test_user_val(@a , @total); +select VARIABLE_NAME,VARIABLE_VALUE from performance_schema.user_variables_by_thread +where variable_name in ('a','total') order by VARIABLE_NAME; + + +# Checking behaviour around triggers if the values in performance_schema.user_variables_by_thread are updated from within trigger + +create table t1 (c1 int); + +DELIMITER |; +CREATE TRIGGER test_uvar_trigger + AFTER INSERT ON t1 + FOR EACH ROW BEGIN + set @a=@a+@a; +END| +DELIMITER ;| + +insert into t1 values(1); +select VARIABLE_NAME,VARIABLE_VALUE from performance_schema.user_variables_by_thread +where variable_name ='a' order by VARIABLE_NAME; + +insert into t1 values(1); +select VARIABLE_NAME,VARIABLE_VALUE from performance_schema.user_variables_by_thread +where variable_name ='a' order by VARIABLE_NAME; + +drop table t1; +drop procedure test_user_val; +#drop TRIGGER test_uvar_trigger; + + + + diff --git a/mysql-test/suite/perfschema/t/view_table_io.test b/mysql-test/suite/perfschema/t/view_table_io.test index f8e545e094e..bafdfae6213 100644 --- a/mysql-test/suite/perfschema/t/view_table_io.test +++ b/mysql-test/suite/perfschema/t/view_table_io.test @@ -3,10 +3,12 @@ # base table used within the view shows up whereas # the view itself never shows up. +## To skip the test with QC enabled till BUG#14830950 is fixed. +-- source include/have_QC_Disabled.inc + --source include/not_embedded.inc --source include/have_perfschema.inc --source ../include/table_io_setup_helper.inc ---source include/have_QC_Disabled.inc let $engine_type= MyISAM; let $table_item= test.v1; diff --git a/mysql-test/suite/perfschema_stress/t/modify.test b/mysql-test/suite/perfschema_stress/t/modify.test index f89b72f49bd..ee0ce0f30ef 100644 --- a/mysql-test/suite/perfschema_stress/t/modify.test +++ b/mysql-test/suite/perfschema_stress/t/modify.test @@ -1,3 +1,8 @@ +# The include statement below is a temp one for tests that are yet to +#be ported to run with InnoDB, +#but needs to be kept for tests that would need MyISAM in future. +--source include/force_myisam_default.inc + --source include/not_embedded.inc --source suite/perfschema_stress/include/settings.inc diff --git a/mysql-test/suite/perfschema_stress/t/read.test b/mysql-test/suite/perfschema_stress/t/read.test index 0fcbeb45a5f..32626bdc3a2 100644 --- a/mysql-test/suite/perfschema_stress/t/read.test +++ b/mysql-test/suite/perfschema_stress/t/read.test @@ -1,3 +1,8 @@ +# The include statement below is a temp one for tests that are yet to +#be ported to run with InnoDB, +#but needs to be kept for tests that would need MyISAM in future. +--source include/force_myisam_default.inc + --source include/not_embedded.inc SELECT * FROM performance_schema.setup_instruments diff --git a/mysql-test/suite/perfschema_stress/t/setup.test b/mysql-test/suite/perfschema_stress/t/setup.test index 15247862e26..4e0828fafbf 100644 --- a/mysql-test/suite/perfschema_stress/t/setup.test +++ b/mysql-test/suite/perfschema_stress/t/setup.test @@ -1,3 +1,8 @@ +# The include statement below is a temp one for tests that are yet to +#be ported to run with InnoDB, +#but needs to be kept for tests that would need MyISAM in future. +--source include/force_myisam_default.inc + if (`SELECT VERSION() LIKE '%embedded%'`) { --skip This test cannot run with the embedded server. diff --git a/mysql-test/suite/perfschema_stress/t/work.test b/mysql-test/suite/perfschema_stress/t/work.test index 17ddb411c7c..d3d9593b95d 100644 --- a/mysql-test/suite/perfschema_stress/t/work.test +++ b/mysql-test/suite/perfschema_stress/t/work.test @@ -1,3 +1,8 @@ +# The include statement below is a temp one for tests that are yet to +#be ported to run with InnoDB, +#but needs to be kept for tests that would need MyISAM in future. +--source include/force_myisam_default.inc + --source include/not_embedded.inc --source suite/perfschema_stress/include/settings.inc diff --git a/storage/perfschema/CMakeLists.txt b/storage/perfschema/CMakeLists.txt index 8071476e1f6..3e4ad1414e9 100644 --- a/storage/perfschema/CMakeLists.txt +++ b/storage/perfschema/CMakeLists.txt @@ -1,5 +1,6 @@ # Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. # +# # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. @@ -16,10 +17,15 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/sql + ${CMAKE_BINARY_DIR}/sql ${CMAKE_SOURCE_DIR}/regex - ${CMAKE_SOURCE_DIR}/extra/yassl/include) + ${CMAKE_SOURCE_DIR}/extra/yassl/include + ${SSL_INCLUDE_DIRS}) ADD_DEFINITIONS(-DMYSQL_SERVER) +IF (SSL_DEFINES) + ADD_DEFINITIONS(${SSL_DEFINES}) +ENDIF() # # Maintainer: keep this list sorted, to avoid merge collisions. @@ -34,27 +40,35 @@ cursor_by_user.h pfs.h pfs_account.h pfs_atomic.h +pfs_buffer_container.h +pfs_builtin_memory.h pfs_column_types.h pfs_column_values.h pfs_con_slice.h pfs_defaults.h pfs_digest.h +pfs_program.h +pfs_prepared_stmt.h pfs_engine_table.h pfs_events.h pfs_events_stages.h pfs_events_statements.h +pfs_events_transactions.h pfs_events_waits.h pfs_global.h pfs_host.h pfs_instr.h pfs_instr_class.h pfs_lock.h +pfs_memory.h pfs_server.h pfs_setup_actor.h pfs_setup_object.h pfs_stat.h +pfs_status.h pfs_timer.h pfs_user.h +pfs_variable.h pfs_visitor.h table_accounts.h table_all_instr.h @@ -66,11 +80,19 @@ table_esgs_global_by_event_name.h table_esms_by_account_by_event_name.h table_esms_by_host_by_event_name.h table_esms_by_digest.h +table_esms_by_program.h +table_prepared_stmt_instances.h table_esms_by_thread_by_event_name.h table_esms_by_user_by_event_name.h table_esms_global_by_event_name.h +table_ets_by_account_by_event_name.h +table_ets_by_host_by_event_name.h +table_ets_by_thread_by_event_name.h +table_ets_by_user_by_event_name.h +table_ets_global_by_event_name.h table_events_stages.h table_events_statements.h +table_events_transactions.h table_events_waits.h table_events_waits_summary.h table_ews_by_account_by_event_name.h @@ -79,6 +101,12 @@ table_ews_by_thread_by_event_name.h table_ews_by_user_by_event_name.h table_ews_global_by_event_name.h table_file_instances.h +table_md_locks.h +table_mems_global_by_event_name.h +table_mems_by_account_by_event_name.h +table_mems_by_host_by_event_name.h +table_mems_by_thread_by_event_name.h +table_mems_by_user_by_event_name.h table_file_summary_by_instance.h table_file_summary_by_event_name.h table_socket_instances.h @@ -95,15 +123,34 @@ table_setup_instruments.h table_setup_objects.h table_setup_timers.h table_sync_instances.h +table_status_by_account.h +table_status_by_host.h +table_status_by_thread.h +table_status_by_user.h +table_global_status.h +table_session_status.h +table_variables_by_thread.h +table_global_variables.h +table_session_variables.h +table_table_handles.h table_threads.h table_tiws_by_index_usage.h table_tiws_by_table.h table_tlws_by_table.h table_users.h +table_uvar_by_thread.h cursor_by_thread_connect_attr.h table_session_connect.h table_session_connect_attrs.h table_session_account_connect_attrs.h +table_replication_connection_configuration.h +table_replication_group_members.h +table_replication_connection_status.h +table_replication_applier_configuration.h +table_replication_applier_status.h +table_replication_applier_status_by_coordinator.h +table_replication_applier_status_by_worker.h +table_replication_group_member_stats.h cursor_by_account.cc cursor_by_host.cc cursor_by_thread.cc @@ -111,26 +158,33 @@ cursor_by_user.cc ha_perfschema.cc pfs.cc pfs_account.cc -pfs_atomic.cc pfs_autosize.cc +pfs_buffer_container.cc +pfs_builtin_memory.cc pfs_check.cc pfs_column_values.cc pfs_con_slice.cc pfs_defaults.cc pfs_digest.cc +pfs_program.cc +pfs_prepared_stmt.cc pfs_engine_table.cc pfs_events_stages.cc pfs_events_statements.cc +pfs_events_transactions.cc pfs_events_waits.cc pfs_global.cc pfs_host.cc pfs_instr.cc pfs_instr_class.cc +pfs_memory.cc pfs_server.cc pfs_setup_actor.cc pfs_setup_object.cc +pfs_status.cc pfs_timer.cc pfs_user.cc +pfs_variable.cc pfs_visitor.cc table_accounts.cc table_all_instr.cc @@ -142,11 +196,19 @@ table_esgs_global_by_event_name.cc table_esms_by_account_by_event_name.cc table_esms_by_host_by_event_name.cc table_esms_by_digest.cc +table_esms_by_program.cc +table_prepared_stmt_instances.cc table_esms_by_thread_by_event_name.cc table_esms_by_user_by_event_name.cc table_esms_global_by_event_name.cc +table_ets_by_account_by_event_name.cc +table_ets_by_host_by_event_name.cc +table_ets_by_thread_by_event_name.cc +table_ets_by_user_by_event_name.cc +table_ets_global_by_event_name.cc table_events_stages.cc table_events_statements.cc +table_events_transactions.cc table_events_waits.cc table_events_waits_summary.cc table_ews_by_account_by_event_name.cc @@ -155,6 +217,12 @@ table_ews_by_thread_by_event_name.cc table_ews_by_user_by_event_name.cc table_ews_global_by_event_name.cc table_file_instances.cc +table_md_locks.cc +table_mems_global_by_event_name.cc +table_mems_by_account_by_event_name.cc +table_mems_by_host_by_event_name.cc +table_mems_by_thread_by_event_name.cc +table_mems_by_user_by_event_name.cc table_file_summary_by_instance.cc table_file_summary_by_event_name.cc table_socket_instances.cc @@ -171,19 +239,77 @@ table_setup_instruments.cc table_setup_objects.cc table_setup_timers.cc table_sync_instances.cc +table_status_by_account.cc +table_status_by_host.cc +table_status_by_thread.cc +table_status_by_user.cc +table_global_status.cc +table_session_status.cc +table_variables_by_thread.cc +table_global_variables.cc +table_session_variables.cc +table_table_handles.cc table_threads.cc table_tiws_by_index_usage.cc table_tiws_by_table.cc table_tlws_by_table.cc table_users.cc +table_uvar_by_thread.cc cursor_by_thread_connect_attr.cc table_session_connect.cc table_session_connect_attrs.cc table_session_account_connect_attrs.cc +table_replication_connection_configuration.cc +table_replication_group_members.cc +table_replication_connection_status.cc +table_replication_applier_configuration.cc +table_replication_applier_status.cc +table_replication_applier_status_by_coordinator.cc +table_replication_applier_status_by_worker.cc +table_replication_group_member_stats.cc ) -MYSQL_ADD_PLUGIN(perfschema ${PERFSCHEMA_SOURCES} STORAGE_ENGINE DEFAULT STATIC_ONLY) +MYSQL_ADD_PLUGIN(perfschema ${PERFSCHEMA_SOURCES} STORAGE_ENGINE MANDATORY STATIC_ONLY NOT_FOR_EMBEDDED) IF(WITH_PERFSCHEMA_STORAGE_ENGINE AND WITH_UNIT_TESTS) ENABLE_TESTING() ADD_SUBDIRECTORY(unittest) ENDIF() + +# Only disable threads when building without *any* instrumentation, +# as other instrumentations have a dependency on threads. +OPTION(DISABLE_PSI_THREAD "Exclude the performance schema thread instrumentation" OFF) + +OPTION(DISABLE_PSI_MUTEX "Exclude the performance schema mutex instrumentation" OFF) +OPTION(DISABLE_PSI_RWLOCK "Exclude the performance schema rwlock instrumentation" OFF) +OPTION(DISABLE_PSI_COND "Exclude the performance schema condition instrumentation" OFF) +OPTION(DISABLE_PSI_FILE "Exclude the performance schema file instrumentation" OFF) +OPTION(DISABLE_PSI_TABLE "Exclude the performance schema table instrumentation" OFF) +OPTION(DISABLE_PSI_SOCKET "Exclude the performance schema socket instrumentation" OFF) +OPTION(DISABLE_PSI_STAGE "Exclude the performance schema stage instrumentation" OFF) +OPTION(DISABLE_PSI_STATEMENT "Exclude the performance schema statement instrumentation" OFF) +OPTION(DISABLE_PSI_SP "Exclude the performance schema stored procedure instrumentation" OFF) +OPTION(DISABLE_PSI_PS "Exclude the performance schema prepared statements instances instrumentation" OFF) +OPTION(DISABLE_PSI_IDLE "Exclude the performance schema idle instrumentation" OFF) +OPTION(DISABLE_PSI_STATEMENT_DIGEST "Exclude the performance schema statement digest instrumentation" OFF) +OPTION(DISABLE_PSI_METADATA "Exclude the performance schema metadata instrumentation" OFF) +OPTION(DISABLE_PSI_MEMORY "Exclude the performance schema memory instrumentation" OFF) +OPTION(DISABLE_PSI_TRANSACTION "Exclude the performance schema transaction instrumentation" OFF) + +MARK_AS_ADVANCED(DISABLE_PSI_THREAD) + +MARK_AS_ADVANCED(DISABLE_PSI_MUTEX) +MARK_AS_ADVANCED(DISABLE_PSI_RWLOCK) +MARK_AS_ADVANCED(DISABLE_PSI_COND) +MARK_AS_ADVANCED(DISABLE_PSI_FILE) +MARK_AS_ADVANCED(DISABLE_PSI_TABLE) +MARK_AS_ADVANCED(DISABLE_PSI_SOCKET) +MARK_AS_ADVANCED(DISABLE_PSI_STAGE) +MARK_AS_ADVANCED(DISABLE_PSI_STATEMENT) +MARK_AS_ADVANCED(DISABLE_PSI_SP) +MARK_AS_ADVANCED(DISABLE_PSI_PS) +MARK_AS_ADVANCED(DISABLE_PSI_IDLE) +MARK_AS_ADVANCED(DISABLE_PSI_STATEMENT_DIGEST) +MARK_AS_ADVANCED(DISABLE_PSI_METADATA) +MARK_AS_ADVANCED(DISABLE_PSI_MEMORY) +MARK_AS_ADVANCED(DISABLE_PSI_TRANSACTION) + diff --git a/storage/perfschema/cursor_by_account.cc b/storage/perfschema/cursor_by_account.cc index 6be69f803b2..9bad70792cf 100644 --- a/storage/perfschema/cursor_by_account.cc +++ b/storage/perfschema/cursor_by_account.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,13 @@ #include "my_global.h" #include "cursor_by_account.h" -#include "pfs_user.h" +#include "pfs_buffer_container.h" + +ha_rows +cursor_by_account::get_row_count(void) +{ + return global_account_container.get_row_count(); +} cursor_by_account::cursor_by_account(const PFS_engine_table_share *share) : PFS_engine_table(share, &m_pos), @@ -37,17 +43,14 @@ int cursor_by_account::rnd_next(void) { PFS_account *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < account_max; - m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_account_iterator it= global_account_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &account_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -59,9 +62,9 @@ cursor_by_account::rnd_pos(const void *pos) PFS_account *pfs; set_position(pos); - DBUG_ASSERT(m_pos.m_index < account_max); - pfs= &account_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) + + pfs= global_account_container.get(m_pos.m_index); + if (pfs != NULL) { make_row(pfs); return 0; diff --git a/storage/perfschema/cursor_by_account.h b/storage/perfschema/cursor_by_account.h index ac52ada880d..5331d98c69e 100644 --- a/storage/perfschema/cursor_by_account.h +++ b/storage/perfschema/cursor_by_account.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,6 +34,8 @@ class cursor_by_account : public PFS_engine_table { public: + static ha_rows get_row_count(); + virtual int rnd_next(); virtual int rnd_pos(const void *pos); virtual void reset_position(void); diff --git a/storage/perfschema/cursor_by_host.cc b/storage/perfschema/cursor_by_host.cc index e405bcad7e6..8a26dd5c1a3 100644 --- a/storage/perfschema/cursor_by_host.cc +++ b/storage/perfschema/cursor_by_host.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,13 @@ #include "my_global.h" #include "cursor_by_host.h" -#include "pfs_host.h" +#include "pfs_buffer_container.h" + +ha_rows +cursor_by_host::get_row_count(void) +{ + return global_host_container.get_row_count(); +} cursor_by_host::cursor_by_host(const PFS_engine_table_share *share) : PFS_engine_table(share, &m_pos), @@ -35,19 +41,16 @@ void cursor_by_host::reset_position(void) int cursor_by_host::rnd_next(void) { - PFS_host *host; + PFS_host *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < host_max; - m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_host_iterator it= global_host_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - host= & host_array[m_pos.m_index]; - if (host->m_lock.is_populated()) - { - make_row(host); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -59,9 +62,9 @@ cursor_by_host::rnd_pos(const void *pos) PFS_host *pfs; set_position(pos); - DBUG_ASSERT(m_pos.m_index < host_max); - pfs= &host_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) + + pfs= global_host_container.get(m_pos.m_index); + if (pfs != NULL) { make_row(pfs); return 0; diff --git a/storage/perfschema/cursor_by_host.h b/storage/perfschema/cursor_by_host.h index c0db4c5bf0c..d48988b59e1 100644 --- a/storage/perfschema/cursor_by_host.h +++ b/storage/perfschema/cursor_by_host.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,6 +34,8 @@ class cursor_by_host : public PFS_engine_table { public: + static ha_rows get_row_count(); + virtual int rnd_next(); virtual int rnd_pos(const void *pos); virtual void reset_position(void); diff --git a/storage/perfschema/cursor_by_thread.cc b/storage/perfschema/cursor_by_thread.cc index 400e4bd238c..9eedd959fd3 100644 --- a/storage/perfschema/cursor_by_thread.cc +++ b/storage/perfschema/cursor_by_thread.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,6 +21,13 @@ #include "my_global.h" #include "cursor_by_thread.h" #include "pfs_instr.h" +#include "pfs_buffer_container.h" + +ha_rows +cursor_by_thread::get_row_count(void) +{ + return global_thread_container.get_row_count(); +} cursor_by_thread::cursor_by_thread(const PFS_engine_table_share *share) : PFS_engine_table(share, &m_pos), @@ -37,17 +44,14 @@ int cursor_by_thread::rnd_next(void) { PFS_thread *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < thread_max; - m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_thread_iterator it= global_thread_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &thread_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -59,9 +63,9 @@ cursor_by_thread::rnd_pos(const void *pos) PFS_thread *pfs; set_position(pos); - DBUG_ASSERT(m_pos.m_index < thread_max); - pfs= &thread_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) + + pfs= global_thread_container.get(m_pos.m_index); + if (pfs != NULL) { make_row(pfs); return 0; diff --git a/storage/perfschema/cursor_by_thread.h b/storage/perfschema/cursor_by_thread.h index a671e0edd42..c4d287dd8a3 100644 --- a/storage/perfschema/cursor_by_thread.h +++ b/storage/perfschema/cursor_by_thread.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,6 +34,8 @@ class cursor_by_thread : public PFS_engine_table { public: + static ha_rows get_row_count(); + virtual int rnd_next(); virtual int rnd_pos(const void *pos); virtual void reset_position(void); diff --git a/storage/perfschema/cursor_by_thread_connect_attr.cc b/storage/perfschema/cursor_by_thread_connect_attr.cc index 7a0dd04119d..37ca356b426 100644 --- a/storage/perfschema/cursor_by_thread_connect_attr.cc +++ b/storage/perfschema/cursor_by_thread_connect_attr.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,6 +15,20 @@ #include "my_global.h" #include "cursor_by_thread_connect_attr.h" +#include "pfs_buffer_container.h" + +ha_rows +cursor_by_thread_connect_attr::get_row_count(void) +{ + /* + The real number of attributes per thread does not matter, + we only need to hint the optimizer there are many per thread, + so abusing session_connect_attrs_size_per_thread + (which is a number of bytes, not attributes) + */ + return global_thread_container.get_row_count() * + session_connect_attrs_size_per_thread; +} cursor_by_thread_connect_attr::cursor_by_thread_connect_attr( const PFS_engine_table_share *share) : @@ -24,14 +38,14 @@ cursor_by_thread_connect_attr::cursor_by_thread_connect_attr( int cursor_by_thread_connect_attr::rnd_next(void) { PFS_thread *thread; + bool has_more_thread= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_thread(); + has_more_thread; m_pos.next_thread()) { - thread= &thread_array[m_pos.m_index_1]; - - if (thread->m_lock.is_populated()) + thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (thread != NULL) { make_row(thread, m_pos.m_index_2); if (m_row_exists) @@ -41,6 +55,7 @@ int cursor_by_thread_connect_attr::rnd_next(void) } } } + return HA_ERR_END_OF_FILE; } @@ -50,15 +65,14 @@ int cursor_by_thread_connect_attr::rnd_pos(const void *pos) PFS_thread *thread; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < thread_max); - - thread= &thread_array[m_pos.m_index_1]; - if (!thread->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - make_row(thread, m_pos.m_index_2); - if (m_row_exists) - return 0; + thread= global_thread_container.get(m_pos.m_index_1); + if (thread != NULL) + { + make_row(thread, m_pos.m_index_2); + if (m_row_exists) + return 0; + } return HA_ERR_RECORD_DELETED; } diff --git a/storage/perfschema/cursor_by_thread_connect_attr.h b/storage/perfschema/cursor_by_thread_connect_attr.h index fbce56f208d..ccc232aac71 100644 --- a/storage/perfschema/cursor_by_thread_connect_attr.h +++ b/storage/perfschema/cursor_by_thread_connect_attr.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,10 @@ @{ */ +/** + Position of a cursor on abstract table + PERFORMANCE_SCHEMA.SESSION_CONNECT_ATTRS. +*/ struct pos_connect_attr_by_thread_by_attr : public PFS_double_index { @@ -32,11 +36,6 @@ struct pos_connect_attr_by_thread_by_attr : PFS_double_index(0, 0) {} - inline bool has_more_thread(void) - { - return (m_index_1 < thread_max); - } - inline void next_thread(void) { m_index_1++; @@ -54,6 +53,8 @@ struct pos_connect_attr_by_thread_by_attr class cursor_by_thread_connect_attr : public PFS_engine_table { public: + static ha_rows get_row_count(); + virtual int rnd_next(); virtual int rnd_pos(const void *pos); virtual void reset_position(void); diff --git a/storage/perfschema/cursor_by_user.cc b/storage/perfschema/cursor_by_user.cc index d50a6dde1e2..61f16c82349 100644 --- a/storage/perfschema/cursor_by_user.cc +++ b/storage/perfschema/cursor_by_user.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,13 @@ #include "my_global.h" #include "cursor_by_user.h" -#include "pfs_user.h" +#include "pfs_buffer_container.h" + +ha_rows +cursor_by_user::get_row_count(void) +{ + return global_user_container.get_row_count(); +} cursor_by_user::cursor_by_user(const PFS_engine_table_share *share) : PFS_engine_table(share, &m_pos), @@ -37,17 +43,14 @@ int cursor_by_user::rnd_next(void) { PFS_user *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < user_max; - m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_user_iterator it= global_user_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &user_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -59,9 +62,9 @@ cursor_by_user::rnd_pos(const void *pos) PFS_user *pfs; set_position(pos); - DBUG_ASSERT(m_pos.m_index < user_max); - pfs= &user_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) + + pfs= global_user_container.get(m_pos.m_index); + if (pfs != NULL) { make_row(pfs); return 0; diff --git a/storage/perfschema/cursor_by_user.h b/storage/perfschema/cursor_by_user.h index c37bb8aa518..ed27205325f 100644 --- a/storage/perfschema/cursor_by_user.h +++ b/storage/perfschema/cursor_by_user.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,6 +34,8 @@ class cursor_by_user : public PFS_engine_table { public: + static ha_rows get_row_count(); + virtual int rnd_next(); virtual int rnd_pos(const void *pos); virtual void reset_position(void); diff --git a/storage/perfschema/gen_pfs_lex_token.cc b/storage/perfschema/gen_pfs_lex_token.cc deleted file mode 100644 index c67f2920b75..00000000000 --- a/storage/perfschema/gen_pfs_lex_token.cc +++ /dev/null @@ -1,351 +0,0 @@ -/* - Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ - -#include <my_global.h> -#include <stdlib.h> -#include <stdio.h> -#include <string.h> - -/* We only need the tokens here */ -#define YYSTYPE_IS_DECLARED -#include <../sql/sql_yacc.h> -#include <lex.h> - -#include <welcome_copyright_notice.h> /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ - -/* - This is a tool used during build only, - so MY_MAX_TOKEN does not need to be exact, - only big enough to hold: - - 256 character terminal tokens - - YYNTOKENS named terminal tokens - from bison. - See also YYMAXUTOK. -*/ -#define MY_MAX_TOKEN 1000 -/** Generated token. */ -struct gen_lex_token_string -{ - const char *m_token_string; - int m_token_length; - bool m_append_space; - bool m_start_expr; -}; - -gen_lex_token_string compiled_token_array[MY_MAX_TOKEN]; -int max_token_seen= 0; - -char char_tokens[256]; - -int tok_pfs_generic_value= 0; -int tok_pfs_generic_value_list= 0; -int tok_pfs_row_single_value= 0; -int tok_pfs_row_single_value_list= 0; -int tok_pfs_row_multiple_value= 0; -int tok_pfs_row_multiple_value_list= 0; -int tok_pfs_unused= 0; - -void set_token(int tok, const char *str) -{ - if (tok <= 0) - { - fprintf(stderr, "Bad token found\n"); - exit(1); - } - - if (tok > max_token_seen) - { - max_token_seen= tok; - } - - if (max_token_seen >= MY_MAX_TOKEN) - { - fprintf(stderr, "Added that many new keywords ? Increase MY_MAX_TOKEN\n"); - exit(1); - } - - compiled_token_array[tok].m_token_string= str; - compiled_token_array[tok].m_token_length= strlen(str); - compiled_token_array[tok].m_append_space= true; - compiled_token_array[tok].m_start_expr= false; -} - -void set_start_expr_token(int tok) -{ - compiled_token_array[tok].m_start_expr= true; -} - -void compute_tokens() -{ - int tok; - unsigned int i; - char *str; - - /* - Default value. - */ - for (tok= 0; tok < MY_MAX_TOKEN; tok++) - { - compiled_token_array[tok].m_token_string= "(unknown)"; - compiled_token_array[tok].m_token_length= 9; - compiled_token_array[tok].m_append_space= true; - compiled_token_array[tok].m_start_expr= false; - } - - /* - Tokens made of just one terminal character - */ - for (tok=0; tok < 256; tok++) - { - str= & char_tokens[tok]; - str[0]= (char) tok; - compiled_token_array[tok].m_token_string= str; - compiled_token_array[tok].m_token_length= 1; - compiled_token_array[tok].m_append_space= true; - } - - max_token_seen= 255; - - /* - String terminal tokens, used in sql_yacc.yy - */ - set_token(NEG, "~"); - set_token(TABLE_REF_PRIORITY, "TABLE_REF_PRIORITY"); - - /* - Tokens hard coded in sql_lex.cc - */ - - set_token(WITH_CUBE_SYM, "WITH CUBE"); - set_token(WITH_ROLLUP_SYM, "WITH ROLLUP"); - set_token(NOT2_SYM, "!"); - set_token(OR2_SYM, "|"); - set_token(PARAM_MARKER, "?"); - set_token(SET_VAR, ":="); - set_token(UNDERSCORE_CHARSET, "(_charset)"); - set_token(END_OF_INPUT, ""); - - /* - Values. - These tokens are all normalized later, - so this strings will never be displayed. - */ - set_token(BIN_NUM, "(bin)"); - set_token(DECIMAL_NUM, "(decimal)"); - set_token(FLOAT_NUM, "(float)"); - set_token(HEX_NUM, "(hex)"); - set_token(LEX_HOSTNAME, "(hostname)"); - set_token(LONG_NUM, "(long)"); - set_token(NUM, "(num)"); - set_token(TEXT_STRING, "(text)"); - set_token(NCHAR_STRING, "(nchar)"); - set_token(ULONGLONG_NUM, "(ulonglong)"); - - /* - Identifiers. - */ - set_token(IDENT, "(id)"); - set_token(IDENT_QUOTED, "(id_quoted)"); - - /* - Unused tokens - */ - set_token(LOCATOR_SYM, "LOCATOR"); - set_token(SERVER_OPTIONS, "SERVER_OPTIONS"); - set_token(UDF_RETURNS_SYM, "UDF_RETURNS"); - - /* - See symbols[] in sql/lex.h - */ - for (i= 0; i< sizeof(symbols)/sizeof(symbols[0]); i++) - { - set_token(symbols[i].tok, symbols[i].name); - } - - /* - See sql_functions[] in sql/lex.h - */ - for (i= 0; i< sizeof(sql_functions)/sizeof(sql_functions[0]); i++) - { - set_token(sql_functions[i].tok, sql_functions[i].name); - } - - /* - Additional FAKE tokens, - used internally to normalize a digest text. - */ - - max_token_seen++; - tok_pfs_generic_value= max_token_seen; - set_token(tok_pfs_generic_value, "?"); - - max_token_seen++; - tok_pfs_generic_value_list= max_token_seen; - set_token(tok_pfs_generic_value_list, "?, ..."); - - max_token_seen++; - tok_pfs_row_single_value= max_token_seen; - set_token(tok_pfs_row_single_value, "(?)"); - - max_token_seen++; - tok_pfs_row_single_value_list= max_token_seen; - set_token(tok_pfs_row_single_value_list, "(?) /* , ... */"); - - max_token_seen++; - tok_pfs_row_multiple_value= max_token_seen; - set_token(tok_pfs_row_multiple_value, "(...)"); - - max_token_seen++; - tok_pfs_row_multiple_value_list= max_token_seen; - set_token(tok_pfs_row_multiple_value_list, "(...) /* , ... */"); - - max_token_seen++; - tok_pfs_unused= max_token_seen; - set_token(tok_pfs_unused, "UNUSED"); - - /* - Fix whitespace for some special tokens. - */ - - /* - The lexer parses "@@variable" as '@', '@', 'variable', - returning a token for '@' alone. - - This is incorrect, '@' is not really a token, - because the syntax "@ @ variable" (with spaces) is not accepted: - The lexer keeps some internal state after the '@' fake token. - - To work around this, digest text are printed as "@@variable". - */ - compiled_token_array[(int) '@'].m_append_space= false; - - /* - Define additional properties for tokens. - - List all the token that are followed by an expression. - This is needed to differentiate unary from binary - '+' and '-' operators, because we want to: - - reduce <unary +> <NUM> to <?>, - - preserve <...> <binary +> <NUM> as is. - */ - set_start_expr_token('('); - set_start_expr_token(','); - set_start_expr_token(EVERY_SYM); - set_start_expr_token(AT_SYM); - set_start_expr_token(STARTS_SYM); - set_start_expr_token(ENDS_SYM); - set_start_expr_token(DEFAULT); - set_start_expr_token(RETURN_SYM); - set_start_expr_token(IF); - set_start_expr_token(ELSEIF_SYM); - set_start_expr_token(CASE_SYM); - set_start_expr_token(WHEN_SYM); - set_start_expr_token(WHILE_SYM); - set_start_expr_token(UNTIL_SYM); - set_start_expr_token(SELECT_SYM); - - set_start_expr_token(OR_SYM); - set_start_expr_token(OR2_SYM); - set_start_expr_token(XOR); - set_start_expr_token(AND_SYM); - set_start_expr_token(AND_AND_SYM); - set_start_expr_token(NOT_SYM); - set_start_expr_token(BETWEEN_SYM); - set_start_expr_token(LIKE); - set_start_expr_token(REGEXP); - - set_start_expr_token('|'); - set_start_expr_token('&'); - set_start_expr_token(SHIFT_LEFT); - set_start_expr_token(SHIFT_RIGHT); - set_start_expr_token('+'); - set_start_expr_token('-'); - set_start_expr_token(INTERVAL_SYM); - set_start_expr_token('*'); - set_start_expr_token('/'); - set_start_expr_token('%'); - set_start_expr_token(DIV_SYM); - set_start_expr_token(MOD_SYM); - set_start_expr_token('^'); -} - -void print_tokens() -{ - int tok; - - printf("lex_token_string lex_token_array[]=\n"); - printf("{\n"); - printf("/* PART 1: character tokens. */\n"); - - for (tok= 0; tok<256; tok++) - { - printf("/* %03d */ { \"\\x%02x\", 1, %s, %s},\n", - tok, - tok, - compiled_token_array[tok].m_append_space ? "true" : "false", - compiled_token_array[tok].m_start_expr ? "true" : "false"); - } - - printf("/* PART 2: named tokens. */\n"); - - for (tok= 256; tok<= max_token_seen; tok++) - { - printf("/* %03d */ { \"%s\", %d, %s, %s},\n", - tok, - compiled_token_array[tok].m_token_string, - compiled_token_array[tok].m_token_length, - compiled_token_array[tok].m_append_space ? "true" : "false", - compiled_token_array[tok].m_start_expr ? "true" : "false"); - } - - printf("/* DUMMY */ { \"\", 0, false, false}\n"); - printf("};\n"); - - printf("/* PFS specific tokens. */\n"); - printf("#define TOK_PFS_GENERIC_VALUE %d\n", tok_pfs_generic_value); - printf("#define TOK_PFS_GENERIC_VALUE_LIST %d\n", tok_pfs_generic_value_list); - printf("#define TOK_PFS_ROW_SINGLE_VALUE %d\n", tok_pfs_row_single_value); - printf("#define TOK_PFS_ROW_SINGLE_VALUE_LIST %d\n", tok_pfs_row_single_value_list); - printf("#define TOK_PFS_ROW_MULTIPLE_VALUE %d\n", tok_pfs_row_multiple_value); - printf("#define TOK_PFS_ROW_MULTIPLE_VALUE_LIST %d\n", tok_pfs_row_multiple_value_list); - printf("#define TOK_PFS_UNUSED %d\n", tok_pfs_unused); -} - -int main(int argc,char **argv) -{ - puts("/*"); - puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2011")); - puts("*/"); - - printf("/*\n"); - printf(" This file is generated, do not edit.\n"); - printf(" See file storage/perfschema/gen_pfs_lex_token.cc.\n"); - printf("*/\n"); - printf("struct lex_token_string\n"); - printf("{\n"); - printf(" const char *m_token_string;\n"); - printf(" int m_token_length;\n"); - printf(" bool m_append_space;\n"); - printf(" bool m_start_expr;\n"); - printf("};\n"); - printf("typedef struct lex_token_string lex_token_string;\n"); - - compute_tokens(); - print_tokens(); - - return 0; -} - diff --git a/storage/perfschema/ha_perfschema.cc b/storage/perfschema/ha_perfschema.cc index 285768be49d..aa4cfda2b83 100644 --- a/storage/perfschema/ha_perfschema.cc +++ b/storage/perfschema/ha_perfschema.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "my_atomic.h" #include "sql_plugin.h" #include "mysql/plugin.h" @@ -31,21 +31,14 @@ #include "pfs_account.h" #include "pfs_host.h" #include "pfs_user.h" -#include "pfs_account.h" - -#ifdef MY_ATOMIC_MODE_DUMMY -/* - The performance schema can can not function with MY_ATOMIC_MODE_DUMMY, - a fully functional implementation of MY_ATOMIC should be used instead. - If the build fails with this error message: - - either use a different ./configure --with-atomic-ops option - - or do not build with the performance schema. -*/ -#error "The performance schema needs a functional MY_ATOMIC implementation." -#endif +#include "pfs_program.h" +#include "pfs_prepared_stmt.h" +#include "pfs_buffer_container.h" handlerton *pfs_hton= NULL; +#define PFS_ENABLED() (pfs_initialized && (pfs_enabled || m_table_share->m_perpetual)) + static handler* pfs_create_handler(handlerton *hton, TABLE_SHARE *table, MEM_ROOT *mem_root) @@ -56,7 +49,7 @@ static handler* pfs_create_handler(handlerton *hton, static int compare_database_names(const char *name1, const char *name2) { if (lower_case_table_names) - return strcasecmp(name1, name2); + return native_strcasecmp(name1, name2); return strcmp(name1, name2); } @@ -118,57 +111,82 @@ static int pfs_done_func(void *p) DBUG_RETURN(0); } +static int show_func_mutex_instances_lost(THD *thd, SHOW_VAR *var, char *buff) +{ + var->type= SHOW_LONG; + var->value= buff; + long *value= reinterpret_cast<long*>(buff); + *value= global_mutex_container.get_lost_counter(); + return 0; +} + static struct st_mysql_show_var pfs_status_vars[]= { {"Performance_schema_mutex_classes_lost", - (char*) &mutex_class_lost, SHOW_LONG_NOFLUSH}, + (char*) &mutex_class_lost, SHOW_LONG_NOFLUSH, SHOW_SCOPE_GLOBAL}, {"Performance_schema_rwlock_classes_lost", - (char*) &rwlock_class_lost, SHOW_LONG_NOFLUSH}, + (char*) &rwlock_class_lost, SHOW_LONG_NOFLUSH, SHOW_SCOPE_GLOBAL}, {"Performance_schema_cond_classes_lost", - (char*) &cond_class_lost, SHOW_LONG_NOFLUSH}, + (char*) &cond_class_lost, SHOW_LONG_NOFLUSH, SHOW_SCOPE_GLOBAL}, {"Performance_schema_thread_classes_lost", - (char*) &thread_class_lost, SHOW_LONG_NOFLUSH}, + (char*) &thread_class_lost, SHOW_LONG_NOFLUSH, SHOW_SCOPE_GLOBAL}, {"Performance_schema_file_classes_lost", - (char*) &file_class_lost, SHOW_LONG_NOFLUSH}, + (char*) &file_class_lost, SHOW_LONG_NOFLUSH, SHOW_SCOPE_GLOBAL}, {"Performance_schema_socket_classes_lost", - (char*) &socket_class_lost, SHOW_LONG_NOFLUSH}, + (char*) &socket_class_lost, SHOW_LONG_NOFLUSH, SHOW_SCOPE_GLOBAL}, + {"Performance_schema_memory_classes_lost", + (char*) &memory_class_lost, SHOW_LONG_NOFLUSH, SHOW_SCOPE_GLOBAL}, {"Performance_schema_mutex_instances_lost", - (char*) &mutex_lost, SHOW_LONG}, + (char*) &show_func_mutex_instances_lost, SHOW_FUNC, SHOW_SCOPE_GLOBAL}, {"Performance_schema_rwlock_instances_lost", - (char*) &rwlock_lost, SHOW_LONG}, + (char*) &global_rwlock_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_cond_instances_lost", - (char*) &cond_lost, SHOW_LONG}, + (char*) &global_cond_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_thread_instances_lost", - (char*) &thread_lost, SHOW_LONG}, + (char*) &global_thread_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_file_instances_lost", - (char*) &file_lost, SHOW_LONG}, + (char*) &global_file_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_file_handles_lost", - (char*) &file_handle_lost, SHOW_LONG}, + (char*) &file_handle_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_socket_instances_lost", - (char*) &socket_lost, SHOW_LONG}, + (char*) &global_socket_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_locker_lost", - (char*) &locker_lost, SHOW_LONG}, + (char*) &locker_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, /* table shares, can be flushed */ {"Performance_schema_table_instances_lost", - (char*) &table_share_lost, SHOW_LONG}, + (char*) &global_table_share_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, /* table handles, can be flushed */ {"Performance_schema_table_handles_lost", - (char*) &table_lost, SHOW_LONG}, + (char*) &global_table_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, + /* table lock stats, can be flushed */ + {"Performance_schema_table_lock_stat_lost", + (char*) &global_table_share_lock_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, + /* table index stats, can be flushed */ + {"Performance_schema_index_stat_lost", + (char*) &global_table_share_index_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_hosts_lost", - (char*) &host_lost, SHOW_LONG}, + (char*) &global_host_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_users_lost", - (char*) &user_lost, SHOW_LONG}, + (char*) &global_user_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_accounts_lost", - (char*) &account_lost, SHOW_LONG}, + (char*) &global_account_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_stage_classes_lost", - (char*) &stage_class_lost, SHOW_LONG}, + (char*) &stage_class_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_statement_classes_lost", - (char*) &statement_class_lost, SHOW_LONG}, + (char*) &statement_class_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_digest_lost", - (char*) &digest_lost, SHOW_LONG}, + (char*) &digest_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, {"Performance_schema_session_connect_attrs_lost", - (char*) &session_connect_attrs_lost, SHOW_LONG}, - {NullS, NullS, SHOW_LONG} + (char*) &session_connect_attrs_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, + {"Performance_schema_program_lost", + (char*) &global_program_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, + {"Performance_schema_nested_statement_lost", + (char*) &nested_statement_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, + {"Performance_schema_prepared_statements_lost", + (char*) &global_prepared_stmt_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, + {"Performance_schema_metadata_lock_lost", + (char*) &global_mdl_container.m_lost, SHOW_LONG, SHOW_SCOPE_GLOBAL}, + {NullS, NullS, SHOW_LONG, SHOW_SCOPE_GLOBAL} }; struct st_mysql_storage_engine pfs_storage_engine= @@ -240,7 +258,7 @@ int ha_perfschema::write_row(uchar *buf) int result; DBUG_ENTER("ha_perfschema::write_row"); - if (!pfs_initialized) + if (!PFS_ENABLED()) DBUG_RETURN(HA_ERR_WRONG_COMMAND); DBUG_ASSERT(m_table_share); @@ -263,7 +281,7 @@ void ha_perfschema::use_hidden_primary_key(void) int ha_perfschema::update_row(const uchar *old_data, uchar *new_data) { DBUG_ENTER("ha_perfschema::update_row"); - if (!pfs_initialized) + if (!PFS_ENABLED()) DBUG_RETURN(HA_ERR_WRONG_COMMAND); if (is_executed_by_slave()) @@ -278,7 +296,7 @@ int ha_perfschema::update_row(const uchar *old_data, uchar *new_data) int ha_perfschema::delete_row(const uchar *buf) { DBUG_ENTER("ha_perfschema::delete_row"); - if (!pfs_initialized) + if (!PFS_ENABLED()) DBUG_RETURN(HA_ERR_WRONG_COMMAND); DBUG_ASSERT(m_table); @@ -320,7 +338,7 @@ int ha_perfschema::rnd_end(void) int ha_perfschema::rnd_next(uchar *buf) { DBUG_ENTER("ha_perfschema::rnd_next"); - if (!pfs_initialized) + if (!PFS_ENABLED()) { table->status= STATUS_NOT_FOUND; DBUG_RETURN(HA_ERR_END_OF_FILE); @@ -352,7 +370,7 @@ void ha_perfschema::position(const uchar *record) int ha_perfschema::rnd_pos(uchar *buf, uchar *pos) { DBUG_ENTER("ha_perfschema::rnd_pos"); - if (!pfs_initialized) + if (!PFS_ENABLED()) { table->status= STATUS_NOT_FOUND; DBUG_RETURN(HA_ERR_END_OF_FILE); @@ -383,7 +401,7 @@ int ha_perfschema::delete_all_rows(void) int result; DBUG_ENTER("ha_perfschema::delete_all_rows"); - if (!pfs_initialized) + if (!PFS_ENABLED()) DBUG_RETURN(0); if (is_executed_by_slave()) diff --git a/storage/perfschema/ha_perfschema.h b/storage/perfschema/ha_perfschema.h index 481d663f8e4..bbeac749e14 100644 --- a/storage/perfschema/ha_perfschema.h +++ b/storage/perfschema/ha_perfschema.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -192,7 +192,7 @@ public: { return HA_CACHE_TBL_NOCACHE; } virtual my_bool register_query_cache_table - (THD *, char *, uint , qc_engine_callback *engine_callback, ulonglong *) + (THD *, char *, size_t , qc_engine_callback *engine_callback, ulonglong *) { *engine_callback= 0; return FALSE; diff --git a/storage/perfschema/pfs.cc b/storage/perfschema/pfs.cc index cf0fa82ba3f..3d3ce83b01b 100644 --- a/storage/perfschema/pfs.cc +++ b/storage/perfschema/pfs.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,9 +19,22 @@ */ #include "my_global.h" #include "thr_lock.h" + +/* Make sure exported prototypes match the implementation. */ +#include "pfs_file_provider.h" +#include "pfs_idle_provider.h" +#include "pfs_memory_provider.h" +#include "pfs_metadata_provider.h" +#include "pfs_socket_provider.h" +#include "pfs_stage_provider.h" +#include "pfs_statement_provider.h" +#include "pfs_table_provider.h" +#include "pfs_thread_provider.h" +#include "pfs_transaction_provider.h" + #include "mysql/psi/psi.h" #include "mysql/psi/mysql_thread.h" -#include "my_pthread.h" +#include "my_thread.h" #include "sql_const.h" #include "pfs.h" #include "pfs_instr_class.h" @@ -35,11 +48,46 @@ #include "pfs_events_waits.h" #include "pfs_events_stages.h" #include "pfs_events_statements.h" +#include "pfs_events_transactions.h" #include "pfs_setup_actor.h" #include "pfs_setup_object.h" #include "sql_error.h" #include "sp_head.h" +#include "mdl.h" /* mdl_key_init */ #include "pfs_digest.h" +#include "pfs_program.h" +#include "pfs_prepared_stmt.h" + +/* + This is a development tool to investigate memory statistics, + do not use in production. +*/ +#undef PFS_PARANOID + +#ifdef PFS_PARANOID +static void report_memory_accounting_error( + const char *api_name, + PFS_thread *new_thread, + size_t size, + PFS_memory_class *klass, + PFS_thread *old_thread) +{ + pfs_print_error("%s " + "thread <%d> of class <%s> " + "not owner of <%d> bytes in class <%s> " + "allocated by thread <%d> of class <%s>\n", + api_name, + new_thread->m_thread_internal_id, + new_thread->m_class->m_name, + size, klass->m_name, + old_thread->m_thread_internal_id, + old_thread->m_class->m_name); + + DBUG_ASSERT(strcmp(new_thread->m_class->m_name, "thread/sql/event_worker") != 0); + DBUG_ASSERT(strcmp(new_thread->m_class->m_name, "thread/sql/event_scheduler") != 0); + DBUG_ASSERT(strcmp(new_thread->m_class->m_name, "thread/sql/one_connection") != 0); +} +#endif /* PFS_PARANOID */ /** @page PAGE_PERFORMANCE_SCHEMA The Performance Schema main page @@ -386,14 +434,14 @@ static inline int mysql_mutex_lock( struct PSI_mutex_locker *locker= NULL; ............... (a) - locker= PSI_server->start_mutex_wait(&state, that->p_psi, - PSI_MUTEX_LOCK, locker, src_file, src_line); + locker= PSI_MUTEX_CALL(start_mutex_wait)(&state, that->p_psi, PSI_MUTEX_LOCK, + locker, src_file, src_line); ............... (b) result= pthread_mutex_lock(&that->m_mutex); ............... (c) - PSI_server->end_mutex_wait(locker, result); + PSI_MUTEX_CALL(end_mutex_wait)(locker, result); return result; } @@ -413,6 +461,62 @@ static inline int mysql_mutex_lock(...) return result; } @endverbatim + + When the performance schema instrumentation is compiled in, + and when the code compiled is internal to the server implementation, + PSI_MUTEX_CALL expands directly to functions calls in the performance schema, + to make (a) and (c) calls as efficient as possible. + +@verbatim +static inline int mysql_mutex_lock(...) +{ + int result; + struct PSI_mutex_locker_state state; + struct PSI_mutex_locker *locker= NULL; + + ............... (a) + locker= pfs_start_mutex_wait_v1(&state, that->p_psi, PSI_MUTEX_LOCK, + locker, src_file, src_line); + + ............... (b) + result= pthread_mutex_lock(&that->m_mutex); + + ............... (c) + pfs_end_mutex_wait_v1(locker, result); + + return result; +} +@endverbatim + + When the performance schema instrumentation is compiled in, + and when the code compiled is external to the server implementation + (typically, a dynamic plugin), + PSI_MUTEX_CALL expands to dynamic calls to the underlying implementation, + using the PSI_server entry point. + This makes (a) and (c) slower, as a function pointer is used instead of a static call, + but also independent of the implementation, for binary compatibility. + +@verbatim +static inline int mysql_mutex_lock(...) +{ + int result; + struct PSI_mutex_locker_state state; + struct PSI_mutex_locker *locker= NULL; + + ............... (a) + locker= PSI_server->start_mutex_wait(&state, that->p_psi, PSI_MUTEX_LOCK, + locker, src_file, src_line); + + ............... (b) + result= pthread_mutex_lock(&that->m_mutex); + + ............... (c) + PSI_server->end_mutex_wait(locker, result); + + return result; +} +@endverbatim + */ /** @@ -1095,6 +1199,134 @@ static inline int mysql_mutex_lock(...) @c table_events_statements_common::make_row() - [I] EVENTS_STATEMENTS_SUMMARY_BY_DIGEST @c table_esms_by_digest::make_row() + +@section IMPL_TRANSACTION Implementation for transactions consumers + + For transactions, the tables that contains individual event data are: + - EVENTS_TRANSACTIONS_CURRENT + - EVENTS_TRANSACTIONS_HISTORY + - EVENTS_TRANSACTIONS_HISTORY_LONG + + For transactions, the tables that contains aggregated data are: + - EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME + - EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME + - EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME + - EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME + - EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME + +@verbatim + transaction_locker(T, TX) + | + | [1] + | +1a |-> pfs_thread(T).event_name(TX) =====>> [A], [B], [C], [D], [E] + | | + | | [2] + | | + | 2a |-> pfs_account(U, H).event_name(TX) =====>> [B], [C], [D], [E] + | . | + | . | [3-RESET] + | . | + | 2b .....+-> pfs_user(U).event_name(TX) =====>> [C] + | . | + | 2c .....+-> pfs_host(H).event_name(TX) =====>> [D], [E] + | . . | + | . . | [4-RESET] + | 2d . . | +1b |----+----+----+-> pfs_transaction_class(TX) =====>> [E] + | +1c |-> pfs_thread(T).transaction_current(TX) =====>> [F] + | +1d |-> pfs_thread(T).transaction_history(TX) =====>> [G] + | +1e |-> transaction_history_long(TX) =====>> [H] + +@endverbatim + + Implemented as: + - [1] @c start_transaction_v1(), end_transaction_v1() + (1a, 1b) is an aggregation by EVENT_NAME, + (1c, 1d, 1e) is an aggregation by TIME, + all of these are orthogonal, + and implemented in end_transaction_v1(). + - [2] @c delete_thread_v1(), @c aggregate_thread_transactions() + - [3] @c PFS_account::aggregate_transactions() + - [4] @c PFS_host::aggregate_transactions() + + - [A] EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME, + @c table_ets_by_thread_by_event_name::make_row() + - [B] EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME, + @c table_ets_by_account_by_event_name::make_row() + - [C] EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME, + @c table_ets_by_user_by_event_name::make_row() + - [D] EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME, + @c table_ets_by_host_by_event_name::make_row() + - [E] EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME, + @c table_ets_global_by_event_name::make_row() + - [F] EVENTS_TRANSACTIONS_CURRENT, + @c table_events_transactions_current::rnd_next(), + @c table_events_transactions_common::make_row() + - [G] EVENTS_TRANSACTIONS_HISTORY, + @c table_events_transactions_history::rnd_next(), + @c table_events_transactions_common::make_row() + - [H] EVENTS_TRANSACTIONS_HISTORY_LONG, + @c table_events_transactions_history_long::rnd_next(), + @c table_events_transactions_common::make_row() + +@section IMPL_MEMORY Implementation for memory instruments + + For memory, there are no tables that contains individual event data. + + For memory, the tables that contains aggregated data are: + - MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME + - MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME + - MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME + - MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME + - MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME + +@verbatim + memory_event(T, S) + | + | [1] + | +1a |-> pfs_thread(T).event_name(S) =====>> [A], [B], [C], [D], [E] + | | + | | [2] + | | +1+ | 2a |-> pfs_account(U, H).event_name(S) =====>> [B], [C], [D], [E] + | . | + | . | [3-RESET] + | . | +1+ | 2b .....+-> pfs_user(U).event_name(S) =====>> [C] + | . | +1+ | 2c .....+-> pfs_host(H).event_name(S) =====>> [D], [E] + | . . | + | . . | [4-RESET] + | 2d . . | +1b |----+----+----+-> global.event_name(S) =====>> [E] + +@endverbatim + + Implemented as: + - [1] @c pfs_memory_alloc_v1(), + @c pfs_memory_realloc_v1(), + @c pfs_memory_free_v1(). + - [1+] are overflows that can happen during [1a], + implemented with @c carry_memory_stat_delta() + - [2] @c delete_thread_v1(), @c aggregate_thread_memory() + - [3] @c PFS_account::aggregate_memory() + - [4] @c PFS_host::aggregate_memory() + - [A] EVENTS_STATEMENTS_SUMMARY_BY_THREAD_BY_EVENT_NAME, + @c table_mems_by_thread_by_event_name::make_row() + - [B] EVENTS_STATEMENTS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME, + @c table_mems_by_account_by_event_name::make_row() + - [C] EVENTS_STATEMENTS_SUMMARY_BY_USER_BY_EVENT_NAME, + @c table_mems_by_user_by_event_name::make_row() + - [D] EVENTS_STATEMENTS_SUMMARY_BY_HOST_BY_EVENT_NAME, + @c table_mems_by_host_by_event_name::make_row() + - [E] EVENTS_STATEMENTS_SUMMARY_GLOBAL_BY_EVENT_NAME, + @c table_mems_global_by_event_name::make_row() + */ /** @@ -1110,9 +1342,35 @@ static inline int mysql_mutex_lock(...) @ingroup Performance_schema_implementation */ -pthread_key(PFS_thread*, THR_PFS); +thread_local_key_t THR_PFS; +thread_local_key_t THR_PFS_VG; // global_variables +thread_local_key_t THR_PFS_SV; // session_variables +thread_local_key_t THR_PFS_VBT; // variables_by_thread +thread_local_key_t THR_PFS_SG; // global_status +thread_local_key_t THR_PFS_SS; // session_status +thread_local_key_t THR_PFS_SBT; // status_by_thread +thread_local_key_t THR_PFS_SBU; // status_by_user +thread_local_key_t THR_PFS_SBH; // status_by_host +thread_local_key_t THR_PFS_SBA; // status_by_account + bool THR_PFS_initialized= false; +static inline PFS_thread* +my_thread_get_THR_PFS() +{ + DBUG_ASSERT(THR_PFS_initialized); + PFS_thread *thread= static_cast<PFS_thread*>(my_get_thread_local(THR_PFS)); + DBUG_ASSERT(thread == NULL || sanitize_thread(thread) != NULL); + return thread; +} + +static inline void +my_thread_set_THR_PFS(PFS_thread *pfs) +{ + DBUG_ASSERT(THR_PFS_initialized); + my_set_thread_local(THR_PFS, pfs); +} + /** Conversion map from PSI_mutex_operation to enum_operation_type. Indexed by enum PSI_mutex_operation. @@ -1132,7 +1390,14 @@ static enum_operation_type rwlock_operation_map[]= OPERATION_TYPE_READLOCK, OPERATION_TYPE_WRITELOCK, OPERATION_TYPE_TRYREADLOCK, - OPERATION_TYPE_TRYWRITELOCK + OPERATION_TYPE_TRYWRITELOCK, + + OPERATION_TYPE_SHAREDLOCK, + OPERATION_TYPE_SHAREDEXCLUSIVELOCK, + OPERATION_TYPE_EXCLUSIVELOCK, + OPERATION_TYPE_TRYSHAREDLOCK, + OPERATION_TYPE_TRYSHAREDEXCLUSIVELOCK, + OPERATION_TYPE_TRYEXCLUSIVELOCK, }; /** @@ -1194,7 +1459,6 @@ static enum_operation_type table_lock_operation_map[]= OPERATION_TYPE_TL_READ_NO_INSERTS, /* PFS_TL_READ_NO_INSERT */ OPERATION_TYPE_TL_WRITE_ALLOW_WRITE, /* PFS_TL_WRITE_ALLOW_WRITE */ OPERATION_TYPE_TL_WRITE_CONCURRENT_INSERT, /* PFS_TL_WRITE_CONCURRENT_INSERT */ - OPERATION_TYPE_TL_WRITE_DELAYED, /* PFS_TL_WRITE_DELAYED */ OPERATION_TYPE_TL_WRITE_LOW_PRIORITY, /* PFS_TL_WRITE_LOW_PRIORITY */ OPERATION_TYPE_TL_WRITE_NORMAL, /* PFS_TL_WRITE */ OPERATION_TYPE_TL_READ_EXTERNAL, /* PFS_TL_READ_EXTERNAL */ @@ -1237,11 +1501,11 @@ static enum_operation_type socket_operation_map[]= @return 0 for success, non zero for errors */ static int build_prefix(const LEX_STRING *prefix, const char *category, - char *output, int *output_length) + char *output, size_t *output_length) { - int len= strlen(category); + size_t len= strlen(category); char *out_ptr= output; - int prefix_length= prefix->length; + size_t prefix_length= prefix->length; if (unlikely((prefix_length + len + 1) >= PFS_MAX_FULL_PREFIX_NAME_LENGTH)) @@ -1261,52 +1525,56 @@ static int build_prefix(const LEX_STRING *prefix, const char *category, /* output = prefix + category + '/' */ memcpy(out_ptr, prefix->str, prefix_length); out_ptr+= prefix_length; - memcpy(out_ptr, category, len); - out_ptr+= len; - *out_ptr= '/'; - out_ptr++; - *output_length= out_ptr - output; + if (len > 0) + { + memcpy(out_ptr, category, len); + out_ptr+= len; + *out_ptr= '/'; + out_ptr++; + } + *output_length= int(out_ptr - output); return 0; } -#define REGISTER_BODY_V1(KEY_T, PREFIX, REGISTER_FUNC) \ - KEY_T key; \ - char formatted_name[PFS_MAX_INFO_NAME_LENGTH]; \ - int prefix_length; \ - int len; \ - int full_length; \ - \ - DBUG_ASSERT(category != NULL); \ - DBUG_ASSERT(info != NULL); \ - if (unlikely(build_prefix(&PREFIX, category, \ - formatted_name, &prefix_length))) \ - { \ - for (; count>0; count--, info++) \ - *(info->m_key)= 0; \ - return ; \ - } \ - \ - for (; count>0; count--, info++) \ - { \ - DBUG_ASSERT(info->m_key != NULL); \ - DBUG_ASSERT(info->m_name != NULL); \ - len= strlen(info->m_name); \ - full_length= prefix_length + len; \ - if (likely(full_length <= PFS_MAX_INFO_NAME_LENGTH)) \ - { \ - memcpy(formatted_name + prefix_length, info->m_name, len); \ - key= REGISTER_FUNC(formatted_name, full_length, info->m_flags); \ - } \ - else \ - { \ - pfs_print_error("REGISTER_BODY_V1: name too long <%s> <%s>\n", \ - category, info->m_name); \ - key= 0; \ - } \ - \ - *(info->m_key)= key; \ - } \ +#define REGISTER_BODY_V1(KEY_T, PREFIX, REGISTER_FUNC) \ + KEY_T key; \ + char formatted_name[PFS_MAX_INFO_NAME_LENGTH]; \ + size_t prefix_length; \ + size_t len; \ + size_t full_length; \ + \ + DBUG_ASSERT(category != NULL); \ + DBUG_ASSERT(info != NULL); \ + if (unlikely(build_prefix(&PREFIX, category, \ + formatted_name, &prefix_length)) || \ + ! pfs_initialized) \ + { \ + for (; count>0; count--, info++) \ + *(info->m_key)= 0; \ + return ; \ + } \ + \ + for (; count>0; count--, info++) \ + { \ + DBUG_ASSERT(info->m_key != NULL); \ + DBUG_ASSERT(info->m_name != NULL); \ + len= strlen(info->m_name); \ + full_length= prefix_length + len; \ + if (likely(full_length <= PFS_MAX_INFO_NAME_LENGTH)) \ + { \ + memcpy(formatted_name + prefix_length, info->m_name, len); \ + key= REGISTER_FUNC(formatted_name, (uint)full_length, info->m_flags); \ + } \ + else \ + { \ + pfs_print_error("REGISTER_BODY_V1: name too long <%s> <%s>\n", \ + category, info->m_name); \ + key= 0; \ + } \ + \ + *(info->m_key)= key; \ + } \ return; /* Use C linkage for the interface functions. */ @@ -1317,9 +1585,9 @@ C_MODE_START Implementation of the mutex instrumentation interface. @sa PSI_v1::register_mutex. */ -static void register_mutex_v1(const char *category, - PSI_mutex_info_v1 *info, - int count) +void pfs_register_mutex_v1(const char *category, + PSI_mutex_info_v1 *info, + int count) { REGISTER_BODY_V1(PSI_mutex_key, mutex_instrument_prefix, @@ -1330,22 +1598,80 @@ static void register_mutex_v1(const char *category, Implementation of the rwlock instrumentation interface. @sa PSI_v1::register_rwlock. */ -static void register_rwlock_v1(const char *category, - PSI_rwlock_info_v1 *info, - int count) +void pfs_register_rwlock_v1(const char *category, + PSI_rwlock_info_v1 *info, + int count) { - REGISTER_BODY_V1(PSI_rwlock_key, - rwlock_instrument_prefix, - register_rwlock_class) + PSI_rwlock_key key; + char rw_formatted_name[PFS_MAX_INFO_NAME_LENGTH]; + char sx_formatted_name[PFS_MAX_INFO_NAME_LENGTH]; + size_t rw_prefix_length; + size_t sx_prefix_length; + size_t len; + size_t full_length; + + DBUG_ASSERT(category != NULL); + DBUG_ASSERT(info != NULL); + if (build_prefix(&rwlock_instrument_prefix, category, + rw_formatted_name, &rw_prefix_length) || + build_prefix(&sxlock_instrument_prefix, category, + sx_formatted_name, &sx_prefix_length) || + ! pfs_initialized) + { + for (; count>0; count--, info++) + *(info->m_key)= 0; + return ; + } + + for (; count>0; count--, info++) + { + DBUG_ASSERT(info->m_key != NULL); + DBUG_ASSERT(info->m_name != NULL); + len= strlen(info->m_name); + + if (info->m_flags & PSI_RWLOCK_FLAG_SX) + { + full_length= sx_prefix_length + len; + if (likely(full_length <= PFS_MAX_INFO_NAME_LENGTH)) + { + memcpy(sx_formatted_name + sx_prefix_length, info->m_name, len); + key= register_rwlock_class(sx_formatted_name, (uint)full_length, info->m_flags); + } + else + { + pfs_print_error("REGISTER_BODY_V1: (sx) name too long <%s> <%s>\n", + category, info->m_name); + key= 0; + } + } + else + { + full_length= rw_prefix_length + len; + if (likely(full_length <= PFS_MAX_INFO_NAME_LENGTH)) + { + memcpy(rw_formatted_name + rw_prefix_length, info->m_name, len); + key= register_rwlock_class(rw_formatted_name, (uint)full_length, info->m_flags); + } + else + { + pfs_print_error("REGISTER_BODY_V1: (rw) name too long <%s> <%s>\n", + category, info->m_name); + key= 0; + } + } + + *(info->m_key)= key; + } + return; } /** Implementation of the cond instrumentation interface. @sa PSI_v1::register_cond. */ -static void register_cond_v1(const char *category, - PSI_cond_info_v1 *info, - int count) +void pfs_register_cond_v1(const char *category, + PSI_cond_info_v1 *info, + int count) { REGISTER_BODY_V1(PSI_cond_key, cond_instrument_prefix, @@ -1356,9 +1682,9 @@ static void register_cond_v1(const char *category, Implementation of the thread instrumentation interface. @sa PSI_v1::register_thread. */ -static void register_thread_v1(const char *category, - PSI_thread_info_v1 *info, - int count) +void pfs_register_thread_v1(const char *category, + PSI_thread_info_v1 *info, + int count) { REGISTER_BODY_V1(PSI_thread_key, thread_instrument_prefix, @@ -1369,29 +1695,30 @@ static void register_thread_v1(const char *category, Implementation of the file instrumentation interface. @sa PSI_v1::register_file. */ -static void register_file_v1(const char *category, - PSI_file_info_v1 *info, - int count) +void pfs_register_file_v1(const char *category, + PSI_file_info_v1 *info, + int count) { REGISTER_BODY_V1(PSI_file_key, file_instrument_prefix, register_file_class) } -static void register_stage_v1(const char *category, - PSI_stage_info_v1 **info_array, - int count) +void pfs_register_stage_v1(const char *category, + PSI_stage_info_v1 **info_array, + int count) { char formatted_name[PFS_MAX_INFO_NAME_LENGTH]; - int prefix_length; - int len; - int full_length; + size_t prefix_length; + size_t len; + size_t full_length; PSI_stage_info_v1 *info; DBUG_ASSERT(category != NULL); DBUG_ASSERT(info_array != NULL); if (unlikely(build_prefix(&stage_instrument_prefix, category, - formatted_name, &prefix_length))) + formatted_name, &prefix_length)) || + ! pfs_initialized) { for (; count>0; count--, info_array++) (*info_array)->m_key= 0; @@ -1409,8 +1736,8 @@ static void register_stage_v1(const char *category, { memcpy(formatted_name + prefix_length, info->m_name, len); info->m_key= register_stage_class(formatted_name, - prefix_length, - full_length, + (uint)prefix_length, + (uint)full_length, info->m_flags); } else @@ -1423,19 +1750,20 @@ static void register_stage_v1(const char *category, return; } -static void register_statement_v1(const char *category, - PSI_statement_info_v1 *info, - int count) +void pfs_register_statement_v1(const char *category, + PSI_statement_info_v1 *info, + int count) { char formatted_name[PFS_MAX_INFO_NAME_LENGTH]; - int prefix_length; - int len; - int full_length; + size_t prefix_length; + size_t len; + size_t full_length; DBUG_ASSERT(category != NULL); DBUG_ASSERT(info != NULL); if (unlikely(build_prefix(&statement_instrument_prefix, - category, formatted_name, &prefix_length))) + category, formatted_name, &prefix_length)) || + ! pfs_initialized) { for (; count>0; count--, info++) info->m_key= 0; @@ -1450,7 +1778,7 @@ static void register_statement_v1(const char *category, if (likely(full_length <= PFS_MAX_INFO_NAME_LENGTH)) { memcpy(formatted_name + prefix_length, info->m_name, len); - info->m_key= register_statement_class(formatted_name, full_length, info->m_flags); + info->m_key= register_statement_class(formatted_name, (uint)full_length, info->m_flags); } else { @@ -1462,9 +1790,9 @@ static void register_statement_v1(const char *category, return; } -static void register_socket_v1(const char *category, - PSI_socket_info_v1 *info, - int count) +void pfs_register_socket_v1(const char *category, + PSI_socket_info_v1 *info, + int count) { REGISTER_BODY_V1(PSI_socket_key, socket_instrument_prefix, @@ -1477,8 +1805,6 @@ static void register_socket_v1(const char *category, klass= find_##T##_class(KEY); \ if (unlikely(klass == NULL)) \ return NULL; \ - if (! klass->m_enabled) \ - return NULL; \ pfs= create_##T(klass, ID); \ return reinterpret_cast<PSI_##T *> (pfs) @@ -1486,8 +1812,8 @@ static void register_socket_v1(const char *category, Implementation of the mutex instrumentation interface. @sa PSI_v1::init_mutex. */ -static PSI_mutex* -init_mutex_v1(PSI_mutex_key key, const void *identity) +PSI_mutex* +pfs_init_mutex_v1(PSI_mutex_key key, const void *identity) { INIT_BODY_V1(mutex, key, identity); } @@ -1496,7 +1822,7 @@ init_mutex_v1(PSI_mutex_key key, const void *identity) Implementation of the mutex instrumentation interface. @sa PSI_v1::destroy_mutex. */ -static void destroy_mutex_v1(PSI_mutex* mutex) +void pfs_destroy_mutex_v1(PSI_mutex* mutex) { PFS_mutex *pfs= reinterpret_cast<PFS_mutex*> (mutex); @@ -1509,8 +1835,8 @@ static void destroy_mutex_v1(PSI_mutex* mutex) Implementation of the rwlock instrumentation interface. @sa PSI_v1::init_rwlock. */ -static PSI_rwlock* -init_rwlock_v1(PSI_rwlock_key key, const void *identity) +PSI_rwlock* +pfs_init_rwlock_v1(PSI_rwlock_key key, const void *identity) { INIT_BODY_V1(rwlock, key, identity); } @@ -1519,7 +1845,7 @@ init_rwlock_v1(PSI_rwlock_key key, const void *identity) Implementation of the rwlock instrumentation interface. @sa PSI_v1::destroy_rwlock. */ -static void destroy_rwlock_v1(PSI_rwlock* rwlock) +void pfs_destroy_rwlock_v1(PSI_rwlock* rwlock) { PFS_rwlock *pfs= reinterpret_cast<PFS_rwlock*> (rwlock); @@ -1532,8 +1858,8 @@ static void destroy_rwlock_v1(PSI_rwlock* rwlock) Implementation of the cond instrumentation interface. @sa PSI_v1::init_cond. */ -static PSI_cond* -init_cond_v1(PSI_cond_key key, const void *identity) +PSI_cond* +pfs_init_cond_v1(PSI_cond_key key, const void *identity) { INIT_BODY_V1(cond, key, identity); } @@ -1542,7 +1868,7 @@ init_cond_v1(PSI_cond_key key, const void *identity) Implementation of the cond instrumentation interface. @sa PSI_v1::destroy_cond. */ -static void destroy_cond_v1(PSI_cond* cond) +void pfs_destroy_cond_v1(PSI_cond* cond) { PFS_cond *pfs= reinterpret_cast<PFS_cond*> (cond); @@ -1555,14 +1881,14 @@ static void destroy_cond_v1(PSI_cond* cond) Implementation of the table instrumentation interface. @sa PSI_v1::get_table_share. */ -static PSI_table_share* -get_table_share_v1(my_bool temporary, TABLE_SHARE *share) +PSI_table_share* +pfs_get_table_share_v1(my_bool temporary, TABLE_SHARE *share) { /* Ignore temporary tables and views. */ if (temporary || share->is_view) return NULL; /* An instrumented thread is required, for LF_PINS. */ - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); if (unlikely(pfs_thread == NULL)) return NULL; PFS_table_share* pfs_share; @@ -1574,7 +1900,7 @@ get_table_share_v1(my_bool temporary, TABLE_SHARE *share) Implementation of the table instrumentation interface. @sa PSI_v1::release_table_share. */ -static void release_table_share_v1(PSI_table_share* share) +void pfs_release_table_share_v1(PSI_table_share* share) { PFS_table_share* pfs= reinterpret_cast<PFS_table_share*> (share); @@ -1588,15 +1914,15 @@ static void release_table_share_v1(PSI_table_share* share) Implementation of the table instrumentation interface. @sa PSI_v1::drop_table_share. */ -static void -drop_table_share_v1(my_bool temporary, - const char *schema_name, int schema_name_length, - const char *table_name, int table_name_length) +void +pfs_drop_table_share_v1(my_bool temporary, + const char *schema_name, int schema_name_length, + const char *table_name, int table_name_length) { /* Ignore temporary tables. */ if (temporary) return; - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); if (unlikely(pfs_thread == NULL)) return; /* TODO: temporary tables */ @@ -1608,8 +1934,8 @@ drop_table_share_v1(my_bool temporary, Implementation of the table instrumentation interface. @sa PSI_v1::open_table. */ -static PSI_table* -open_table_v1(PSI_table_share *share, const void *identity) +PSI_table* +pfs_open_table_v1(PSI_table_share *share, const void *identity) { PFS_table_share *pfs_table_share= reinterpret_cast<PFS_table_share*> (share); @@ -1632,7 +1958,7 @@ open_table_v1(PSI_table_share *share, const void *identity) if (! flag_global_instrumentation) return NULL; - PFS_thread *thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *thread= my_thread_get_THR_PFS(); if (unlikely(thread == NULL)) return NULL; @@ -1644,12 +1970,13 @@ open_table_v1(PSI_table_share *share, const void *identity) Implementation of the table instrumentation interface. @sa PSI_v1::unbind_table. */ -static void unbind_table_v1(PSI_table *table) +void pfs_unbind_table_v1(PSI_table *table) { PFS_table *pfs= reinterpret_cast<PFS_table*> (table); if (likely(pfs != NULL)) { pfs->m_thread_owner= NULL; + pfs->m_owner_event_id= 0; } } @@ -1657,18 +1984,14 @@ static void unbind_table_v1(PSI_table *table) Implementation of the table instrumentation interface. @sa PSI_v1::rebind_table. */ -static PSI_table * -rebind_table_v1(PSI_table_share *share, const void *identity, PSI_table *table) +PSI_table * +pfs_rebind_table_v1(PSI_table_share *share, const void *identity, PSI_table *table) { PFS_table *pfs= reinterpret_cast<PFS_table*> (table); if (likely(pfs != NULL)) { - PFS_thread *thread; DBUG_ASSERT(pfs->m_thread_owner == NULL); - /* The table handle was already instrumented, reuse it for this thread. */ - thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); - if (unlikely(! pfs->m_share->m_enabled)) { destroy_table(pfs); @@ -1687,7 +2010,13 @@ rebind_table_v1(PSI_table_share *share, const void *identity, PSI_table *table) return NULL; } + /* The table handle was already instrumented, reuse it for this thread. */ + PFS_thread *thread= my_thread_get_THR_PFS(); pfs->m_thread_owner= thread; + if (thread != NULL) + pfs->m_owner_event_id= thread->m_event_id; + else + pfs->m_owner_event_id= 0; return table; } @@ -1707,7 +2036,7 @@ rebind_table_v1(PSI_table_share *share, const void *identity, PSI_table *table) if (! flag_global_instrumentation) return NULL; - PFS_thread *thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *thread= my_thread_get_THR_PFS(); if (unlikely(thread == NULL)) return NULL; @@ -1719,31 +2048,29 @@ rebind_table_v1(PSI_table_share *share, const void *identity, PSI_table *table) Implementation of the table instrumentation interface. @sa PSI_v1::close_table. */ -static void close_table_v1(PSI_table *table) +void pfs_close_table_v1(TABLE_SHARE *server_share, PSI_table *table) { PFS_table *pfs= reinterpret_cast<PFS_table*> (table); if (unlikely(pfs == NULL)) return; - pfs->aggregate(); + pfs->aggregate(server_share); destroy_table(pfs); } -static PSI_socket* -init_socket_v1(PSI_socket_key key, const my_socket *fd, - const struct sockaddr *addr, socklen_t addr_len) +PSI_socket* +pfs_init_socket_v1(PSI_socket_key key, const my_socket *fd, + const struct sockaddr *addr, socklen_t addr_len) { PFS_socket_class *klass; PFS_socket *pfs; klass= find_socket_class(key); if (unlikely(klass == NULL)) return NULL; - if (! klass->m_enabled) - return NULL; pfs= create_socket(klass, fd, addr, addr_len); return reinterpret_cast<PSI_socket *> (pfs); } -static void destroy_socket_v1(PSI_socket *socket) +void pfs_destroy_socket_v1(PSI_socket *socket) { PFS_socket *pfs= reinterpret_cast<PFS_socket*> (socket); @@ -1756,7 +2083,7 @@ static void destroy_socket_v1(PSI_socket *socket) Implementation of the file instrumentation interface. @sa PSI_v1::create_file. */ -static void create_file_v1(PSI_file_key key, const char *name, File file) +void pfs_create_file_v1(PSI_file_key key, const char *name, File file) { if (! flag_global_instrumentation) return; @@ -1770,7 +2097,7 @@ static void create_file_v1(PSI_file_key key, const char *name, File file) return; /* A thread is needed for LF_PINS */ - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); if (unlikely(pfs_thread == NULL)) return; @@ -1787,7 +2114,7 @@ static void create_file_v1(PSI_file_key key, const char *name, File file) return; } - uint len= strlen(name); + uint len= (uint)strlen(name); PFS_file *pfs_file= find_or_create_file(pfs_thread, klass, name, len, true); file_handle_array[index]= pfs_file; @@ -1812,7 +2139,7 @@ struct PFS_spawn_thread_arg void *m_user_arg; }; -void* pfs_spawn_thread(void *arg) +extern "C" void* pfs_spawn_thread(void *arg) { PFS_spawn_thread_arg *typed_arg= (PFS_spawn_thread_arg*) arg; void *user_arg; @@ -1827,6 +2154,7 @@ void* pfs_spawn_thread(void *arg) pfs= create_thread(klass, typed_arg->m_child_identity, 0); if (likely(pfs != NULL)) { + pfs->m_thread_os_id= my_thread_os_id(); clear_thread_account(pfs); pfs->m_parent_thread_internal_id= typed_arg->m_thread_internal_id; @@ -1844,7 +2172,7 @@ void* pfs_spawn_thread(void *arg) { pfs= NULL; } - my_pthread_setspecific_ptr(THR_PFS, pfs); + my_thread_set_THR_PFS(pfs); /* Secondly, free the memory allocated in spawn_thread_v1(). @@ -1866,15 +2194,16 @@ void* pfs_spawn_thread(void *arg) Implementation of the thread instrumentation interface. @sa PSI_v1::spawn_thread. */ -static int spawn_thread_v1(PSI_thread_key key, - pthread_t *thread, const pthread_attr_t *attr, - void *(*start_routine)(void*), void *arg) +int pfs_spawn_thread_v1(PSI_thread_key key, + my_thread_handle *thread, const my_thread_attr_t *attr, + void *(*start_routine)(void*), void *arg) { PFS_spawn_thread_arg *psi_arg; PFS_thread *parent; /* psi_arg can not be global, and can not be a local variable. */ - psi_arg= (PFS_spawn_thread_arg*) my_malloc(sizeof(PFS_spawn_thread_arg), + psi_arg= (PFS_spawn_thread_arg*) my_malloc(PSI_NOT_INSTRUMENTED, + sizeof(PFS_spawn_thread_arg), MYF(MY_WME)); if (unlikely(psi_arg == NULL)) return EAGAIN; @@ -1884,7 +2213,7 @@ static int spawn_thread_v1(PSI_thread_key key, psi_arg->m_user_start_routine= start_routine; psi_arg->m_user_arg= arg; - parent= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + parent= my_thread_get_THR_PFS(); if (parent != NULL) { /* @@ -1907,7 +2236,7 @@ static int spawn_thread_v1(PSI_thread_key key, psi_arg->m_hostname_length= 0; } - int result= pthread_create(thread, attr, pfs_spawn_thread, psi_arg); + int result= my_thread_create(thread, attr, pfs_spawn_thread, psi_arg); if (unlikely(result != 0)) my_free(psi_arg); return result; @@ -1917,8 +2246,8 @@ static int spawn_thread_v1(PSI_thread_key key, Implementation of the thread instrumentation interface. @sa PSI_v1::new_thread. */ -static PSI_thread* -new_thread_v1(PSI_thread_key key, const void *identity, ulonglong processlist_id) +PSI_thread* +pfs_new_thread_v1(PSI_thread_key key, const void *identity, ulonglong processlist_id) { PFS_thread *pfs; @@ -1935,22 +2264,46 @@ new_thread_v1(PSI_thread_key key, const void *identity, ulonglong processlist_id Implementation of the thread instrumentation interface. @sa PSI_v1::set_thread_id. */ -static void set_thread_id_v1(PSI_thread *thread, ulonglong processlist_id) +void pfs_set_thread_id_v1(PSI_thread *thread, ulonglong processlist_id) { PFS_thread *pfs= reinterpret_cast<PFS_thread*> (thread); if (unlikely(pfs == NULL)) return; - pfs->m_processlist_id= processlist_id; + pfs->m_processlist_id= (ulong)processlist_id; +} + +/** + Implementation of the thread instrumentation interface. + @sa PSI_v1::set_thread_THD. +*/ +void pfs_set_thread_THD_v1(PSI_thread *thread, THD *thd) +{ + PFS_thread *pfs= reinterpret_cast<PFS_thread*> (thread); + if (unlikely(pfs == NULL)) + return; + pfs->m_thd= thd; +} + +/** + Implementation of the thread instrumentation interface. + @sa PSI_v1::set_thread_os_thread_id. +*/ +void pfs_set_thread_os_id_v1(PSI_thread *thread) +{ + PFS_thread *pfs= reinterpret_cast<PFS_thread*> (thread); + if (unlikely(pfs == NULL)) + return; + pfs->m_thread_os_id= my_thread_os_id(); } /** Implementation of the thread instrumentation interface. @sa PSI_v1::get_thread_id. */ -static PSI_thread* -get_thread_v1(void) +PSI_thread* +pfs_get_thread_v1(void) { - PFS_thread *pfs= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs= my_thread_get_THR_PFS(); return reinterpret_cast<PSI_thread*> (pfs); } @@ -1958,9 +2311,10 @@ get_thread_v1(void) Implementation of the thread instrumentation interface. @sa PSI_v1::set_thread_user. */ -static void set_thread_user_v1(const char *user, int user_len) +void pfs_set_thread_user_v1(const char *user, int user_len) { - PFS_thread *pfs= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + pfs_dirty_state dirty_state; + PFS_thread *pfs= my_thread_get_THR_PFS(); DBUG_ASSERT((user != NULL) || (user_len == 0)); DBUG_ASSERT(user_len >= 0); @@ -1971,7 +2325,7 @@ static void set_thread_user_v1(const char *user, int user_len) aggregate_thread(pfs, pfs->m_account, pfs->m_user, pfs->m_host); - pfs->m_session_lock.allocated_to_dirty(); + pfs->m_session_lock.allocated_to_dirty(& dirty_state); clear_thread_account(pfs); @@ -1981,37 +2335,44 @@ static void set_thread_user_v1(const char *user, int user_len) set_thread_account(pfs); - bool enabled= true; - if (flag_thread_instrumentation) + bool enabled; + bool history; + if (pfs->m_account != NULL) + { + enabled= pfs->m_account->m_enabled; + history= pfs->m_account->m_history; + } + else { if ((pfs->m_username_length > 0) && (pfs->m_hostname_length > 0)) { - /* - TODO: performance improvement. - Once performance_schema.USERS is exposed, - we can use PFS_user::m_enabled instead of looking up - SETUP_ACTORS every time. - */ lookup_setup_actor(pfs, pfs->m_username, pfs->m_username_length, pfs->m_hostname, pfs->m_hostname_length, - &enabled); + &enabled, &history); + } + else + { + /* There is no setting for background threads */ + enabled= true; + history= true; } } + pfs->set_enabled(enabled); + pfs->set_history(history); - pfs->m_enabled= enabled; - - pfs->m_session_lock.dirty_to_allocated(); + pfs->m_session_lock.dirty_to_allocated(& dirty_state); } /** Implementation of the thread instrumentation interface. @sa PSI_v1::set_thread_account. */ -static void set_thread_account_v1(const char *user, int user_len, - const char *host, int host_len) +void pfs_set_thread_account_v1(const char *user, int user_len, + const char *host, int host_len) { - PFS_thread *pfs= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + pfs_dirty_state dirty_state; + PFS_thread *pfs= my_thread_get_THR_PFS(); DBUG_ASSERT((user != NULL) || (user_len == 0)); DBUG_ASSERT(user_len >= 0); @@ -2023,7 +2384,7 @@ static void set_thread_account_v1(const char *user, int user_len, if (unlikely(pfs == NULL)) return; - pfs->m_session_lock.allocated_to_dirty(); + pfs->m_session_lock.allocated_to_dirty(& dirty_state); clear_thread_account(pfs); @@ -2037,35 +2398,42 @@ static void set_thread_account_v1(const char *user, int user_len, set_thread_account(pfs); - bool enabled= true; - if (flag_thread_instrumentation) + bool enabled; + bool history; + if (pfs->m_account != NULL) + { + enabled= pfs->m_account->m_enabled; + history= pfs->m_account->m_history; + } + else { if ((pfs->m_username_length > 0) && (pfs->m_hostname_length > 0)) { - /* - TODO: performance improvement. - Once performance_schema.USERS is exposed, - we can use PFS_user::m_enabled instead of looking up - SETUP_ACTORS every time. - */ lookup_setup_actor(pfs, pfs->m_username, pfs->m_username_length, pfs->m_hostname, pfs->m_hostname_length, - &enabled); + &enabled, &history); + } + else + { + /* There is no setting for background threads */ + enabled= true; + history= true; } } - pfs->m_enabled= enabled; + pfs->set_enabled(enabled); + pfs->set_history(history); - pfs->m_session_lock.dirty_to_allocated(); + pfs->m_session_lock.dirty_to_allocated(& dirty_state); } /** Implementation of the thread instrumentation interface. @sa PSI_v1::set_thread_db. */ -static void set_thread_db_v1(const char* db, int db_len) +void pfs_set_thread_db_v1(const char* db, int db_len) { - PFS_thread *pfs= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs= my_thread_get_THR_PFS(); DBUG_ASSERT((db != NULL) || (db_len == 0)); DBUG_ASSERT(db_len >= 0); @@ -2073,11 +2441,12 @@ static void set_thread_db_v1(const char* db, int db_len) if (likely(pfs != NULL)) { - pfs->m_stmt_lock.allocated_to_dirty(); + pfs_dirty_state dirty_state; + pfs->m_stmt_lock.allocated_to_dirty(& dirty_state); if (db_len > 0) memcpy(pfs->m_dbname, db, db_len); pfs->m_dbname_length= db_len; - pfs->m_stmt_lock.dirty_to_allocated(); + pfs->m_stmt_lock.dirty_to_allocated(& dirty_state); } } @@ -2085,9 +2454,9 @@ static void set_thread_db_v1(const char* db, int db_len) Implementation of the thread instrumentation interface. @sa PSI_v1::set_thread_command. */ -static void set_thread_command_v1(int command) +void pfs_set_thread_command_v1(int command) { - PFS_thread *pfs= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs= my_thread_get_THR_PFS(); DBUG_ASSERT(command >= 0); DBUG_ASSERT(command <= (int) COM_END); @@ -2099,12 +2468,30 @@ static void set_thread_command_v1(int command) } /** +Implementation of the thread instrumentation interface. +@sa PSI_v1::set_thread_connection_type. +*/ +void pfs_set_connection_type_v1(opaque_vio_type conn_type) +{ + PFS_thread *pfs= my_thread_get_THR_PFS(); + + DBUG_ASSERT(conn_type >= FIRST_VIO_TYPE); + DBUG_ASSERT(conn_type <= LAST_VIO_TYPE); + + if (likely(pfs != NULL)) + { + pfs->m_connection_type= static_cast<enum_vio_type> (conn_type); + } +} + + +/** Implementation of the thread instrumentation interface. @sa PSI_v1::set_thread_start_time. */ -static void set_thread_start_time_v1(time_t start_time) +void pfs_set_thread_start_time_v1(time_t start_time) { - PFS_thread *pfs= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs= my_thread_get_THR_PFS(); if (likely(pfs != NULL)) { @@ -2116,7 +2503,7 @@ static void set_thread_start_time_v1(time_t start_time) Implementation of the thread instrumentation interface. @sa PSI_v1::set_thread_state. */ -static void set_thread_state_v1(const char* state) +void pfs_set_thread_state_v1(const char* state) { /* DEPRECATED. */ } @@ -2125,9 +2512,10 @@ static void set_thread_state_v1(const char* state) Implementation of the thread instrumentation interface. @sa PSI_v1::set_thread_info. */ -static void set_thread_info_v1(const char* info, uint info_len) +void pfs_set_thread_info_v1(const char* info, uint info_len) { - PFS_thread *pfs= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + pfs_dirty_state dirty_state; + PFS_thread *pfs= my_thread_get_THR_PFS(); DBUG_ASSERT((info != NULL) || (info_len == 0)); @@ -2138,16 +2526,16 @@ static void set_thread_info_v1(const char* info, uint info_len) if (info_len > sizeof(pfs->m_processlist_info)) info_len= sizeof(pfs->m_processlist_info); - pfs->m_stmt_lock.allocated_to_dirty(); + pfs->m_stmt_lock.allocated_to_dirty(& dirty_state); memcpy(pfs->m_processlist_info, info, info_len); pfs->m_processlist_info_length= info_len; - pfs->m_stmt_lock.dirty_to_allocated(); + pfs->m_stmt_lock.dirty_to_allocated(& dirty_state); } else { - pfs->m_stmt_lock.allocated_to_dirty(); + pfs->m_stmt_lock.allocated_to_dirty(& dirty_state); pfs->m_processlist_info_length= 0; - pfs->m_stmt_lock.dirty_to_allocated(); + pfs->m_stmt_lock.dirty_to_allocated(& dirty_state); } } } @@ -2156,23 +2544,23 @@ static void set_thread_info_v1(const char* info, uint info_len) Implementation of the thread instrumentation interface. @sa PSI_v1::set_thread. */ -static void set_thread_v1(PSI_thread* thread) +void pfs_set_thread_v1(PSI_thread* thread) { PFS_thread *pfs= reinterpret_cast<PFS_thread*> (thread); - my_pthread_setspecific_ptr(THR_PFS, pfs); + my_thread_set_THR_PFS(pfs); } /** Implementation of the thread instrumentation interface. @sa PSI_v1::delete_current_thread. */ -static void delete_current_thread_v1(void) +void pfs_delete_current_thread_v1(void) { - PFS_thread *thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *thread= my_thread_get_THR_PFS(); if (thread != NULL) { aggregate_thread(thread, thread->m_account, thread->m_user, thread->m_host); - my_pthread_setspecific_ptr(THR_PFS, NULL); + my_thread_set_THR_PFS(NULL); destroy_thread(thread); } } @@ -2181,7 +2569,7 @@ static void delete_current_thread_v1(void) Implementation of the thread instrumentation interface. @sa PSI_v1::delete_thread. */ -static void delete_thread_v1(PSI_thread *thread) +void pfs_delete_thread_v1(PSI_thread *thread) { PFS_thread *pfs= reinterpret_cast<PFS_thread*> (thread); @@ -2196,10 +2584,10 @@ static void delete_thread_v1(PSI_thread *thread) Implementation of the mutex instrumentation interface. @sa PSI_v1::start_mutex_wait. */ -static PSI_mutex_locker* -start_mutex_wait_v1(PSI_mutex_locker_state *state, - PSI_mutex *mutex, PSI_mutex_operation op, - const char *src_file, uint src_line) +PSI_mutex_locker* +pfs_start_mutex_wait_v1(PSI_mutex_locker_state *state, + PSI_mutex *mutex, PSI_mutex_operation op, + const char *src_file, uint src_line) { PFS_mutex *pfs_mutex= reinterpret_cast<PFS_mutex*> (mutex); DBUG_ASSERT((int) op >= 0); @@ -2212,12 +2600,12 @@ start_mutex_wait_v1(PSI_mutex_locker_state *state, if (! pfs_mutex->m_enabled) return NULL; - register uint flags; + uint flags; ulonglong timer_start= 0; if (flag_thread_instrumentation) { - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); if (unlikely(pfs_thread == NULL)) return NULL; if (! pfs_thread->m_enabled) @@ -2249,7 +2637,7 @@ start_mutex_wait_v1(PSI_mutex_locker_state *state, 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_thread_internal_id= pfs_thread->m_thread_internal_id; wait->m_class= pfs_mutex->m_class; wait->m_timer_start= timer_start; wait->m_timer_end= 0; @@ -2294,11 +2682,11 @@ start_mutex_wait_v1(PSI_mutex_locker_state *state, @sa PSI_v1::start_rwlock_rdwait @sa PSI_v1::start_rwlock_wrwait */ -static PSI_rwlock_locker* -start_rwlock_wait_v1(PSI_rwlock_locker_state *state, - PSI_rwlock *rwlock, - PSI_rwlock_operation op, - const char *src_file, uint src_line) +PSI_rwlock_locker* +pfs_start_rwlock_wait_v1(PSI_rwlock_locker_state *state, + PSI_rwlock *rwlock, + PSI_rwlock_operation op, + const char *src_file, uint src_line) { PFS_rwlock *pfs_rwlock= reinterpret_cast<PFS_rwlock*> (rwlock); DBUG_ASSERT(static_cast<int> (op) >= 0); @@ -2307,15 +2695,35 @@ start_rwlock_wait_v1(PSI_rwlock_locker_state *state, DBUG_ASSERT(pfs_rwlock != NULL); DBUG_ASSERT(pfs_rwlock->m_class != NULL); + /* Operations supported for READ WRITE LOCK */ + + DBUG_ASSERT( pfs_rwlock->m_class->is_shared_exclusive() + || (op == PSI_RWLOCK_READLOCK) + || (op == PSI_RWLOCK_WRITELOCK) + || (op == PSI_RWLOCK_TRYREADLOCK) + || (op == PSI_RWLOCK_TRYWRITELOCK) + ); + + /* Operations supported for SHARED EXCLUSIVE LOCK */ + + DBUG_ASSERT( ! pfs_rwlock->m_class->is_shared_exclusive() + || (op == PSI_RWLOCK_SHAREDLOCK) + || (op == PSI_RWLOCK_SHAREDEXCLUSIVELOCK) + || (op == PSI_RWLOCK_EXCLUSIVELOCK) + || (op == PSI_RWLOCK_TRYSHAREDLOCK) + || (op == PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK) + || (op == PSI_RWLOCK_TRYEXCLUSIVELOCK) + ); + if (! pfs_rwlock->m_enabled) return NULL; - register uint flags; + uint flags; ulonglong timer_start= 0; if (flag_thread_instrumentation) { - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); if (unlikely(pfs_thread == NULL)) return NULL; if (! pfs_thread->m_enabled) @@ -2347,7 +2755,7 @@ start_rwlock_wait_v1(PSI_rwlock_locker_state *state, 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_thread_internal_id= pfs_thread->m_thread_internal_id; wait->m_class= pfs_rwlock->m_class; wait->m_timer_start= timer_start; wait->m_timer_end= 0; @@ -2384,18 +2792,49 @@ start_rwlock_wait_v1(PSI_rwlock_locker_state *state, state->m_flags= flags; state->m_rwlock= rwlock; + state->m_operation= op; return reinterpret_cast<PSI_rwlock_locker*> (state); } +PSI_rwlock_locker* +pfs_start_rwlock_rdwait_v1(PSI_rwlock_locker_state *state, + PSI_rwlock *rwlock, + PSI_rwlock_operation op, + const char *src_file, uint src_line) +{ + DBUG_ASSERT((op == PSI_RWLOCK_READLOCK) || + (op == PSI_RWLOCK_TRYREADLOCK) || + (op == PSI_RWLOCK_SHAREDLOCK) || + (op == PSI_RWLOCK_TRYSHAREDLOCK)); + + return pfs_start_rwlock_wait_v1(state, rwlock, op, src_file, src_line); +} + +PSI_rwlock_locker* +pfs_start_rwlock_wrwait_v1(PSI_rwlock_locker_state *state, + PSI_rwlock *rwlock, + PSI_rwlock_operation op, + const char *src_file, uint src_line) +{ + DBUG_ASSERT((op == PSI_RWLOCK_WRITELOCK) || + (op == PSI_RWLOCK_TRYWRITELOCK) || + (op == PSI_RWLOCK_SHAREDEXCLUSIVELOCK) || + (op == PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK) || + (op == PSI_RWLOCK_EXCLUSIVELOCK) || + (op == PSI_RWLOCK_TRYEXCLUSIVELOCK)); + + return pfs_start_rwlock_wait_v1(state, rwlock, op, src_file, src_line); +} + /** Implementation of the cond instrumentation interface. @sa PSI_v1::start_cond_wait. */ -static PSI_cond_locker* -start_cond_wait_v1(PSI_cond_locker_state *state, - PSI_cond *cond, PSI_mutex *mutex, - PSI_cond_operation op, - const char *src_file, uint src_line) +PSI_cond_locker* +pfs_start_cond_wait_v1(PSI_cond_locker_state *state, + PSI_cond *cond, PSI_mutex *mutex, + PSI_cond_operation op, + const char *src_file, uint src_line) { /* Note about the unused PSI_mutex *mutex parameter: @@ -2418,12 +2857,12 @@ start_cond_wait_v1(PSI_cond_locker_state *state, if (! pfs_cond->m_enabled) return NULL; - register uint flags; + uint flags; ulonglong timer_start= 0; if (flag_thread_instrumentation) { - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); if (unlikely(pfs_thread == NULL)) return NULL; if (! pfs_thread->m_enabled) @@ -2455,7 +2894,7 @@ start_cond_wait_v1(PSI_cond_locker_state *state, 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_thread_internal_id= pfs_thread->m_thread_internal_id; wait->m_class= pfs_cond->m_class; wait->m_timer_start= timer_start; wait->m_timer_end= 0; @@ -2513,8 +2952,6 @@ static inline PFS_TL_LOCK_TYPE lock_flags_to_lock_type(uint flags) return PFS_TL_WRITE_ALLOW_WRITE; case TL_WRITE_CONCURRENT_INSERT: return PFS_TL_WRITE_CONCURRENT_INSERT; - case TL_WRITE_DELAYED: - return PFS_TL_WRITE_DELAYED; case TL_WRITE_LOW_PRIORITY: return PFS_TL_WRITE_LOW_PRIORITY; case TL_WRITE: @@ -2525,6 +2962,7 @@ static inline PFS_TL_LOCK_TYPE lock_flags_to_lock_type(uint flags) case TL_UNLOCK: case TL_READ_DEFAULT: case TL_WRITE_DEFAULT: + case TL_WRITE_CONCURRENT_DEFAULT: default: DBUG_ASSERT(false); } @@ -2543,12 +2981,12 @@ static inline PFS_TL_LOCK_TYPE external_lock_flags_to_lock_type(uint flags) Implementation of the table instrumentation interface. @sa PSI_v1::start_table_io_wait_v1 */ -static PSI_table_locker* -start_table_io_wait_v1(PSI_table_locker_state *state, - PSI_table *table, - PSI_table_io_operation op, - uint index, - const char *src_file, uint src_line) +PSI_table_locker* +pfs_start_table_io_wait_v1(PSI_table_locker_state *state, + PSI_table *table, + PSI_table_io_operation op, + uint index, + const char *src_file, uint src_line) { DBUG_ASSERT(static_cast<int> (op) >= 0); DBUG_ASSERT(static_cast<uint> (op) < array_elements(table_io_operation_map)); @@ -2562,10 +3000,9 @@ start_table_io_wait_v1(PSI_table_locker_state *state, PFS_thread *pfs_thread= pfs_table->m_thread_owner; - DBUG_ASSERT(pfs_thread == - my_pthread_getspecific_ptr(PFS_thread*, THR_PFS)); + DBUG_ASSERT(pfs_thread == my_thread_get_THR_PFS()); - register uint flags; + uint flags; ulonglong timer_start= 0; if (flag_thread_instrumentation) @@ -2602,7 +3039,7 @@ start_table_io_wait_v1(PSI_table_locker_state *state, wait->m_nesting_event_type= parent_event->m_event_type; PFS_table_share *share= pfs_table->m_share; - wait->m_thread= pfs_thread; + wait->m_thread_internal_id= pfs_thread->m_thread_internal_id; wait->m_class= &global_table_io_class; wait->m_timer_start= timer_start; wait->m_timer_end= 0; @@ -2648,12 +3085,12 @@ start_table_io_wait_v1(PSI_table_locker_state *state, Implementation of the table instrumentation interface. @sa PSI_v1::start_table_lock_wait. */ -static PSI_table_locker* -start_table_lock_wait_v1(PSI_table_locker_state *state, - PSI_table *table, - PSI_table_lock_operation op, - ulong op_flags, - const char *src_file, uint src_line) +PSI_table_locker* +pfs_start_table_lock_wait_v1(PSI_table_locker_state *state, + PSI_table *table, + PSI_table_lock_operation op, + ulong op_flags, + const char *src_file, uint src_line) { DBUG_ASSERT(state != NULL); DBUG_ASSERT((op == PSI_TABLE_LOCK) || (op == PSI_TABLE_EXTERNAL_LOCK)); @@ -2674,6 +3111,7 @@ start_table_lock_wait_v1(PSI_table_locker_state *state, { case PSI_TABLE_LOCK: lock_type= lock_flags_to_lock_type(op_flags); + pfs_table->m_internal_lock= lock_type; break; case PSI_TABLE_EXTERNAL_LOCK: /* @@ -2681,8 +3119,12 @@ start_table_lock_wait_v1(PSI_table_locker_state *state, there is no handler::external_unlock(). */ if (op_flags == F_UNLCK) + { + pfs_table->m_external_lock= PFS_TL_NONE; return NULL; + } lock_type= external_lock_flags_to_lock_type(op_flags); + pfs_table->m_external_lock= lock_type; break; default: lock_type= PFS_TL_READ; @@ -2691,7 +3133,7 @@ start_table_lock_wait_v1(PSI_table_locker_state *state, DBUG_ASSERT((uint) lock_type < array_elements(table_lock_operation_map)); - register uint flags; + uint flags; ulonglong timer_start= 0; if (flag_thread_instrumentation) @@ -2728,7 +3170,7 @@ start_table_lock_wait_v1(PSI_table_locker_state *state, wait->m_nesting_event_type= parent_event->m_event_type; PFS_table_share *share= pfs_table->m_share; - wait->m_thread= pfs_thread; + wait->m_thread_internal_id= pfs_thread->m_thread_internal_id; wait->m_class= &global_table_lock_class; wait->m_timer_start= timer_start; wait->m_timer_end= 0; @@ -2773,11 +3215,11 @@ start_table_lock_wait_v1(PSI_table_locker_state *state, Implementation of the file instrumentation interface. @sa PSI_v1::get_thread_file_name_locker. */ -static PSI_file_locker* -get_thread_file_name_locker_v1(PSI_file_locker_state *state, - PSI_file_key key, - PSI_file_operation op, - const char *name, const void *identity) +PSI_file_locker* +pfs_get_thread_file_name_locker_v1(PSI_file_locker_state *state, + PSI_file_key key, + PSI_file_operation op, + const char *name, const void *identity) { DBUG_ASSERT(static_cast<int> (op) >= 0); DBUG_ASSERT(static_cast<uint> (op) < array_elements(file_operation_map)); @@ -2792,14 +3234,14 @@ get_thread_file_name_locker_v1(PSI_file_locker_state *state, return NULL; /* Needed for the LF_HASH */ - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); if (unlikely(pfs_thread == NULL)) return NULL; if (flag_thread_instrumentation && ! pfs_thread->m_enabled) return NULL; - register uint flags; + uint flags; state->m_thread= reinterpret_cast<PSI_thread *> (pfs_thread); flags= STATE_FLAG_THREAD; @@ -2824,7 +3266,7 @@ get_thread_file_name_locker_v1(PSI_file_locker_state *state, 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_thread_internal_id= pfs_thread->m_thread_internal_id; wait->m_class= klass; wait->m_timer_start= 0; wait->m_timer_end= 0; @@ -2851,9 +3293,9 @@ get_thread_file_name_locker_v1(PSI_file_locker_state *state, Implementation of the file instrumentation interface. @sa PSI_v1::get_thread_file_stream_locker. */ -static PSI_file_locker* -get_thread_file_stream_locker_v1(PSI_file_locker_state *state, - PSI_file *file, PSI_file_operation op) +PSI_file_locker* +pfs_get_thread_file_stream_locker_v1(PSI_file_locker_state *state, + PSI_file *file, PSI_file_operation op) { PFS_file *pfs_file= reinterpret_cast<PFS_file*> (file); DBUG_ASSERT(static_cast<int> (op) >= 0); @@ -2868,16 +3310,20 @@ get_thread_file_stream_locker_v1(PSI_file_locker_state *state, if (! pfs_file->m_enabled) return NULL; - register uint flags; + /* Needed for the LF_HASH */ + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (unlikely(pfs_thread == NULL)) + return NULL; + + uint flags; + + /* Always populated */ + state->m_thread= reinterpret_cast<PSI_thread *> (pfs_thread); if (flag_thread_instrumentation) { - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); - if (unlikely(pfs_thread == NULL)) - return NULL; if (! pfs_thread->m_enabled) return NULL; - state->m_thread= reinterpret_cast<PSI_thread *> (pfs_thread); flags= STATE_FLAG_THREAD; if (pfs_file->m_timed) @@ -2900,7 +3346,7 @@ get_thread_file_stream_locker_v1(PSI_file_locker_state *state, 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_thread_internal_id= pfs_thread->m_thread_internal_id; wait->m_class= klass; wait->m_timer_start= 0; wait->m_timer_end= 0; @@ -2917,7 +3363,6 @@ get_thread_file_stream_locker_v1(PSI_file_locker_state *state, } else { - state->m_thread= NULL; if (pfs_file->m_timed) { flags= STATE_FLAG_TIMED; @@ -2941,9 +3386,9 @@ get_thread_file_stream_locker_v1(PSI_file_locker_state *state, Implementation of the file instrumentation interface. @sa PSI_v1::get_thread_file_descriptor_locker. */ -static PSI_file_locker* -get_thread_file_descriptor_locker_v1(PSI_file_locker_state *state, - File file, PSI_file_operation op) +PSI_file_locker* +pfs_get_thread_file_descriptor_locker_v1(PSI_file_locker_state *state, + File file, PSI_file_operation op) { int index= static_cast<int> (file); DBUG_ASSERT(static_cast<int> (op) >= 0); @@ -2974,16 +3419,20 @@ get_thread_file_descriptor_locker_v1(PSI_file_locker_state *state, DBUG_ASSERT(pfs_file->m_class != NULL); PFS_file_class *klass= pfs_file->m_class; - register uint flags; + /* Needed for the LF_HASH */ + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (unlikely(pfs_thread == NULL)) + return NULL; + + uint flags; + + /* Always populated */ + state->m_thread= reinterpret_cast<PSI_thread *> (pfs_thread); if (flag_thread_instrumentation) { - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); - if (unlikely(pfs_thread == NULL)) - return NULL; if (! pfs_thread->m_enabled) return NULL; - state->m_thread= reinterpret_cast<PSI_thread *> (pfs_thread); flags= STATE_FLAG_THREAD; if (pfs_file->m_timed) @@ -3006,7 +3455,7 @@ get_thread_file_descriptor_locker_v1(PSI_file_locker_state *state, 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_thread_internal_id= pfs_thread->m_thread_internal_id; wait->m_class= klass; wait->m_timer_start= 0; wait->m_timer_end= 0; @@ -3023,7 +3472,6 @@ get_thread_file_descriptor_locker_v1(PSI_file_locker_state *state, } else { - state->m_thread= NULL; if (pfs_file->m_timed) { flags= STATE_FLAG_TIMED; @@ -3045,12 +3493,12 @@ get_thread_file_descriptor_locker_v1(PSI_file_locker_state *state, /** Socket locker */ -static PSI_socket_locker* -start_socket_wait_v1(PSI_socket_locker_state *state, - PSI_socket *socket, - PSI_socket_operation op, - size_t count, - const char *src_file, uint src_line) +PSI_socket_locker* +pfs_start_socket_wait_v1(PSI_socket_locker_state *state, + PSI_socket *socket, + PSI_socket_operation op, + size_t count, + const char *src_file, uint src_line) { DBUG_ASSERT(static_cast<int> (op) >= 0); DBUG_ASSERT(static_cast<uint> (op) < array_elements(socket_operation_map)); @@ -3063,7 +3511,7 @@ start_socket_wait_v1(PSI_socket_locker_state *state, if (!pfs_socket->m_enabled || pfs_socket->m_idle) return NULL; - register uint flags= 0; + uint flags= 0; ulonglong timer_start= 0; if (flag_thread_instrumentation) @@ -3102,7 +3550,7 @@ start_socket_wait_v1(PSI_socket_locker_state *state, 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_thread_internal_id= pfs_thread->m_thread_internal_id; wait->m_class= pfs_socket->m_class; wait->m_timer_start= timer_start; wait->m_timer_end= 0; @@ -3165,7 +3613,7 @@ start_socket_wait_v1(PSI_socket_locker_state *state, Implementation of the mutex instrumentation interface. @sa PSI_v1::unlock_mutex. */ -static void unlock_mutex_v1(PSI_mutex *mutex) +void pfs_unlock_mutex_v1(PSI_mutex *mutex) { PFS_mutex *pfs_mutex= reinterpret_cast<PFS_mutex*> (mutex); @@ -3202,7 +3650,7 @@ static void unlock_mutex_v1(PSI_mutex *mutex) Implementation of the rwlock instrumentation interface. @sa PSI_v1::unlock_rwlock. */ -static void unlock_rwlock_v1(PSI_rwlock *rwlock) +void pfs_unlock_rwlock_v1(PSI_rwlock *rwlock) { PFS_rwlock *pfs_rwlock= reinterpret_cast<PFS_rwlock*> (rwlock); DBUG_ASSERT(pfs_rwlock != NULL); @@ -3280,34 +3728,38 @@ static void unlock_rwlock_v1(PSI_rwlock *rwlock) Implementation of the cond instrumentation interface. @sa PSI_v1::signal_cond. */ -static void signal_cond_v1(PSI_cond* cond) +void pfs_signal_cond_v1(PSI_cond* cond) { +#ifdef PFS_LATER PFS_cond *pfs_cond= reinterpret_cast<PFS_cond*> (cond); DBUG_ASSERT(pfs_cond != NULL); pfs_cond->m_cond_stat.m_signal_count++; +#endif } /** Implementation of the cond instrumentation interface. @sa PSI_v1::broadcast_cond. */ -static void broadcast_cond_v1(PSI_cond* cond) +void pfs_broadcast_cond_v1(PSI_cond* cond) { +#ifdef PFS_LATER PFS_cond *pfs_cond= reinterpret_cast<PFS_cond*> (cond); DBUG_ASSERT(pfs_cond != NULL); pfs_cond->m_cond_stat.m_broadcast_count++; +#endif } /** Implementation of the idle instrumentation interface. @sa PSI_v1::start_idle_wait. */ -static PSI_idle_locker* -start_idle_wait_v1(PSI_idle_locker_state* state, const char *src_file, uint src_line) +PSI_idle_locker* +pfs_start_idle_wait_v1(PSI_idle_locker_state* state, const char *src_file, uint src_line) { DBUG_ASSERT(state != NULL); @@ -3317,12 +3769,12 @@ start_idle_wait_v1(PSI_idle_locker_state* state, const char *src_file, uint src_ if (!global_idle_class.m_enabled) return NULL; - register uint flags= 0; + uint flags= 0; ulonglong timer_start= 0; if (flag_thread_instrumentation) { - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); if (unlikely(pfs_thread == NULL)) return NULL; if (!pfs_thread->m_enabled) @@ -3360,7 +3812,7 @@ start_idle_wait_v1(PSI_idle_locker_state* state, const char *src_file, uint src_ wait->m_nesting_event_id= 0; /* no need to set wait->m_nesting_event_type */ - wait->m_thread= pfs_thread; + wait->m_thread_internal_id= pfs_thread->m_thread_internal_id; wait->m_class= &global_idle_class; wait->m_timer_start= timer_start; wait->m_timer_end= 0; @@ -3392,14 +3844,14 @@ start_idle_wait_v1(PSI_idle_locker_state* state, const char *src_file, uint src_ Implementation of the mutex instrumentation interface. @sa PSI_v1::end_idle_wait. */ -static void end_idle_wait_v1(PSI_idle_locker* locker) +void pfs_end_idle_wait_v1(PSI_idle_locker* locker) { PSI_idle_locker_state *state= reinterpret_cast<PSI_idle_locker_state*> (locker); DBUG_ASSERT(state != NULL); ulonglong timer_end= 0; ulonglong wait_time= 0; - register uint flags= state->m_flags; + uint flags= state->m_flags; if (flags & STATE_FLAG_TIMED) { @@ -3411,7 +3863,7 @@ static void end_idle_wait_v1(PSI_idle_locker* locker) { PFS_thread *thread= reinterpret_cast<PFS_thread *> (state->m_thread); PFS_single_stat *event_name_array; - event_name_array= thread->m_instr_class_waits_stats; + event_name_array= thread->write_instr_class_waits_stats(); if (flags & STATE_FLAG_TIMED) { @@ -3431,9 +3883,9 @@ static void end_idle_wait_v1(PSI_idle_locker* locker) wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; - if (flag_events_waits_history) + if (thread->m_flag_events_waits_history) insert_events_waits_history(thread, wait); - if (flag_events_waits_history_long) + if (thread->m_flag_events_waits_history_long) insert_events_waits_history_long(wait); thread->m_events_waits_current--; } @@ -3455,7 +3907,7 @@ static void end_idle_wait_v1(PSI_idle_locker* locker) Implementation of the mutex instrumentation interface. @sa PSI_v1::end_mutex_wait. */ -static void end_mutex_wait_v1(PSI_mutex_locker* locker, int rc) +void pfs_end_mutex_wait_v1(PSI_mutex_locker* locker, int rc) { PSI_mutex_locker_state *state= reinterpret_cast<PSI_mutex_locker_state*> (locker); DBUG_ASSERT(state != NULL); @@ -3467,7 +3919,7 @@ static void end_mutex_wait_v1(PSI_mutex_locker* locker, int rc) DBUG_ASSERT(mutex != NULL); PFS_thread *thread= reinterpret_cast<PFS_thread *> (state->m_thread); - register uint flags= state->m_flags; + uint flags= state->m_flags; if (flags & STATE_FLAG_TIMED) { @@ -3491,9 +3943,12 @@ static void end_mutex_wait_v1(PSI_mutex_locker* locker, int rc) if (flags & STATE_FLAG_THREAD) { PFS_single_stat *event_name_array; - event_name_array= thread->m_instr_class_waits_stats; + event_name_array= thread->write_instr_class_waits_stats(); uint index= mutex->m_class->m_event_name_index; + DBUG_ASSERT(index <= wait_class_max); + DBUG_ASSERT(sanitize_thread(thread) != NULL); + if (flags & STATE_FLAG_TIMED) { /* Aggregate to EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME (timed) */ @@ -3512,9 +3967,9 @@ static void end_mutex_wait_v1(PSI_mutex_locker* locker, int rc) wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; - if (flag_events_waits_history) + if (thread->m_flag_events_waits_history) insert_events_waits_history(thread, wait); - if (flag_events_waits_history_long) + if (thread->m_flag_events_waits_history_long) insert_events_waits_history_long(wait); thread->m_events_waits_current--; } @@ -3525,7 +3980,7 @@ static void end_mutex_wait_v1(PSI_mutex_locker* locker, int rc) Implementation of the rwlock instrumentation interface. @sa PSI_v1::end_rwlock_rdwait. */ -static void end_rwlock_rdwait_v1(PSI_rwlock_locker* locker, int rc) +void pfs_end_rwlock_rdwait_v1(PSI_rwlock_locker* locker, int rc) { PSI_rwlock_locker_state *state= reinterpret_cast<PSI_rwlock_locker_state*> (locker); DBUG_ASSERT(state != NULL); @@ -3570,7 +4025,7 @@ static void end_rwlock_rdwait_v1(PSI_rwlock_locker* locker, int rc) DBUG_ASSERT(thread != NULL); PFS_single_stat *event_name_array; - event_name_array= thread->m_instr_class_waits_stats; + event_name_array= thread->write_instr_class_waits_stats(); uint index= rwlock->m_class->m_event_name_index; if (state->m_flags & STATE_FLAG_TIMED) @@ -3591,9 +4046,9 @@ static void end_rwlock_rdwait_v1(PSI_rwlock_locker* locker, int rc) wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; - if (flag_events_waits_history) + if (thread->m_flag_events_waits_history) insert_events_waits_history(thread, wait); - if (flag_events_waits_history_long) + if (thread->m_flag_events_waits_history_long) insert_events_waits_history_long(wait); thread->m_events_waits_current--; } @@ -3604,7 +4059,7 @@ static void end_rwlock_rdwait_v1(PSI_rwlock_locker* locker, int rc) Implementation of the rwlock instrumentation interface. @sa PSI_v1::end_rwlock_wrwait. */ -static void end_rwlock_wrwait_v1(PSI_rwlock_locker* locker, int rc) +void pfs_end_rwlock_wrwait_v1(PSI_rwlock_locker* locker, int rc) { PSI_rwlock_locker_state *state= reinterpret_cast<PSI_rwlock_locker_state*> (locker); DBUG_ASSERT(state != NULL); @@ -3634,15 +4089,20 @@ static void end_rwlock_wrwait_v1(PSI_rwlock_locker* locker, int rc) /* Thread safe : we are protected by the instrumented rwlock */ rwlock->m_writer= thread; rwlock->m_last_written= timer_end; - /* Reset the readers stats, they could be off */ - rwlock->m_readers= 0; - rwlock->m_last_read= 0; + + if ((state->m_operation != PSI_RWLOCK_SHAREDEXCLUSIVELOCK) && + (state->m_operation != PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK)) + { + /* Reset the readers stats, they could be off */ + rwlock->m_readers= 0; + rwlock->m_last_read= 0; + } } if (state->m_flags & STATE_FLAG_THREAD) { PFS_single_stat *event_name_array; - event_name_array= thread->m_instr_class_waits_stats; + event_name_array= thread->write_instr_class_waits_stats(); uint index= rwlock->m_class->m_event_name_index; if (state->m_flags & STATE_FLAG_TIMED) @@ -3663,9 +4123,9 @@ static void end_rwlock_wrwait_v1(PSI_rwlock_locker* locker, int rc) wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; - if (flag_events_waits_history) + if (thread->m_flag_events_waits_history) insert_events_waits_history(thread, wait); - if (flag_events_waits_history_long) + if (thread->m_flag_events_waits_history_long) insert_events_waits_history_long(wait); thread->m_events_waits_current--; } @@ -3676,7 +4136,7 @@ static void end_rwlock_wrwait_v1(PSI_rwlock_locker* locker, int rc) Implementation of the cond instrumentation interface. @sa PSI_v1::end_cond_wait. */ -static void end_cond_wait_v1(PSI_cond_locker* locker, int rc) +void pfs_end_cond_wait_v1(PSI_cond_locker* locker, int rc) { PSI_cond_locker_state *state= reinterpret_cast<PSI_cond_locker_state*> (locker); DBUG_ASSERT(state != NULL); @@ -3706,7 +4166,7 @@ static void end_cond_wait_v1(PSI_cond_locker* locker, int rc) DBUG_ASSERT(thread != NULL); PFS_single_stat *event_name_array; - event_name_array= thread->m_instr_class_waits_stats; + event_name_array= thread->write_instr_class_waits_stats(); uint index= cond->m_class->m_event_name_index; if (state->m_flags & STATE_FLAG_TIMED) @@ -3727,9 +4187,9 @@ static void end_cond_wait_v1(PSI_cond_locker* locker, int rc) wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; - if (flag_events_waits_history) + if (thread->m_flag_events_waits_history) insert_events_waits_history(thread, wait); - if (flag_events_waits_history_long) + if (thread->m_flag_events_waits_history_long) insert_events_waits_history_long(wait); thread->m_events_waits_current--; } @@ -3740,7 +4200,7 @@ static void end_cond_wait_v1(PSI_cond_locker* locker, int rc) Implementation of the table instrumentation interface. @sa PSI_v1::end_table_io_wait. */ -static void end_table_io_wait_v1(PSI_table_locker* locker) +void pfs_end_table_io_wait_v1(PSI_table_locker* locker, ulonglong numrows) { PSI_table_locker_state *state= reinterpret_cast<PSI_table_locker_state*> (locker); DBUG_ASSERT(state != NULL); @@ -3780,17 +4240,17 @@ static void end_table_io_wait_v1(PSI_table_locker* locker) break; } - register uint flags= state->m_flags; + uint flags= state->m_flags; if (flags & STATE_FLAG_TIMED) { timer_end= state->m_timer(); wait_time= timer_end - state->m_timer_start; - stat->aggregate_value(wait_time); + stat->aggregate_many_value(wait_time, numrows); } else { - stat->aggregate_counted(); + stat->aggregate_counted(numrows); } if (flags & STATE_FLAG_THREAD) @@ -3799,7 +4259,7 @@ static void end_table_io_wait_v1(PSI_table_locker* locker) DBUG_ASSERT(thread != NULL); PFS_single_stat *event_name_array; - event_name_array= thread->m_instr_class_waits_stats; + event_name_array= thread->write_instr_class_waits_stats(); /* Aggregate to EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME @@ -3807,11 +4267,11 @@ static void end_table_io_wait_v1(PSI_table_locker* locker) */ if (flags & STATE_FLAG_TIMED) { - event_name_array[GLOBAL_TABLE_IO_EVENT_INDEX].aggregate_value(wait_time); + event_name_array[GLOBAL_TABLE_IO_EVENT_INDEX].aggregate_many_value(wait_time, numrows); } else { - event_name_array[GLOBAL_TABLE_IO_EVENT_INDEX].aggregate_counted(); + event_name_array[GLOBAL_TABLE_IO_EVENT_INDEX].aggregate_counted(numrows); } if (flags & STATE_FLAG_EVENT) @@ -3821,9 +4281,10 @@ static void end_table_io_wait_v1(PSI_table_locker* locker) wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; - if (flag_events_waits_history) + wait->m_number_of_bytes= static_cast<size_t>(numrows); + if (thread->m_flag_events_waits_history) insert_events_waits_history(thread, wait); - if (flag_events_waits_history_long) + if (thread->m_flag_events_waits_history_long) insert_events_waits_history_long(wait); thread->m_events_waits_current--; } @@ -3836,7 +4297,7 @@ static void end_table_io_wait_v1(PSI_table_locker* locker) Implementation of the table instrumentation interface. @sa PSI_v1::end_table_lock_wait. */ -static void end_table_lock_wait_v1(PSI_table_locker* locker) +void pfs_end_table_lock_wait_v1(PSI_table_locker* locker) { PSI_table_locker_state *state= reinterpret_cast<PSI_table_locker_state*> (locker); DBUG_ASSERT(state != NULL); @@ -3849,7 +4310,7 @@ static void end_table_lock_wait_v1(PSI_table_locker* locker) PFS_single_stat *stat= & table->m_table_stat.m_lock_stat.m_stat[state->m_index]; - register uint flags= state->m_flags; + uint flags= state->m_flags; if (flags & STATE_FLAG_TIMED) { @@ -3868,7 +4329,7 @@ static void end_table_lock_wait_v1(PSI_table_locker* locker) DBUG_ASSERT(thread != NULL); PFS_single_stat *event_name_array; - event_name_array= thread->m_instr_class_waits_stats; + event_name_array= thread->write_instr_class_waits_stats(); /* Aggregate to EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME @@ -3890,9 +4351,9 @@ static void end_table_lock_wait_v1(PSI_table_locker* locker) wait->m_timer_end= timer_end; wait->m_end_event_id= thread->m_event_id; - if (flag_events_waits_history) + if (thread->m_flag_events_waits_history) insert_events_waits_history(thread, wait); - if (flag_events_waits_history_long) + if (thread->m_flag_events_waits_history_long) insert_events_waits_history_long(wait); thread->m_events_waits_current--; } @@ -3901,23 +4362,23 @@ static void end_table_lock_wait_v1(PSI_table_locker* locker) table->m_has_lock_stats= true; } -static void start_file_wait_v1(PSI_file_locker *locker, - size_t count, - const char *src_file, - uint src_line); +void pfs_start_file_wait_v1(PSI_file_locker *locker, + size_t count, + const char *src_file, + uint src_line); -static void end_file_wait_v1(PSI_file_locker *locker, - size_t count); +void pfs_end_file_wait_v1(PSI_file_locker *locker, + size_t count); /** Implementation of the file instrumentation interface. @sa PSI_v1::start_file_open_wait. */ -static void start_file_open_wait_v1(PSI_file_locker *locker, - const char *src_file, - uint src_line) +void pfs_start_file_open_wait_v1(PSI_file_locker *locker, + const char *src_file, + uint src_line) { - start_file_wait_v1(locker, 0, src_file, src_line); + pfs_start_file_wait_v1(locker, 0, src_file, src_line); return; } @@ -3926,8 +4387,9 @@ static void start_file_open_wait_v1(PSI_file_locker *locker, Implementation of the file instrumentation interface. @sa PSI_v1::end_file_open_wait. */ -static PSI_file* end_file_open_wait_v1(PSI_file_locker *locker, - void *result) +PSI_file* +pfs_end_file_open_wait_v1(PSI_file_locker *locker, + void *result) { PSI_file_locker_state *state= reinterpret_cast<PSI_file_locker_state*> (locker); DBUG_ASSERT(state != NULL); @@ -3943,7 +4405,7 @@ static PSI_file* end_file_open_wait_v1(PSI_file_locker *locker, PFS_file_class *klass= reinterpret_cast<PFS_file_class*> (state->m_class); PFS_thread *thread= reinterpret_cast<PFS_thread*> (state->m_thread); const char *name= state->m_name; - uint len= strlen(name); + uint len= (uint)strlen(name); PFS_file *pfs_file= find_or_create_file(thread, klass, name, len, true); state->m_file= reinterpret_cast<PSI_file*> (pfs_file); } @@ -3954,7 +4416,7 @@ static PSI_file* end_file_open_wait_v1(PSI_file_locker *locker, break; } - end_file_wait_v1(locker, 0); + pfs_end_file_wait_v1(locker, 0); return state->m_file; } @@ -3963,7 +4425,7 @@ static PSI_file* end_file_open_wait_v1(PSI_file_locker *locker, Implementation of the file instrumentation interface. @sa PSI_v1::end_file_open_wait_and_bind_to_descriptor. */ -static void end_file_open_wait_and_bind_to_descriptor_v1 +void pfs_end_file_open_wait_and_bind_to_descriptor_v1 (PSI_file_locker *locker, File file) { PFS_file *pfs_file= NULL; @@ -3976,12 +4438,12 @@ static void end_file_open_wait_and_bind_to_descriptor_v1 PFS_file_class *klass= reinterpret_cast<PFS_file_class*> (state->m_class); PFS_thread *thread= reinterpret_cast<PFS_thread*> (state->m_thread); const char *name= state->m_name; - uint len= strlen(name); + uint len= (uint)strlen(name); pfs_file= find_or_create_file(thread, klass, name, len, true); state->m_file= reinterpret_cast<PSI_file*> (pfs_file); } - end_file_wait_v1(locker, 0); + pfs_end_file_wait_v1(locker, 0); if (likely(index >= 0)) { @@ -3998,18 +4460,41 @@ static void end_file_open_wait_and_bind_to_descriptor_v1 /** Implementation of the file instrumentation interface. + @sa PSI_v1::end_temp_file_open_wait_and_bind_to_descriptor. +*/ +void pfs_end_temp_file_open_wait_and_bind_to_descriptor_v1 + (PSI_file_locker *locker, File file, const char *filename) +{ + DBUG_ASSERT(filename != NULL); + PSI_file_locker_state *state= reinterpret_cast<PSI_file_locker_state*> (locker); + DBUG_ASSERT(state != NULL); + + /* Set filename that was generated during creation of temporary file. */ + state->m_name= filename; + pfs_end_file_open_wait_and_bind_to_descriptor_v1(locker, file); + + PFS_file *pfs_file= reinterpret_cast<PFS_file *> (state->m_file); + if (pfs_file != NULL) + { + pfs_file->m_temporary= true; + } +} + + +/** + Implementation of the file instrumentation interface. @sa PSI_v1::start_file_wait. */ -static void start_file_wait_v1(PSI_file_locker *locker, - size_t count, - const char *src_file, - uint src_line) +void pfs_start_file_wait_v1(PSI_file_locker *locker, + size_t count, + const char *src_file, + uint src_line) { ulonglong timer_start= 0; PSI_file_locker_state *state= reinterpret_cast<PSI_file_locker_state*> (locker); DBUG_ASSERT(state != NULL); - register uint flags= state->m_flags; + uint flags= state->m_flags; if (flags & STATE_FLAG_TIMED) { @@ -4033,8 +4518,8 @@ static void start_file_wait_v1(PSI_file_locker *locker, Implementation of the file instrumentation interface. @sa PSI_v1::end_file_wait. */ -static void end_file_wait_v1(PSI_file_locker *locker, - size_t byte_count) +void pfs_end_file_wait_v1(PSI_file_locker *locker, + size_t byte_count) { PSI_file_locker_state *state= reinterpret_cast<PSI_file_locker_state*> (locker); DBUG_ASSERT(state != NULL); @@ -4045,7 +4530,7 @@ static void end_file_wait_v1(PSI_file_locker *locker, ulonglong timer_end= 0; ulonglong wait_time= 0; PFS_byte_stat *byte_stat; - register uint flags= state->m_flags; + uint flags= state->m_flags; size_t bytes= ((int)byte_count > -1 ? byte_count : 0); PFS_file_stat *file_stat; @@ -4112,7 +4597,7 @@ static void end_file_wait_v1(PSI_file_locker *locker, DBUG_ASSERT(thread != NULL); PFS_single_stat *event_name_array; - event_name_array= thread->m_instr_class_waits_stats; + event_name_array= thread->write_instr_class_waits_stats(); uint index= klass->m_event_name_index; if (flags & STATE_FLAG_TIMED) @@ -4138,9 +4623,9 @@ static void end_file_wait_v1(PSI_file_locker *locker, wait->m_weak_file= file; wait->m_weak_version= (file ? file->get_version() : 0); - if (flag_events_waits_history) + if (thread->m_flag_events_waits_history) insert_events_waits_history(thread, wait); - if (flag_events_waits_history_long) + if (thread->m_flag_events_waits_history_long) insert_events_waits_history_long(wait); thread->m_events_waits_current--; } @@ -4151,9 +4636,9 @@ static void end_file_wait_v1(PSI_file_locker *locker, Implementation of the file instrumentation interface. @sa PSI_v1::start_file_close_wait. */ -static void start_file_close_wait_v1(PSI_file_locker *locker, - const char *src_file, - uint src_line) +void pfs_start_file_close_wait_v1(PSI_file_locker *locker, + const char *src_file, + uint src_line) { PFS_thread *thread; const char *name; @@ -4167,7 +4652,7 @@ static void start_file_close_wait_v1(PSI_file_locker *locker, case PSI_FILE_DELETE: thread= reinterpret_cast<PFS_thread*> (state->m_thread); name= state->m_name; - len= strlen(name); + len= (uint)strlen(name); pfs_file= find_or_create_file(thread, NULL, name, len, false); state->m_file= reinterpret_cast<PSI_file*> (pfs_file); break; @@ -4179,7 +4664,7 @@ static void start_file_close_wait_v1(PSI_file_locker *locker, break; } - start_file_wait_v1(locker, 0, src_file, src_line); + pfs_start_file_wait_v1(locker, 0, src_file, src_line); return; } @@ -4188,12 +4673,12 @@ static void start_file_close_wait_v1(PSI_file_locker *locker, Implementation of the file instrumentation interface. @sa PSI_v1::end_file_close_wait. */ -static void end_file_close_wait_v1(PSI_file_locker *locker, int rc) +void pfs_end_file_close_wait_v1(PSI_file_locker *locker, int rc) { PSI_file_locker_state *state= reinterpret_cast<PSI_file_locker_state*> (locker); DBUG_ASSERT(state != NULL); - end_file_wait_v1(locker, 0); + pfs_end_file_wait_v1(locker, 0); if (rc == 0) { @@ -4204,6 +4689,17 @@ static void end_file_close_wait_v1(PSI_file_locker *locker, int rc) switch(state->m_operation) { case PSI_FILE_CLOSE: + if (file != NULL) + { + if (file->m_temporary) + { + DBUG_ASSERT(file->m_file_stat.m_open_count <= 1); + destroy_file(thread, file); + } + else + release_file(file); + } + break; case PSI_FILE_STREAM_CLOSE: if (file != NULL) release_file(file); @@ -4220,22 +4716,25 @@ static void end_file_close_wait_v1(PSI_file_locker *locker, int rc) return; } -static void start_stage_v1(PSI_stage_key key, const char *src_file, int src_line) +PSI_stage_progress* +pfs_start_stage_v1(PSI_stage_key key, const char *src_file, int src_line) { ulonglong timer_value= 0; - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); if (unlikely(pfs_thread == NULL)) - return; + return NULL; /* Always update column threads.processlist_state. */ pfs_thread->m_stage= key; + /* Default value when the stage is not instrumented for progress */ + pfs_thread->m_stage_progress= NULL; if (! flag_global_instrumentation) - return; + return NULL; if (flag_thread_instrumentation && ! pfs_thread->m_enabled) - return; + return NULL; PFS_events_stages *pfs= & pfs_thread->m_stage_current; PFS_events_waits *child_wait= & pfs_thread->m_events_waits_stack[0]; @@ -4245,7 +4744,7 @@ static void start_stage_v1(PSI_stage_key key, const char *src_file, int src_line if (old_class != NULL) { PFS_stage_stat *event_name_array; - event_name_array= pfs_thread->m_instr_class_stages_stats; + event_name_array= pfs_thread->write_instr_class_stages_stats(); uint index= old_class->m_event_name_index; /* Finish old event */ @@ -4267,9 +4766,9 @@ static void start_stage_v1(PSI_stage_key key, const char *src_file, int src_line if (flag_events_stages_current) { pfs->m_end_event_id= pfs_thread->m_event_id; - if (flag_events_stages_history) + if (pfs_thread->m_flag_events_stages_history) insert_events_stages_history(pfs_thread, pfs); - if (flag_events_stages_history_long) + if (pfs_thread->m_flag_events_stages_history_long) insert_events_stages_history_long(pfs); } @@ -4286,10 +4785,10 @@ static void start_stage_v1(PSI_stage_key key, const char *src_file, int src_line PFS_stage_class *new_klass= find_stage_class(key); if (unlikely(new_klass == NULL)) - return; + return NULL; if (! new_klass->m_enabled) - return; + return NULL; pfs->m_class= new_klass; if (new_klass->m_timed) @@ -4308,8 +4807,7 @@ static void start_stage_v1(PSI_stage_key key, const char *src_file, int src_line if (flag_events_stages_current) { - /* m_thread_internal_id is immutable and already set */ - DBUG_ASSERT(pfs->m_thread_internal_id == pfs_thread->m_thread_internal_id); + pfs->m_thread_internal_id= pfs_thread->m_thread_internal_id; pfs->m_event_id= pfs_thread->m_event_id++; pfs->m_end_event_id= 0; pfs->m_source_file= src_file; @@ -4319,17 +4817,37 @@ static void start_stage_v1(PSI_stage_key key, const char *src_file, int src_line child_wait->m_event_id= pfs->m_event_id; child_wait->m_event_type= EVENT_TYPE_STAGE; } + + if (new_klass->is_progress()) + { + pfs_thread->m_stage_progress= & pfs->m_progress; + pfs->m_progress.m_work_completed= 0; + pfs->m_progress.m_work_estimated= 0; + } + + return pfs_thread->m_stage_progress; +} + +PSI_stage_progress* +pfs_get_current_stage_progress_v1() +{ + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (unlikely(pfs_thread == NULL)) + return NULL; + + return pfs_thread->m_stage_progress; } -static void end_stage_v1() +void pfs_end_stage_v1() { ulonglong timer_value= 0; - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); if (unlikely(pfs_thread == NULL)) return; pfs_thread->m_stage= 0; + pfs_thread->m_stage_progress= NULL; if (! flag_global_instrumentation) return; @@ -4343,7 +4861,7 @@ static void end_stage_v1() if (old_class != NULL) { PFS_stage_stat *event_name_array; - event_name_array= pfs_thread->m_instr_class_stages_stats; + event_name_array= pfs_thread->write_instr_class_stages_stats(); uint index= old_class->m_event_name_index; /* Finish old event */ @@ -4365,9 +4883,9 @@ static void end_stage_v1() if (flag_events_stages_current) { pfs->m_end_event_id= pfs_thread->m_event_id; - if (flag_events_stages_history) + if (pfs_thread->m_flag_events_stages_history) insert_events_stages_history(pfs_thread, pfs); - if (flag_events_stages_history_long) + if (pfs_thread->m_flag_events_stages_history_long) insert_events_stages_history_long(pfs); } @@ -4382,14 +4900,13 @@ static void end_stage_v1() } } -static PSI_statement_locker* -get_thread_statement_locker_v1(PSI_statement_locker_state *state, - PSI_statement_key key, - const void *charset) +PSI_statement_locker* +pfs_get_thread_statement_locker_v1(PSI_statement_locker_state *state, + PSI_statement_key key, + const void *charset, PSI_sp_share *sp_share) { DBUG_ASSERT(state != NULL); DBUG_ASSERT(charset != NULL); - if (! flag_global_instrumentation) return NULL; PFS_statement_class *klass= find_statement_class(key); @@ -4398,11 +4915,11 @@ get_thread_statement_locker_v1(PSI_statement_locker_state *state, if (! klass->m_enabled) return NULL; - register uint flags; + uint flags; if (flag_thread_instrumentation) { - PFS_thread *pfs_thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); if (unlikely(pfs_thread == NULL)) return NULL; if (! pfs_thread->m_enabled) @@ -4419,14 +4936,16 @@ get_thread_statement_locker_v1(PSI_statement_locker_state *state, if (pfs_thread->m_events_statements_count >= statement_stack_max) { + nested_statement_lost++; return NULL; } - pfs_thread->m_stmt_lock.allocated_to_dirty(); + pfs_dirty_state dirty_state; + pfs_thread->m_stmt_lock.allocated_to_dirty(& dirty_state); PFS_events_statements *pfs= & pfs_thread->m_statement_stack[pfs_thread->m_events_statements_count]; - /* m_thread_internal_id is immutable and already set */ - DBUG_ASSERT(pfs->m_thread_internal_id == pfs_thread->m_thread_internal_id); + pfs->m_thread_internal_id= pfs_thread->m_thread_internal_id; pfs->m_event_id= event_id; + pfs->m_event_type= EVENT_TYPE_STATEMENT; pfs->m_end_event_id= 0; pfs->m_class= klass; pfs->m_timer_start= 0; @@ -4468,18 +4987,68 @@ get_thread_statement_locker_v1(PSI_statement_locker_state *state, /* New waits will have this statement as parent, if no stage is instrumented */ PFS_events_waits *child_wait= & pfs_thread->m_events_waits_stack[0]; - child_wait->m_nesting_event_id= event_id; - child_wait->m_nesting_event_type= EVENT_TYPE_STATEMENT; + child_wait->m_event_id= event_id; + child_wait->m_event_type= EVENT_TYPE_STATEMENT; + + PFS_events_statements *parent_statement= NULL; + PFS_events_transactions *parent_transaction= &pfs_thread->m_transaction_current; + ulonglong parent_event= 0; + enum_event_type parent_type= EVENT_TYPE_STATEMENT; + uint parent_level= 0; + + if (pfs_thread->m_events_statements_count > 0) + { + parent_statement= pfs - 1; + parent_event= parent_statement->m_event_id; + parent_type= parent_statement->m_event_type; + parent_level= parent_statement->m_nesting_event_level + 1; + } + + if (parent_transaction->m_state == TRANS_STATE_ACTIVE && + parent_transaction->m_event_id > parent_event) + { + parent_event= parent_transaction->m_event_id; + parent_type= parent_transaction->m_event_type; + } + + pfs->m_nesting_event_id= parent_event; + pfs->m_nesting_event_type= parent_type; + pfs->m_nesting_event_level= parent_level; + + /* Set parent Stored Procedure information for this statement. */ + if(sp_share) + { + PFS_program *parent_sp= reinterpret_cast<PFS_program*>(sp_share); + pfs->m_sp_type= parent_sp->m_type; + memcpy(pfs->m_schema_name, parent_sp->m_schema_name, + parent_sp->m_schema_name_length); + pfs->m_schema_name_length= parent_sp->m_schema_name_length; + memcpy(pfs->m_object_name, parent_sp->m_object_name, + parent_sp->m_object_name_length); + pfs->m_object_name_length= parent_sp->m_object_name_length; + } + else + { + pfs->m_sp_type= NO_OBJECT_TYPE; + pfs->m_schema_name_length= 0; + pfs->m_object_name_length= 0; + } state->m_statement= pfs; flags|= STATE_FLAG_EVENT; pfs_thread->m_events_statements_count++; - pfs_thread->m_stmt_lock.dirty_to_allocated(); + pfs_thread->m_stmt_lock.dirty_to_allocated(& dirty_state); + } + else + { + state->m_statement= NULL; } } else { + state->m_statement= NULL; + if (klass->m_timed) flags= STATE_FLAG_TIMED; else @@ -4513,16 +5082,18 @@ get_thread_statement_locker_v1(PSI_statement_locker_state *state, state->m_no_good_index_used= 0; state->m_digest= NULL; + state->m_cs_number= ((CHARSET_INFO *)charset)->number; state->m_schema_name_length= 0; - state->m_cs_number= ((CHARSET_INFO *)charset)->number; + state->m_parent_sp_share= sp_share; + state->m_parent_prepared_stmt= NULL; return reinterpret_cast<PSI_statement_locker*> (state); } -static PSI_statement_locker* -refine_statement_v1(PSI_statement_locker *locker, - PSI_statement_key key) +PSI_statement_locker* +pfs_refine_statement_v1(PSI_statement_locker *locker, + PSI_statement_key key) { PSI_statement_locker_state *state= reinterpret_cast<PSI_statement_locker_state*> (locker); if (state == NULL) @@ -4568,14 +5139,14 @@ refine_statement_v1(PSI_statement_locker *locker, return reinterpret_cast<PSI_statement_locker*> (state); } -static void start_statement_v1(PSI_statement_locker *locker, - const char *db, uint db_len, - const char *src_file, uint src_line) +void pfs_start_statement_v1(PSI_statement_locker *locker, + const char *db, uint db_len, + const char *src_file, uint src_line) { PSI_statement_locker_state *state= reinterpret_cast<PSI_statement_locker_state*> (locker); DBUG_ASSERT(state != NULL); - register uint flags= state->m_flags; + uint flags= state->m_flags; ulonglong timer_start= 0; if (flags & STATE_FLAG_TIMED) @@ -4607,8 +5178,8 @@ static void start_statement_v1(PSI_statement_locker *locker, } } -static void set_statement_text_v1(PSI_statement_locker *locker, - const char *text, uint text_len) +void pfs_set_statement_text_v1(PSI_statement_locker *locker, + const char *text, uint text_len) { PSI_statement_locker_state *state= reinterpret_cast<PSI_statement_locker_state*> (locker); DBUG_ASSERT(state != NULL); @@ -4620,9 +5191,9 @@ static void set_statement_text_v1(PSI_statement_locker *locker, { PFS_events_statements *pfs= reinterpret_cast<PFS_events_statements*> (state->m_statement); DBUG_ASSERT(pfs != NULL); - if (text_len > sizeof (pfs->m_sqltext)) + if (text_len > pfs_max_sqltext) { - text_len= sizeof(pfs->m_sqltext); + text_len= (uint)pfs_max_sqltext; pfs->m_sqltext_truncated= true; } if (text_len) @@ -4668,101 +5239,101 @@ static void set_statement_text_v1(PSI_statement_locker *locker, } \ return; -static void set_statement_lock_time_v1(PSI_statement_locker *locker, - ulonglong count) +void pfs_set_statement_lock_time_v1(PSI_statement_locker *locker, + ulonglong count) { SET_STATEMENT_ATTR_BODY(locker, m_lock_time, count); } -static void set_statement_rows_sent_v1(PSI_statement_locker *locker, - ulonglong count) +void pfs_set_statement_rows_sent_v1(PSI_statement_locker *locker, + ulonglong count) { SET_STATEMENT_ATTR_BODY(locker, m_rows_sent, count); } -static void set_statement_rows_examined_v1(PSI_statement_locker *locker, - ulonglong count) +void pfs_set_statement_rows_examined_v1(PSI_statement_locker *locker, + ulonglong count) { SET_STATEMENT_ATTR_BODY(locker, m_rows_examined, count); } -static void inc_statement_created_tmp_disk_tables_v1(PSI_statement_locker *locker, - ulong count) +void pfs_inc_statement_created_tmp_disk_tables_v1(PSI_statement_locker *locker, + ulong count) { INC_STATEMENT_ATTR_BODY(locker, m_created_tmp_disk_tables, count); } -static void inc_statement_created_tmp_tables_v1(PSI_statement_locker *locker, - ulong count) +void pfs_inc_statement_created_tmp_tables_v1(PSI_statement_locker *locker, + ulong count) { INC_STATEMENT_ATTR_BODY(locker, m_created_tmp_tables, count); } -static void inc_statement_select_full_join_v1(PSI_statement_locker *locker, - ulong count) +void pfs_inc_statement_select_full_join_v1(PSI_statement_locker *locker, + ulong count) { INC_STATEMENT_ATTR_BODY(locker, m_select_full_join, count); } -static void inc_statement_select_full_range_join_v1(PSI_statement_locker *locker, - ulong count) +void pfs_inc_statement_select_full_range_join_v1(PSI_statement_locker *locker, + ulong count) { INC_STATEMENT_ATTR_BODY(locker, m_select_full_range_join, count); } -static void inc_statement_select_range_v1(PSI_statement_locker *locker, - ulong count) +void pfs_inc_statement_select_range_v1(PSI_statement_locker *locker, + ulong count) { INC_STATEMENT_ATTR_BODY(locker, m_select_range, count); } -static void inc_statement_select_range_check_v1(PSI_statement_locker *locker, - ulong count) +void pfs_inc_statement_select_range_check_v1(PSI_statement_locker *locker, + ulong count) { INC_STATEMENT_ATTR_BODY(locker, m_select_range_check, count); } -static void inc_statement_select_scan_v1(PSI_statement_locker *locker, - ulong count) +void pfs_inc_statement_select_scan_v1(PSI_statement_locker *locker, + ulong count) { INC_STATEMENT_ATTR_BODY(locker, m_select_scan, count); } -static void inc_statement_sort_merge_passes_v1(PSI_statement_locker *locker, - ulong count) +void pfs_inc_statement_sort_merge_passes_v1(PSI_statement_locker *locker, + ulong count) { INC_STATEMENT_ATTR_BODY(locker, m_sort_merge_passes, count); } -static void inc_statement_sort_range_v1(PSI_statement_locker *locker, - ulong count) +void pfs_inc_statement_sort_range_v1(PSI_statement_locker *locker, + ulong count) { INC_STATEMENT_ATTR_BODY(locker, m_sort_range, count); } -static void inc_statement_sort_rows_v1(PSI_statement_locker *locker, - ulong count) +void pfs_inc_statement_sort_rows_v1(PSI_statement_locker *locker, + ulong count) { INC_STATEMENT_ATTR_BODY(locker, m_sort_rows, count); } -static void inc_statement_sort_scan_v1(PSI_statement_locker *locker, - ulong count) +void pfs_inc_statement_sort_scan_v1(PSI_statement_locker *locker, + ulong count) { INC_STATEMENT_ATTR_BODY(locker, m_sort_scan, count); } -static void set_statement_no_index_used_v1(PSI_statement_locker *locker) +void pfs_set_statement_no_index_used_v1(PSI_statement_locker *locker) { SET_STATEMENT_ATTR_BODY(locker, m_no_index_used, 1); } -static void set_statement_no_good_index_used_v1(PSI_statement_locker *locker) +void pfs_set_statement_no_good_index_used_v1(PSI_statement_locker *locker) { SET_STATEMENT_ATTR_BODY(locker, m_no_good_index_used, 1); } -static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da) +void pfs_end_statement_v1(PSI_statement_locker *locker, void *stmt_da) { PSI_statement_locker_state *state= reinterpret_cast<PSI_statement_locker_state*> (locker); Diagnostics_area *da= reinterpret_cast<Diagnostics_area*> (stmt_da); @@ -4777,7 +5348,7 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da) ulonglong timer_end= 0; ulonglong wait_time= 0; - register uint flags= state->m_flags; + uint flags= state->m_flags; if (flags & STATE_FLAG_TIMED) { @@ -4794,12 +5365,14 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da) */ const sql_digest_storage *digest_storage= NULL; PFS_statement_stat *digest_stat= NULL; + PFS_program *pfs_program= NULL; + PFS_prepared_stmt *pfs_prepared_stmt= NULL; if (flags & STATE_FLAG_THREAD) { PFS_thread *thread= reinterpret_cast<PFS_thread *> (state->m_thread); DBUG_ASSERT(thread != NULL); - event_name_array= thread->m_instr_class_statements_stats; + event_name_array= thread->write_instr_class_statements_stats(); /* Aggregate to EVENTS_STATEMENTS_SUMMARY_BY_THREAD_BY_EVENT_NAME */ stat= & event_name_array[index]; @@ -4821,28 +5394,31 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da) PFS_events_statements *pfs= reinterpret_cast<PFS_events_statements*> (state->m_statement); DBUG_ASSERT(pfs != NULL); - thread->m_stmt_lock.allocated_to_dirty(); + pfs_dirty_state dirty_state; + thread->m_stmt_lock.allocated_to_dirty(& dirty_state); switch(da->status()) { case Diagnostics_area::DA_EMPTY: break; case Diagnostics_area::DA_OK: - memcpy(pfs->m_message_text, da->message(), MYSQL_ERRMSG_SIZE); + memcpy(pfs->m_message_text, da->message_text(), + MYSQL_ERRMSG_SIZE); pfs->m_message_text[MYSQL_ERRMSG_SIZE]= 0; pfs->m_rows_affected= da->affected_rows(); - pfs->m_warning_count= da->statement_warn_count(); + pfs->m_warning_count= da->last_statement_cond_count(); memcpy(pfs->m_sqlstate, "00000", SQLSTATE_LENGTH); break; case Diagnostics_area::DA_EOF: - pfs->m_warning_count= da->statement_warn_count(); + pfs->m_warning_count= da->last_statement_cond_count(); break; case Diagnostics_area::DA_ERROR: - memcpy(pfs->m_message_text, da->message(), MYSQL_ERRMSG_SIZE); + memcpy(pfs->m_message_text, da->message_text(), + MYSQL_ERRMSG_SIZE); pfs->m_message_text[MYSQL_ERRMSG_SIZE]= 0; - pfs->m_sql_errno= da->sql_errno(); + pfs->m_sql_errno= da->mysql_errno(); + memcpy(pfs->m_sqlstate, da->returned_sqlstate(), SQLSTATE_LENGTH); pfs->m_error_count++; - memcpy(pfs->m_sqlstate, da->get_sqlstate(), SQLSTATE_LENGTH); break; case Diagnostics_area::DA_DISABLED: break; @@ -4862,21 +5438,24 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da) pfs->m_digest_storage.copy(digest_storage); } - if (flag_events_statements_history) + pfs_program= reinterpret_cast<PFS_program*>(state->m_parent_sp_share); + pfs_prepared_stmt= reinterpret_cast<PFS_prepared_stmt*>(state->m_parent_prepared_stmt); + + if (thread->m_flag_events_statements_history) insert_events_statements_history(thread, pfs); - if (flag_events_statements_history_long) + if (thread->m_flag_events_statements_history_long) insert_events_statements_history_long(pfs); DBUG_ASSERT(thread->m_events_statements_count > 0); thread->m_events_statements_count--; - thread->m_stmt_lock.dirty_to_allocated(); + thread->m_stmt_lock.dirty_to_allocated(& dirty_state); } } else { if (flags & STATE_FLAG_DIGEST) { - PFS_thread *thread= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *thread= my_thread_get_THR_PFS(); /* An instrumented thread is required, for LF_PINS. */ if (thread != NULL) @@ -4899,6 +5478,8 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da) stat= & event_name_array[index]; } + stat->mark_used(); + if (flags & STATE_FLAG_TIMED) { /* Aggregate to EVENTS_STATEMENTS_SUMMARY_..._BY_EVENT_NAME (timed) */ @@ -4929,6 +5510,8 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da) if (digest_stat != NULL) { + digest_stat->mark_used(); + if (flags & STATE_FLAG_TIMED) { digest_stat->aggregate_value(wait_time); @@ -4956,24 +5539,139 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da) digest_stat->m_no_good_index_used+= state->m_no_good_index_used; } + if(pfs_program != NULL) + { + PFS_statement_stat *sub_stmt_stat= NULL; + sub_stmt_stat= &pfs_program->m_stmt_stat; + if(sub_stmt_stat != NULL) + { + sub_stmt_stat->mark_used(); + + if (flags & STATE_FLAG_TIMED) + { + sub_stmt_stat->aggregate_value(wait_time); + } + else + { + sub_stmt_stat->aggregate_counted(); + } + + sub_stmt_stat->m_lock_time+= state->m_lock_time; + sub_stmt_stat->m_rows_sent+= state->m_rows_sent; + sub_stmt_stat->m_rows_examined+= state->m_rows_examined; + sub_stmt_stat->m_created_tmp_disk_tables+= state->m_created_tmp_disk_tables; + sub_stmt_stat->m_created_tmp_tables+= state->m_created_tmp_tables; + sub_stmt_stat->m_select_full_join+= state->m_select_full_join; + sub_stmt_stat->m_select_full_range_join+= state->m_select_full_range_join; + sub_stmt_stat->m_select_range+= state->m_select_range; + sub_stmt_stat->m_select_range_check+= state->m_select_range_check; + sub_stmt_stat->m_select_scan+= state->m_select_scan; + sub_stmt_stat->m_sort_merge_passes+= state->m_sort_merge_passes; + sub_stmt_stat->m_sort_range+= state->m_sort_range; + sub_stmt_stat->m_sort_rows+= state->m_sort_rows; + sub_stmt_stat->m_sort_scan+= state->m_sort_scan; + sub_stmt_stat->m_no_index_used+= state->m_no_index_used; + sub_stmt_stat->m_no_good_index_used+= state->m_no_good_index_used; + } + } + + if (pfs_prepared_stmt != NULL) + { + if(state->m_in_prepare) + { + PFS_single_stat *prepared_stmt_stat= NULL; + prepared_stmt_stat= &pfs_prepared_stmt->m_prepare_stat; + if(prepared_stmt_stat != NULL) + { + if (flags & STATE_FLAG_TIMED) + { + prepared_stmt_stat->aggregate_value(wait_time); + } + else + { + prepared_stmt_stat->aggregate_counted(); + } + } + } + else + { + PFS_statement_stat *prepared_stmt_stat= NULL; + prepared_stmt_stat= &pfs_prepared_stmt->m_execute_stat; + if(prepared_stmt_stat != NULL) + { + if (flags & STATE_FLAG_TIMED) + { + prepared_stmt_stat->aggregate_value(wait_time); + } + else + { + prepared_stmt_stat->aggregate_counted(); + } + + prepared_stmt_stat->m_lock_time+= state->m_lock_time; + prepared_stmt_stat->m_rows_sent+= state->m_rows_sent; + prepared_stmt_stat->m_rows_examined+= state->m_rows_examined; + prepared_stmt_stat->m_created_tmp_disk_tables+= state->m_created_tmp_disk_tables; + prepared_stmt_stat->m_created_tmp_tables+= state->m_created_tmp_tables; + prepared_stmt_stat->m_select_full_join+= state->m_select_full_join; + prepared_stmt_stat->m_select_full_range_join+= state->m_select_full_range_join; + prepared_stmt_stat->m_select_range+= state->m_select_range; + prepared_stmt_stat->m_select_range_check+= state->m_select_range_check; + prepared_stmt_stat->m_select_scan+= state->m_select_scan; + prepared_stmt_stat->m_sort_merge_passes+= state->m_sort_merge_passes; + prepared_stmt_stat->m_sort_range+= state->m_sort_range; + prepared_stmt_stat->m_sort_rows+= state->m_sort_rows; + prepared_stmt_stat->m_sort_scan+= state->m_sort_scan; + prepared_stmt_stat->m_no_index_used+= state->m_no_index_used; + prepared_stmt_stat->m_no_good_index_used+= state->m_no_good_index_used; + } + } + } + + PFS_statement_stat *sub_stmt_stat= NULL; + if (pfs_program != NULL) + sub_stmt_stat= &pfs_program->m_stmt_stat; + + PFS_statement_stat *prepared_stmt_stat= NULL; + if (pfs_prepared_stmt != NULL && !state->m_in_prepare) + prepared_stmt_stat= &pfs_prepared_stmt->m_execute_stat; + switch (da->status()) { case Diagnostics_area::DA_EMPTY: break; case Diagnostics_area::DA_OK: stat->m_rows_affected+= da->affected_rows(); - stat->m_warning_count+= da->statement_warn_count(); + stat->m_warning_count+= da->last_statement_cond_count(); if (digest_stat != NULL) { digest_stat->m_rows_affected+= da->affected_rows(); - digest_stat->m_warning_count+= da->statement_warn_count(); + digest_stat->m_warning_count+= da->last_statement_cond_count(); + } + if(sub_stmt_stat != NULL) + { + sub_stmt_stat->m_rows_affected+= da->affected_rows(); + sub_stmt_stat->m_warning_count+= da->last_statement_cond_count(); + } + if (prepared_stmt_stat != NULL) + { + prepared_stmt_stat->m_rows_affected+= da->affected_rows(); + prepared_stmt_stat->m_warning_count+= da->last_statement_cond_count(); } break; case Diagnostics_area::DA_EOF: - stat->m_warning_count+= da->statement_warn_count(); + stat->m_warning_count+= da->last_statement_cond_count(); if (digest_stat != NULL) { - digest_stat->m_warning_count+= da->statement_warn_count(); + digest_stat->m_warning_count+= da->last_statement_cond_count(); + } + if(sub_stmt_stat != NULL) + { + sub_stmt_stat->m_warning_count+= da->last_statement_cond_count(); + } + if (prepared_stmt_stat != NULL) + { + prepared_stmt_stat->m_warning_count+= da->last_statement_cond_count(); } break; case Diagnostics_area::DA_ERROR: @@ -4982,17 +5680,472 @@ static void end_statement_v1(PSI_statement_locker *locker, void *stmt_da) { digest_stat->m_error_count++; } + if (sub_stmt_stat != NULL) + { + sub_stmt_stat->m_error_count++; + } + if (prepared_stmt_stat != NULL) + { + prepared_stmt_stat->m_error_count++; + } break; case Diagnostics_area::DA_DISABLED: break; } } +static inline enum_object_type sp_type_to_object_type(uint sp_type) +{ + enum enum_sp_type value= static_cast<enum enum_sp_type> (sp_type); + + switch (value) + { + case SP_TYPE_FUNCTION: + return OBJECT_TYPE_FUNCTION; + case SP_TYPE_PROCEDURE: + return OBJECT_TYPE_PROCEDURE; + case SP_TYPE_TRIGGER: + return OBJECT_TYPE_TRIGGER; + case SP_TYPE_EVENT: + return OBJECT_TYPE_EVENT; + default: + DBUG_ASSERT(false); + /* Dead code */ + return NO_OBJECT_TYPE; + } +} + +/** + Implementation of the stored program instrumentation interface. + @sa PSI_v1::get_sp_share. +*/ +PSI_sp_share *pfs_get_sp_share_v1(uint sp_type, + const char* schema_name, + uint schema_name_length, + const char* object_name, + uint object_name_length) +{ + + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (unlikely(pfs_thread == NULL)) + return NULL; + + if (object_name_length > COL_OBJECT_NAME_SIZE) + object_name_length= COL_OBJECT_NAME_SIZE; + if (schema_name_length > COL_OBJECT_SCHEMA_SIZE) + schema_name_length= COL_OBJECT_SCHEMA_SIZE; + + PFS_program *pfs_program; + pfs_program= find_or_create_program(pfs_thread, + sp_type_to_object_type(sp_type), + object_name, + object_name_length, + schema_name, + schema_name_length); + + return reinterpret_cast<PSI_sp_share *>(pfs_program); +} + +void pfs_release_sp_share_v1(PSI_sp_share* sp_share) +{ + /* Unused */ + return; +} + +PSI_sp_locker* pfs_start_sp_v1(PSI_sp_locker_state *state, + PSI_sp_share *sp_share) +{ + DBUG_ASSERT(state != NULL); + if (! flag_global_instrumentation) + return NULL; + + if (flag_thread_instrumentation) + { + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (unlikely(pfs_thread == NULL)) + return NULL; + if (! pfs_thread->m_enabled) + return NULL; + } + + /* + sp share might be null in case when stat array is full and no new + stored program stats are being inserted into it. + */ + PFS_program *pfs_program= reinterpret_cast<PFS_program*>(sp_share); + if (pfs_program == NULL || !pfs_program->m_enabled) + return NULL; + + state->m_flags= 0; + + if(pfs_program->m_timed) + { + state->m_flags|= STATE_FLAG_TIMED; + state->m_timer_start= get_timer_raw_value_and_function(statement_timer, + & state->m_timer); + } + + state->m_sp_share= sp_share; + + return reinterpret_cast<PSI_sp_locker*> (state); +} + +void pfs_end_sp_v1(PSI_sp_locker *locker) +{ + PSI_sp_locker_state *state= reinterpret_cast<PSI_sp_locker_state*> (locker); + DBUG_ASSERT(state != NULL); + + ulonglong timer_end; + ulonglong wait_time; + + PFS_program *pfs_program= reinterpret_cast<PFS_program *>(state->m_sp_share); + PFS_sp_stat *stat= &pfs_program->m_sp_stat; + + if (state->m_flags & STATE_FLAG_TIMED) + { + timer_end= state->m_timer(); + wait_time= timer_end - state->m_timer_start; + + /* Now use this timer_end and wait_time for timing information. */ + stat->aggregate_value(wait_time); + } + else + { + stat->aggregate_counted(); + } +} + +void pfs_drop_sp_v1(uint sp_type, + const char* schema_name, + uint schema_name_length, + const char* object_name, + uint object_name_length) +{ + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (unlikely(pfs_thread == NULL)) + return; + + if (object_name_length > COL_OBJECT_NAME_SIZE) + object_name_length= COL_OBJECT_NAME_SIZE; + if (schema_name_length > COL_OBJECT_SCHEMA_SIZE) + schema_name_length= COL_OBJECT_SCHEMA_SIZE; + + drop_program(pfs_thread, + sp_type_to_object_type(sp_type), + object_name, object_name_length, + schema_name, schema_name_length); +} + +PSI_transaction_locker* +pfs_get_thread_transaction_locker_v1(PSI_transaction_locker_state *state, + const void *xid, + const ulonglong *trxid, + int isolation_level, + my_bool read_only, + my_bool autocommit) +{ + DBUG_ASSERT(state != NULL); + + if (!flag_global_instrumentation) + return NULL; + + if (!global_transaction_class.m_enabled) + return NULL; + + uint flags; + + if (flag_thread_instrumentation) + { + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (unlikely(pfs_thread == NULL)) + return NULL; + if (!pfs_thread->m_enabled) + return NULL; + state->m_thread= reinterpret_cast<PSI_thread *> (pfs_thread); + flags= STATE_FLAG_THREAD; + + if (global_transaction_class.m_timed) + flags|= STATE_FLAG_TIMED; + + if (flag_events_transactions_current) + { + ulonglong event_id= pfs_thread->m_event_id++; + + PFS_events_transactions *pfs= &pfs_thread->m_transaction_current; + pfs->m_thread_internal_id = pfs_thread->m_thread_internal_id; + pfs->m_event_id= event_id; + pfs->m_event_type= EVENT_TYPE_TRANSACTION; + pfs->m_end_event_id= 0; + pfs->m_class= &global_transaction_class; + pfs->m_timer_start= 0; + pfs->m_timer_end= 0; + if (xid != NULL) + pfs->m_xid= *(PSI_xid *)xid; + pfs->m_xa= false; + pfs->m_xa_state= TRANS_STATE_XA_NOTR; + pfs->m_trxid= (trxid == NULL) ? 0 : *trxid; + pfs->m_isolation_level= (enum_isolation_level)isolation_level; + pfs->m_read_only= read_only; + pfs->m_autocommit= autocommit; + pfs->m_savepoint_count= 0; + pfs->m_rollback_to_savepoint_count= 0; + pfs->m_release_savepoint_count= 0; + + uint statements_count= pfs_thread->m_events_statements_count; + if (statements_count > 0) + { + PFS_events_statements *pfs_statement= + &pfs_thread->m_statement_stack[statements_count - 1]; + pfs->m_nesting_event_id= pfs_statement->m_event_id; + pfs->m_nesting_event_type= pfs_statement->m_event_type; + } + else + { + pfs->m_nesting_event_id= 0; + /* pfs->m_nesting_event_type not used when m_nesting_event_id is 0 */ + } + + state->m_transaction= pfs; + flags|= STATE_FLAG_EVENT; + } + } + else + { + if (global_transaction_class.m_timed) + flags= STATE_FLAG_TIMED; + else + flags= 0; + } + + state->m_class= &global_transaction_class; + state->m_flags= flags; + state->m_autocommit= autocommit; + state->m_read_only= read_only; + state->m_savepoint_count= 0; + state->m_rollback_to_savepoint_count= 0; + state->m_release_savepoint_count= 0; + + return reinterpret_cast<PSI_transaction_locker*> (state); +} + +void pfs_start_transaction_v1(PSI_transaction_locker *locker, + const char *src_file, uint src_line) +{ + PSI_transaction_locker_state *state= reinterpret_cast<PSI_transaction_locker_state*> (locker); + DBUG_ASSERT(state != NULL); + + uint flags= state->m_flags; + ulonglong timer_start= 0; + + if (flags & STATE_FLAG_TIMED) + { + timer_start= get_timer_raw_value_and_function(transaction_timer, &state->m_timer); + state->m_timer_start= timer_start; + } + + if (flags & STATE_FLAG_EVENT) + { + PFS_events_transactions *pfs= reinterpret_cast<PFS_events_transactions*> (state->m_transaction); + DBUG_ASSERT(pfs != NULL); + + pfs->m_timer_start= timer_start; + pfs->m_source_file= src_file; + pfs->m_source_line= src_line; + pfs->m_state= TRANS_STATE_ACTIVE; + pfs->m_sid.clear(); + pfs->m_gtid_spec.set_automatic(); + } +} + +void pfs_set_transaction_gtid_v1(PSI_transaction_locker *locker, + const void *sid, + const void *gtid_spec) +{ + PSI_transaction_locker_state *state= reinterpret_cast<PSI_transaction_locker_state*> (locker); + DBUG_ASSERT(state != NULL); + DBUG_ASSERT(sid != NULL); + DBUG_ASSERT(gtid_spec != NULL); + + if (state->m_flags & STATE_FLAG_EVENT) + { + PFS_events_transactions *pfs= reinterpret_cast<PFS_events_transactions*> (state->m_transaction); + DBUG_ASSERT(pfs != NULL); + pfs->m_sid= *(rpl_sid *)sid; + pfs->m_gtid_spec= *(Gtid_specification *)gtid_spec; + } +} + +void pfs_set_transaction_xid_v1(PSI_transaction_locker *locker, + const void *xid, + int xa_state) +{ + PSI_transaction_locker_state *state= reinterpret_cast<PSI_transaction_locker_state*> (locker); + DBUG_ASSERT(state != NULL); + + if (state->m_flags & STATE_FLAG_EVENT) + { + PFS_events_transactions *pfs= reinterpret_cast<PFS_events_transactions*> (state->m_transaction); + DBUG_ASSERT(pfs != NULL); + DBUG_ASSERT(xid != NULL); + + pfs->m_xid= *(PSI_xid *)xid; + pfs->m_xa_state= (enum_xa_transaction_state)xa_state; + pfs->m_xa= true; + } + return; +} + +void pfs_set_transaction_xa_state_v1(PSI_transaction_locker *locker, + int xa_state) +{ + PSI_transaction_locker_state *state= reinterpret_cast<PSI_transaction_locker_state*> (locker); + DBUG_ASSERT(state != NULL); + + if (state->m_flags & STATE_FLAG_EVENT) + { + PFS_events_transactions *pfs= reinterpret_cast<PFS_events_transactions*> (state->m_transaction); + DBUG_ASSERT(pfs != NULL); + + pfs->m_xa_state= (enum_xa_transaction_state)xa_state; + pfs->m_xa= true; + } + return; +} + +void pfs_set_transaction_trxid_v1(PSI_transaction_locker *locker, + const ulonglong *trxid) +{ + DBUG_ASSERT(trxid != NULL); + + PSI_transaction_locker_state *state= reinterpret_cast<PSI_transaction_locker_state*> (locker); + DBUG_ASSERT(state != NULL); + + if (state->m_flags & STATE_FLAG_EVENT) + { + PFS_events_transactions *pfs= reinterpret_cast<PFS_events_transactions*> (state->m_transaction); + DBUG_ASSERT(pfs != NULL); + + if (pfs->m_trxid == 0) + pfs->m_trxid= *trxid; + } +} + +#define INC_TRANSACTION_ATTR_BODY(LOCKER, ATTR, VALUE) \ + PSI_transaction_locker_state *state; \ + state= reinterpret_cast<PSI_transaction_locker_state*> (LOCKER); \ + if (unlikely(state == NULL)) \ + return; \ + state->ATTR+= VALUE; \ + if (state->m_flags & STATE_FLAG_EVENT) \ + { \ + PFS_events_transactions *pfs; \ + pfs= reinterpret_cast<PFS_events_transactions*> (state->m_transaction); \ + DBUG_ASSERT(pfs != NULL); \ + pfs->ATTR+= VALUE; \ + } \ + return; + + +void pfs_inc_transaction_savepoints_v1(PSI_transaction_locker *locker, + ulong count) +{ + INC_TRANSACTION_ATTR_BODY(locker, m_savepoint_count, count); +} + +void pfs_inc_transaction_rollback_to_savepoint_v1(PSI_transaction_locker *locker, + ulong count) +{ + INC_TRANSACTION_ATTR_BODY(locker, m_rollback_to_savepoint_count, count); +} + +void pfs_inc_transaction_release_savepoint_v1(PSI_transaction_locker *locker, + ulong count) +{ + INC_TRANSACTION_ATTR_BODY(locker, m_release_savepoint_count, count); +} + +void pfs_end_transaction_v1(PSI_transaction_locker *locker, my_bool commit) +{ + PSI_transaction_locker_state *state= reinterpret_cast<PSI_transaction_locker_state*> (locker); + DBUG_ASSERT(state != NULL); + + ulonglong timer_end= 0; + ulonglong wait_time= 0; + uint flags= state->m_flags; + + if (flags & STATE_FLAG_TIMED) + { + timer_end= state->m_timer(); + wait_time= timer_end - state->m_timer_start; + } + + PFS_transaction_stat *stat; + + if (flags & STATE_FLAG_THREAD) + { + PFS_thread *pfs_thread= reinterpret_cast<PFS_thread *> (state->m_thread); + DBUG_ASSERT(pfs_thread != NULL); + + /* Aggregate to EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME */ + stat= &pfs_thread->write_instr_class_transactions_stats()[GLOBAL_TRANSACTION_INDEX]; + + if (flags & STATE_FLAG_EVENT) + { + PFS_events_transactions *pfs= reinterpret_cast<PFS_events_transactions*> (state->m_transaction); + DBUG_ASSERT(pfs != NULL); + + /* events_transactions_current may have been cleared while the transaction was active */ + if (unlikely(pfs->m_class == NULL)) + return; + + pfs->m_timer_end= timer_end; + pfs->m_end_event_id= pfs_thread->m_event_id; + + pfs->m_state= (commit ? TRANS_STATE_COMMITTED : TRANS_STATE_ROLLED_BACK); + + if (pfs->m_xa) + pfs->m_xa_state= (commit ? TRANS_STATE_XA_COMMITTED : TRANS_STATE_XA_ROLLBACK_ONLY); + + if (pfs_thread->m_flag_events_transactions_history) + insert_events_transactions_history(pfs_thread, pfs); + if (pfs_thread->m_flag_events_transactions_history_long) + insert_events_transactions_history_long(pfs); + } + } + else + { + /* Aggregate to EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME */ + stat= &global_transaction_stat; + } + + if (flags & STATE_FLAG_TIMED) + { + /* Aggregate to EVENTS_TRANSACTIONS_SUMMARY_..._BY_EVENT_NAME (timed) */ + if(state->m_read_only) + stat->m_read_only_stat.aggregate_value(wait_time); + else + stat->m_read_write_stat.aggregate_value(wait_time); + } + else + { + /* Aggregate to EVENTS_TRANSACTIONS_SUMMARY_..._BY_EVENT_NAME (counted) */ + if(state->m_read_only) + stat->m_read_only_stat.aggregate_counted(); + else + stat->m_read_write_stat.aggregate_counted(); + } + + stat->m_savepoint_count+= state->m_savepoint_count; + stat->m_rollback_to_savepoint_count+= state->m_rollback_to_savepoint_count; + stat->m_release_savepoint_count+= state->m_release_savepoint_count; +} + + /** Implementation of the socket instrumentation interface. @sa PSI_v1::end_socket_wait. */ -static void end_socket_wait_v1(PSI_socket_locker *locker, size_t byte_count) +void pfs_end_socket_wait_v1(PSI_socket_locker *locker, size_t byte_count) { PSI_socket_locker_state *state= reinterpret_cast<PSI_socket_locker_state*> (locker); DBUG_ASSERT(state != NULL); @@ -5003,7 +6156,7 @@ static void end_socket_wait_v1(PSI_socket_locker *locker, size_t byte_count) ulonglong timer_end= 0; ulonglong wait_time= 0; PFS_byte_stat *byte_stat; - register uint flags= state->m_flags; + uint flags= state->m_flags; size_t bytes= ((int)byte_count > -1 ? byte_count : 0); switch (state->m_operation) @@ -5065,15 +6218,15 @@ static void end_socket_wait_v1(PSI_socket_locker *locker, size_t byte_count) wait->m_end_event_id= thread->m_event_id; wait->m_number_of_bytes= bytes; - if (flag_events_waits_history) + if (thread->m_flag_events_waits_history) insert_events_waits_history(thread, wait); - if (flag_events_waits_history_long) + if (thread->m_flag_events_waits_history_long) insert_events_waits_history_long(wait); thread->m_events_waits_current--; } } -static void set_socket_state_v1(PSI_socket *socket, PSI_socket_state state) +void pfs_set_socket_state_v1(PSI_socket *socket, PSI_socket_state state) { DBUG_ASSERT((state == PSI_SOCKET_STATE_IDLE) || (state == PSI_SOCKET_STATE_ACTIVE)); PFS_socket *pfs= reinterpret_cast<PFS_socket*>(socket); @@ -5086,17 +6239,17 @@ static void set_socket_state_v1(PSI_socket *socket, PSI_socket_state state) /** Set socket descriptor and address info. */ -static void set_socket_info_v1(PSI_socket *socket, - const my_socket *fd, - const struct sockaddr *addr, - socklen_t addr_len) +void pfs_set_socket_info_v1(PSI_socket *socket, + const my_socket *fd, + const struct sockaddr *addr, + socklen_t addr_len) { PFS_socket *pfs= reinterpret_cast<PFS_socket*>(socket); DBUG_ASSERT(pfs != NULL); /** Set socket descriptor */ if (fd != NULL) - pfs->m_fd= *fd; + pfs->m_fd= (uint)*fd; /** Set raw socket address and length */ if (likely(addr != NULL && addr_len > 0)) @@ -5115,11 +6268,11 @@ static void set_socket_info_v1(PSI_socket *socket, Implementation of the socket instrumentation interface. @sa PSI_v1::set_socket_info. */ -static void set_socket_thread_owner_v1(PSI_socket *socket) +void pfs_set_socket_thread_owner_v1(PSI_socket *socket) { PFS_socket *pfs_socket= reinterpret_cast<PFS_socket*>(socket); DBUG_ASSERT(pfs_socket != NULL); - pfs_socket->m_thread_owner= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + pfs_socket->m_thread_owner= my_thread_get_THR_PFS(); } struct PSI_digest_locker* @@ -5156,30 +6309,86 @@ void pfs_digest_end_v1(PSI_digest_locker *locker, const sql_digest_storage *dige } } +PSI_prepared_stmt* +pfs_create_prepared_stmt_v1(void *identity, uint stmt_id, + PSI_statement_locker *locker, + const char *stmt_name, size_t stmt_name_length, + const char *sql_text, size_t sql_text_length) +{ + PSI_statement_locker_state *state= reinterpret_cast<PSI_statement_locker_state*> (locker); + PFS_events_statements *pfs_stmt= reinterpret_cast<PFS_events_statements*> (state->m_statement); + PFS_program *pfs_program= reinterpret_cast<PFS_program *>(state->m_parent_sp_share); + + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (unlikely(pfs_thread == NULL)) + return NULL; + + if (sql_text_length > COL_INFO_SIZE) + sql_text_length= COL_INFO_SIZE; + + PFS_prepared_stmt *pfs= create_prepared_stmt(identity, + pfs_thread, pfs_program, + pfs_stmt, stmt_id, + stmt_name, stmt_name_length, + sql_text, sql_text_length); + + state->m_parent_prepared_stmt= reinterpret_cast<PSI_prepared_stmt*>(pfs); + state->m_in_prepare= true; + + return reinterpret_cast<PSI_prepared_stmt*>(pfs); +} + +void pfs_execute_prepared_stmt_v1 (PSI_statement_locker *locker, + PSI_prepared_stmt* ps) +{ + PSI_statement_locker_state *state= reinterpret_cast<PSI_statement_locker_state*> (locker); + DBUG_ASSERT(state != NULL); + + state->m_parent_prepared_stmt= ps; + state->m_in_prepare= false; +} + +void pfs_destroy_prepared_stmt_v1(PSI_prepared_stmt* prepared_stmt) +{ + PFS_prepared_stmt *pfs_prepared_stmt= reinterpret_cast<PFS_prepared_stmt*>(prepared_stmt); + delete_prepared_stmt(pfs_prepared_stmt); + return; +} + +void pfs_reprepare_prepared_stmt_v1(PSI_prepared_stmt* prepared_stmt) +{ + PFS_prepared_stmt *pfs_prepared_stmt= reinterpret_cast<PFS_prepared_stmt*>(prepared_stmt); + PFS_single_stat *prepared_stmt_stat= &pfs_prepared_stmt->m_reprepare_stat; + + if (prepared_stmt_stat != NULL) + prepared_stmt_stat->aggregate_counted(); + return; +} + /** Implementation of the thread attribute connection interface @sa PSI_v1::set_thread_connect_attr. */ -static int set_thread_connect_attrs_v1(const char *buffer, uint length, - const void *from_cs) +int pfs_set_thread_connect_attrs_v1(const char *buffer, uint length, + const void *from_cs) { - - PFS_thread *thd= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); + PFS_thread *thd= my_thread_get_THR_PFS(); DBUG_ASSERT(buffer != NULL); if (likely(thd != NULL) && session_connect_attrs_size_per_thread > 0) { + pfs_dirty_state dirty_state; const CHARSET_INFO *cs = static_cast<const CHARSET_INFO *> (from_cs); /* copy from the input buffer as much as we can fit */ uint copy_size= (uint)(length < session_connect_attrs_size_per_thread ? length : session_connect_attrs_size_per_thread); - thd->m_session_lock.allocated_to_dirty(); + thd->m_session_lock.allocated_to_dirty(& dirty_state); memcpy(thd->m_session_connect_attrs, buffer, copy_size); thd->m_session_connect_attrs_length= copy_size; thd->m_session_connect_attrs_cs_number= cs->number; - thd->m_session_lock.dirty_to_allocated(); + thd->m_session_lock.dirty_to_allocated(& dirty_state); if (copy_size == length) return 0; @@ -5190,6 +6399,510 @@ static int set_thread_connect_attrs_v1(const char *buffer, uint length, return 0; } +void pfs_register_memory_v1(const char *category, + PSI_memory_info_v1 *info, + int count) +{ + REGISTER_BODY_V1(PSI_memory_key, + memory_instrument_prefix, + register_memory_class) +} + +PSI_memory_key pfs_memory_alloc_v1(PSI_memory_key key, size_t size, PSI_thread **owner) +{ + PFS_thread ** owner_thread= reinterpret_cast<PFS_thread**>(owner); + DBUG_ASSERT(owner_thread != NULL); + + if (! flag_global_instrumentation) + { + *owner_thread= NULL; + return PSI_NOT_INSTRUMENTED; + } + + PFS_memory_class *klass= find_memory_class(key); + if (klass == NULL) + { + *owner_thread= NULL; + return PSI_NOT_INSTRUMENTED; + } + + if (! klass->m_enabled) + { + *owner_thread= NULL; + return PSI_NOT_INSTRUMENTED; + } + + PFS_memory_stat *event_name_array; + PFS_memory_stat *stat; + uint index= klass->m_event_name_index; + PFS_memory_stat_delta delta_buffer; + PFS_memory_stat_delta *delta; + + if (flag_thread_instrumentation && ! klass->is_global()) + { + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (unlikely(pfs_thread == NULL)) + { + *owner_thread= NULL; + return PSI_NOT_INSTRUMENTED; + } + if (! pfs_thread->m_enabled) + { + *owner_thread= NULL; + return PSI_NOT_INSTRUMENTED; + } + + /* Aggregate to MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME */ + event_name_array= pfs_thread->write_instr_class_memory_stats(); + stat= & event_name_array[index]; + delta= stat->count_alloc(size, &delta_buffer); + + if (delta != NULL) + { + pfs_thread->carry_memory_stat_delta(delta, index); + } + + /* Flag this memory as owned by the current thread. */ + *owner_thread= pfs_thread; + } + else + { + /* Aggregate to MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME */ + event_name_array= global_instr_class_memory_array; + stat= & event_name_array[index]; + (void) stat->count_alloc(size, &delta_buffer); + + *owner_thread= NULL; + } + + return key; +} + +PSI_memory_key pfs_memory_realloc_v1(PSI_memory_key key, size_t old_size, size_t new_size, PSI_thread **owner) +{ + PFS_thread ** owner_thread_hdl= reinterpret_cast<PFS_thread**>(owner); + DBUG_ASSERT(owner != NULL); + + PFS_memory_class *klass= find_memory_class(key); + if (klass == NULL) + { + *owner_thread_hdl= NULL; + return PSI_NOT_INSTRUMENTED; + } + + PFS_memory_stat *event_name_array; + PFS_memory_stat *stat; + uint index= klass->m_event_name_index; + PFS_memory_stat_delta delta_buffer; + PFS_memory_stat_delta *delta; + + if (flag_thread_instrumentation && ! klass->is_global()) + { + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (likely(pfs_thread != NULL)) + { +#ifdef PFS_PARANOID + PFS_thread *owner_thread= *owner_thread_hdl; + if (owner_thread != pfs_thread) + { + owner_thread= sanitize_thread(owner_thread); + if (owner_thread != NULL) + { + report_memory_accounting_error("pfs_memory_realloc_v1", + pfs_thread, old_size, klass, owner_thread); + } + } +#endif /* PFS_PARANOID */ + + /* Aggregate to MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME */ + event_name_array= pfs_thread->write_instr_class_memory_stats(); + stat= & event_name_array[index]; + + if (flag_global_instrumentation && klass->m_enabled) + { + delta= stat->count_realloc(old_size, new_size, &delta_buffer); + *owner_thread_hdl= pfs_thread; + } + else + { + delta= stat->count_free(old_size, &delta_buffer); + *owner_thread_hdl= NULL; + key= PSI_NOT_INSTRUMENTED; + } + + if (delta != NULL) + { + pfs_thread->carry_memory_stat_delta(delta, index); + } + return key; + } + } + + /* Aggregate to MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME */ + event_name_array= global_instr_class_memory_array; + stat= & event_name_array[index]; + + if (flag_global_instrumentation && klass->m_enabled) + { + (void) stat->count_realloc(old_size, new_size, &delta_buffer); + } + else + { + (void) stat->count_free(old_size, &delta_buffer); + key= PSI_NOT_INSTRUMENTED; + } + + *owner_thread_hdl= NULL; + return key; +} + +PSI_memory_key pfs_memory_claim_v1(PSI_memory_key key, size_t size, PSI_thread **owner) +{ + PFS_thread ** owner_thread= reinterpret_cast<PFS_thread**>(owner); + DBUG_ASSERT(owner_thread != NULL); + + PFS_memory_class *klass= find_memory_class(key); + if (klass == NULL) + { + *owner_thread= NULL; + return PSI_NOT_INSTRUMENTED; + } + + /* + Do not check klass->m_enabled. + Do not check flag_global_instrumentation. + If a memory alloc was instrumented, + the corresponding free must be instrumented. + */ + + PFS_memory_stat *event_name_array; + PFS_memory_stat *stat; + uint index= klass->m_event_name_index; + PFS_memory_stat_delta delta_buffer; + PFS_memory_stat_delta *delta; + + if (flag_thread_instrumentation) + { + PFS_thread *old_thread= sanitize_thread(*owner_thread); + PFS_thread *new_thread= my_thread_get_THR_PFS(); + if (old_thread != new_thread) + { + if (old_thread != NULL) + { + event_name_array= old_thread->write_instr_class_memory_stats(); + stat= & event_name_array[index]; + delta= stat->count_free(size, &delta_buffer); + + if (delta != NULL) + { + old_thread->carry_memory_stat_delta(delta, index); + } + } + + if (new_thread != NULL) + { + event_name_array= new_thread->write_instr_class_memory_stats(); + stat= & event_name_array[index]; + delta= stat->count_alloc(size, &delta_buffer); + + if (delta != NULL) + { + new_thread->carry_memory_stat_delta(delta, index); + } + } + + *owner_thread= new_thread; + } + + return key; + } + + *owner_thread= NULL; + return key; +} + +void pfs_memory_free_v1(PSI_memory_key key, size_t size, PSI_thread *owner) +{ + PFS_memory_class *klass= find_memory_class(key); + if (klass == NULL) + return; + + /* + Do not check klass->m_enabled. + Do not check flag_global_instrumentation. + If a memory alloc was instrumented, + the corresponding free must be instrumented. + */ + + PFS_memory_stat *event_name_array; + PFS_memory_stat *stat; + uint index= klass->m_event_name_index; + PFS_memory_stat_delta delta_buffer; + PFS_memory_stat_delta *delta; + + if (flag_thread_instrumentation && ! klass->is_global()) + { + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (likely(pfs_thread != NULL)) + { +#ifdef PFS_PARANOID + PFS_thread *owner_thread= reinterpret_cast<PFS_thread*>(owner); + + if (owner_thread != pfs_thread) + { + owner_thread= sanitize_thread(owner_thread); + if (owner_thread != NULL) + { + report_memory_accounting_error("pfs_memory_free_v1", + pfs_thread, size, klass, owner_thread); + } + } +#endif /* PFS_PARANOID */ + + /* + Do not check pfs_thread->m_enabled. + If a memory alloc was instrumented, + the corresponding free must be instrumented. + */ + /* Aggregate to MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME */ + event_name_array= pfs_thread->write_instr_class_memory_stats(); + stat= & event_name_array[index]; + delta= stat->count_free(size, &delta_buffer); + + if (delta != NULL) + { + pfs_thread->carry_memory_stat_delta(delta, index); + } + return; + } + } + + /* Aggregate to MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME */ + event_name_array= global_instr_class_memory_array; + if (event_name_array) + { + stat= & event_name_array[index]; + (void) stat->count_free(size, &delta_buffer); + } + return; +} + +void pfs_unlock_table_v1(PSI_table *table) +{ + PFS_table *pfs_table= reinterpret_cast<PFS_table*> (table); + + DBUG_ASSERT(pfs_table != NULL); + + pfs_table->m_internal_lock= PFS_TL_NONE; + return; +} + +PSI_metadata_lock * +pfs_create_metadata_lock_v1( + void *identity, + const MDL_key *mdl_key, + opaque_mdl_type mdl_type, + opaque_mdl_duration mdl_duration, + opaque_mdl_status mdl_status, + const char *src_file, + uint src_line) +{ + if (! flag_global_instrumentation) + return NULL; + + if (! global_metadata_class.m_enabled) + return NULL; + + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (pfs_thread == NULL) + return NULL; + + PFS_metadata_lock *pfs; + pfs= create_metadata_lock(identity, mdl_key, + mdl_type, mdl_duration, mdl_status, + src_file, src_line); + + if (pfs != NULL) + { + pfs->m_owner_thread_id= pfs_thread->m_thread_internal_id; + pfs->m_owner_event_id= pfs_thread->m_event_id; + } + + return reinterpret_cast<PSI_metadata_lock *> (pfs); +} + +void +pfs_set_metadata_lock_status_v1(PSI_metadata_lock *lock, opaque_mdl_status mdl_status) +{ + PFS_metadata_lock *pfs= reinterpret_cast<PFS_metadata_lock*> (lock); + DBUG_ASSERT(pfs != NULL); + pfs->m_mdl_status= mdl_status; +} + +void +pfs_destroy_metadata_lock_v1(PSI_metadata_lock *lock) +{ + PFS_metadata_lock *pfs= reinterpret_cast<PFS_metadata_lock*> (lock); + DBUG_ASSERT(pfs != NULL); + destroy_metadata_lock(pfs); +} + +PSI_metadata_locker * +pfs_start_metadata_wait_v1(PSI_metadata_locker_state *state, + PSI_metadata_lock *lock, + const char *src_file, + uint src_line) +{ + PFS_metadata_lock *pfs_lock= reinterpret_cast<PFS_metadata_lock*> (lock); + DBUG_ASSERT(state != NULL); + DBUG_ASSERT(pfs_lock != NULL); + + if (! pfs_lock->m_enabled) + return NULL; + + uint flags; + ulonglong timer_start= 0; + + if (flag_thread_instrumentation) + { + PFS_thread *pfs_thread= my_thread_get_THR_PFS(); + if (unlikely(pfs_thread == NULL)) + return NULL; + if (! pfs_thread->m_enabled) + return NULL; + state->m_thread= reinterpret_cast<PSI_thread *> (pfs_thread); + flags= STATE_FLAG_THREAD; + + if (pfs_lock->m_timed) + { + timer_start= get_timer_raw_value_and_function(wait_timer, & state->m_timer); + state->m_timer_start= timer_start; + flags|= STATE_FLAG_TIMED; + } + + if (flag_events_waits_current) + { + if (unlikely(pfs_thread->m_events_waits_current >= + & pfs_thread->m_events_waits_stack[WAIT_STACK_SIZE])) + { + locker_lost++; + return NULL; + } + PFS_events_waits *wait= pfs_thread->m_events_waits_current; + state->m_wait= wait; + flags|= STATE_FLAG_EVENT; + + 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_internal_id= pfs_thread->m_thread_internal_id; + wait->m_class= &global_metadata_class; + wait->m_timer_start= timer_start; + wait->m_timer_end= 0; + wait->m_object_instance_addr= pfs_lock->m_identity; + wait->m_event_id= pfs_thread->m_event_id++; + wait->m_end_event_id= 0; + wait->m_weak_metadata_lock= pfs_lock; + wait->m_weak_version= pfs_lock->get_version(); + wait->m_operation= OPERATION_TYPE_METADATA; + wait->m_source_file= src_file; + wait->m_source_line= src_line; + wait->m_wait_class= WAIT_CLASS_METADATA; + + pfs_thread->m_events_waits_current++; + } + } + else + { + if (pfs_lock->m_timed) + { + timer_start= get_timer_raw_value_and_function(wait_timer, & state->m_timer); + state->m_timer_start= timer_start; + flags= STATE_FLAG_TIMED; + state->m_thread= NULL; + } + else + { + /* + Complete shortcut. + */ + /* Aggregate to EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME (counted) */ + global_metadata_stat.aggregate_counted(); + return NULL; + } + } + + state->m_flags= flags; + state->m_metadata_lock= lock; + return reinterpret_cast<PSI_metadata_locker*> (state); +} + +void +pfs_end_metadata_wait_v1(PSI_metadata_locker *locker, + int rc) +{ + PSI_metadata_locker_state *state= reinterpret_cast<PSI_metadata_locker_state*> (locker); + DBUG_ASSERT(state != NULL); + + ulonglong timer_end= 0; + ulonglong wait_time= 0; + + PFS_thread *thread= reinterpret_cast<PFS_thread *> (state->m_thread); + + uint flags= state->m_flags; + + if (flags & STATE_FLAG_TIMED) + { + timer_end= state->m_timer(); + wait_time= timer_end - state->m_timer_start; + } + + if (flags & STATE_FLAG_THREAD) + { + PFS_single_stat *event_name_array; + event_name_array= thread->write_instr_class_waits_stats(); + + if (flags & STATE_FLAG_TIMED) + { + /* Aggregate to EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME (timed) */ + event_name_array[GLOBAL_METADATA_EVENT_INDEX].aggregate_value(wait_time); + } + else + { + /* Aggregate to EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME (counted) */ + event_name_array[GLOBAL_METADATA_EVENT_INDEX].aggregate_counted(); + } + + if (flags & STATE_FLAG_EVENT) + { + PFS_events_waits *wait= reinterpret_cast<PFS_events_waits*> (state->m_wait); + DBUG_ASSERT(wait != NULL); + + wait->m_timer_end= timer_end; + wait->m_end_event_id= thread->m_event_id; + if (thread->m_flag_events_waits_history) + insert_events_waits_history(thread, wait); + if (thread->m_flag_events_waits_history_long) + insert_events_waits_history_long(wait); + thread->m_events_waits_current--; + } + } + else + { + if (flags & STATE_FLAG_TIMED) + { + /* Aggregate to EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME (timed) */ + global_metadata_stat.aggregate_value(wait_time); + } + else + { + /* Aggregate to EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME (counted) */ + global_metadata_stat.aggregate_counted(); + } + } +} /** Implementation of the instrumentation interface. @@ -5197,103 +6910,138 @@ static int set_thread_connect_attrs_v1(const char *buffer, uint length, */ PSI_v1 PFS_v1= { - register_mutex_v1, - register_rwlock_v1, - register_cond_v1, - register_thread_v1, - register_file_v1, - register_stage_v1, - register_statement_v1, - register_socket_v1, - init_mutex_v1, - destroy_mutex_v1, - init_rwlock_v1, - destroy_rwlock_v1, - init_cond_v1, - destroy_cond_v1, - init_socket_v1, - destroy_socket_v1, - get_table_share_v1, - release_table_share_v1, - drop_table_share_v1, - open_table_v1, - unbind_table_v1, - rebind_table_v1, - close_table_v1, - create_file_v1, - spawn_thread_v1, - new_thread_v1, - set_thread_id_v1, - get_thread_v1, - set_thread_user_v1, - set_thread_account_v1, - set_thread_db_v1, - set_thread_command_v1, - set_thread_start_time_v1, - set_thread_state_v1, - set_thread_info_v1, - set_thread_v1, - delete_current_thread_v1, - delete_thread_v1, - get_thread_file_name_locker_v1, - get_thread_file_stream_locker_v1, - get_thread_file_descriptor_locker_v1, - unlock_mutex_v1, - unlock_rwlock_v1, - signal_cond_v1, - broadcast_cond_v1, - start_idle_wait_v1, - end_idle_wait_v1, - start_mutex_wait_v1, - end_mutex_wait_v1, - start_rwlock_wait_v1, /* read */ - end_rwlock_rdwait_v1, - start_rwlock_wait_v1, /* write */ - end_rwlock_wrwait_v1, - start_cond_wait_v1, - end_cond_wait_v1, - start_table_io_wait_v1, - end_table_io_wait_v1, - start_table_lock_wait_v1, - end_table_lock_wait_v1, - start_file_open_wait_v1, - end_file_open_wait_v1, - end_file_open_wait_and_bind_to_descriptor_v1, - start_file_wait_v1, - end_file_wait_v1, - start_file_close_wait_v1, - end_file_close_wait_v1, - start_stage_v1, - end_stage_v1, - get_thread_statement_locker_v1, - refine_statement_v1, - start_statement_v1, - set_statement_text_v1, - set_statement_lock_time_v1, - set_statement_rows_sent_v1, - set_statement_rows_examined_v1, - inc_statement_created_tmp_disk_tables_v1, - inc_statement_created_tmp_tables_v1, - inc_statement_select_full_join_v1, - inc_statement_select_full_range_join_v1, - inc_statement_select_range_v1, - inc_statement_select_range_check_v1, - inc_statement_select_scan_v1, - inc_statement_sort_merge_passes_v1, - inc_statement_sort_range_v1, - inc_statement_sort_rows_v1, - inc_statement_sort_scan_v1, - set_statement_no_index_used_v1, - set_statement_no_good_index_used_v1, - end_statement_v1, - start_socket_wait_v1, - end_socket_wait_v1, - set_socket_state_v1, - set_socket_info_v1, - set_socket_thread_owner_v1, + pfs_register_mutex_v1, + pfs_register_rwlock_v1, + pfs_register_cond_v1, + pfs_register_thread_v1, + pfs_register_file_v1, + pfs_register_stage_v1, + pfs_register_statement_v1, + pfs_register_socket_v1, + pfs_init_mutex_v1, + pfs_destroy_mutex_v1, + pfs_init_rwlock_v1, + pfs_destroy_rwlock_v1, + pfs_init_cond_v1, + pfs_destroy_cond_v1, + pfs_init_socket_v1, + pfs_destroy_socket_v1, + pfs_get_table_share_v1, + pfs_release_table_share_v1, + pfs_drop_table_share_v1, + pfs_open_table_v1, + pfs_unbind_table_v1, + pfs_rebind_table_v1, + pfs_close_table_v1, + pfs_create_file_v1, + pfs_spawn_thread_v1, + pfs_new_thread_v1, + pfs_set_thread_id_v1, + pfs_set_thread_THD_v1, + pfs_set_thread_os_id_v1, + pfs_get_thread_v1, + pfs_set_thread_user_v1, + pfs_set_thread_account_v1, + pfs_set_thread_db_v1, + pfs_set_thread_command_v1, + pfs_set_connection_type_v1, + pfs_set_thread_start_time_v1, + pfs_set_thread_state_v1, + pfs_set_thread_info_v1, + pfs_set_thread_v1, + pfs_delete_current_thread_v1, + pfs_delete_thread_v1, + pfs_get_thread_file_name_locker_v1, + pfs_get_thread_file_stream_locker_v1, + pfs_get_thread_file_descriptor_locker_v1, + pfs_unlock_mutex_v1, + pfs_unlock_rwlock_v1, + pfs_signal_cond_v1, + pfs_broadcast_cond_v1, + pfs_start_idle_wait_v1, + pfs_end_idle_wait_v1, + pfs_start_mutex_wait_v1, + pfs_end_mutex_wait_v1, + pfs_start_rwlock_rdwait_v1, + pfs_end_rwlock_rdwait_v1, + pfs_start_rwlock_wrwait_v1, + pfs_end_rwlock_wrwait_v1, + pfs_start_cond_wait_v1, + pfs_end_cond_wait_v1, + pfs_start_table_io_wait_v1, + pfs_end_table_io_wait_v1, + pfs_start_table_lock_wait_v1, + pfs_end_table_lock_wait_v1, + pfs_start_file_open_wait_v1, + pfs_end_file_open_wait_v1, + pfs_end_file_open_wait_and_bind_to_descriptor_v1, + pfs_end_temp_file_open_wait_and_bind_to_descriptor_v1, + pfs_start_file_wait_v1, + pfs_end_file_wait_v1, + pfs_start_file_close_wait_v1, + pfs_end_file_close_wait_v1, + pfs_start_stage_v1, + pfs_get_current_stage_progress_v1, + pfs_end_stage_v1, + pfs_get_thread_statement_locker_v1, + pfs_refine_statement_v1, + pfs_start_statement_v1, + pfs_set_statement_text_v1, + pfs_set_statement_lock_time_v1, + pfs_set_statement_rows_sent_v1, + pfs_set_statement_rows_examined_v1, + pfs_inc_statement_created_tmp_disk_tables_v1, + pfs_inc_statement_created_tmp_tables_v1, + pfs_inc_statement_select_full_join_v1, + pfs_inc_statement_select_full_range_join_v1, + pfs_inc_statement_select_range_v1, + pfs_inc_statement_select_range_check_v1, + pfs_inc_statement_select_scan_v1, + pfs_inc_statement_sort_merge_passes_v1, + pfs_inc_statement_sort_range_v1, + pfs_inc_statement_sort_rows_v1, + pfs_inc_statement_sort_scan_v1, + pfs_set_statement_no_index_used_v1, + pfs_set_statement_no_good_index_used_v1, + pfs_end_statement_v1, + pfs_get_thread_transaction_locker_v1, + pfs_start_transaction_v1, + pfs_set_transaction_xid_v1, + pfs_set_transaction_xa_state_v1, + pfs_set_transaction_gtid_v1, + pfs_set_transaction_trxid_v1, + pfs_inc_transaction_savepoints_v1, + pfs_inc_transaction_rollback_to_savepoint_v1, + pfs_inc_transaction_release_savepoint_v1, + pfs_end_transaction_v1, + pfs_start_socket_wait_v1, + pfs_end_socket_wait_v1, + pfs_set_socket_state_v1, + pfs_set_socket_info_v1, + pfs_set_socket_thread_owner_v1, + pfs_create_prepared_stmt_v1, + pfs_destroy_prepared_stmt_v1, + pfs_reprepare_prepared_stmt_v1, + pfs_execute_prepared_stmt_v1, pfs_digest_start_v1, pfs_digest_end_v1, - set_thread_connect_attrs_v1, + pfs_set_thread_connect_attrs_v1, + pfs_start_sp_v1, + pfs_end_sp_v1, + pfs_drop_sp_v1, + pfs_get_sp_share_v1, + pfs_release_sp_share_v1, + pfs_register_memory_v1, + pfs_memory_alloc_v1, + pfs_memory_realloc_v1, + pfs_memory_claim_v1, + pfs_memory_free_v1, + pfs_unlock_table_v1, + pfs_create_metadata_lock_v1, + pfs_set_metadata_lock_status_v1, + pfs_destroy_metadata_lock_v1, + pfs_start_metadata_wait_v1, + pfs_end_metadata_wait_v1 }; static void* get_interface(int version) diff --git a/storage/perfschema/pfs.h b/storage/perfschema/pfs.h index 5f543d80375..811c27006ae 100644 --- a/storage/perfschema/pfs.h +++ b/storage/perfschema/pfs.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,7 +24,8 @@ #define HAVE_PSI_1 #include <my_global.h> -#include <my_pthread.h> +#include <my_thread.h> +#include <my_thread_local.h> #include <mysql/psi/psi.h> /** @@ -33,9 +34,24 @@ */ extern struct PSI_bootstrap PFS_bootstrap; /** Performance schema Thread Local Storage key. */ -extern pthread_key(PFS_thread*, THR_PFS); -/** True when @c THR_PFS is initialized. */ +extern thread_local_key_t THR_PFS; +extern thread_local_key_t THR_PFS_VG; // global_variables +extern thread_local_key_t THR_PFS_SV; // session_variables +extern thread_local_key_t THR_PFS_VBT; // variables_by_thread +extern thread_local_key_t THR_PFS_SG; // global_status +extern thread_local_key_t THR_PFS_SS; // session_status +extern thread_local_key_t THR_PFS_SBT; // status_by_thread +extern thread_local_key_t THR_PFS_SBU; // status_by_user +extern thread_local_key_t THR_PFS_SBA; // status_by_host +extern thread_local_key_t THR_PFS_SBH; // status_by_account + +/** True when @c THR_PFS and all other Performance Schema TLS keys are initialized. */ extern bool THR_PFS_initialized; +#define PSI_VOLATILITY_UNKNOWN 0 +#define PSI_VOLATILITY_SESSION 1 + +#define PSI_COUNT_VOLATILITY 2 + #endif diff --git a/storage/perfschema/pfs_account.cc b/storage/perfschema/pfs_account.cc index 8650a9340b1..e8d36f8fdb5 100644 --- a/storage/perfschema/pfs_account.cc +++ b/storage/perfschema/pfs_account.cc @@ -15,7 +15,7 @@ /** @file storage/perfschema/pfs_account.cc - Performance schema user@host (implementation). + Performance schema account (implementation). */ #include "my_global.h" @@ -30,21 +30,13 @@ #include "pfs_account.h" #include "pfs_global.h" #include "pfs_instr_class.h" +#include "pfs_buffer_container.h" /** @addtogroup Performance_schema_buffers @{ */ -ulong account_max; -ulong account_lost; - -PFS_account *account_array= NULL; - -static PFS_single_stat *account_instr_class_waits_array= NULL; -static PFS_stage_stat *account_instr_class_stages_array= NULL; -static PFS_statement_stat *account_instr_class_statements_array= NULL; - LF_HASH account_hash; static bool account_hash_inited= false; @@ -55,71 +47,16 @@ static bool account_hash_inited= false; */ int init_account(const PFS_global_param *param) { - uint index; - - account_max= param->m_account_sizing; - - account_array= NULL; - account_instr_class_waits_array= NULL; - account_instr_class_stages_array= NULL; - account_instr_class_statements_array= NULL; - uint waits_sizing= account_max * wait_class_max; - uint stages_sizing= account_max * stage_class_max; - uint statements_sizing= account_max * statement_class_max; - - if (account_max > 0) - { - account_array= PFS_MALLOC_ARRAY(account_max, sizeof(PFS_account), PFS_account, - MYF(MY_ZEROFILL)); - if (unlikely(account_array == NULL)) - return 1; - } - - if (waits_sizing > 0) - { - account_instr_class_waits_array= - PFS_connection_slice::alloc_waits_slice(waits_sizing); - if (unlikely(account_instr_class_waits_array == NULL)) - return 1; - } - - if (stages_sizing > 0) - { - account_instr_class_stages_array= - PFS_connection_slice::alloc_stages_slice(stages_sizing); - if (unlikely(account_instr_class_stages_array == NULL)) - return 1; - } - - if (statements_sizing > 0) - { - account_instr_class_statements_array= - PFS_connection_slice::alloc_statements_slice(statements_sizing); - if (unlikely(account_instr_class_statements_array == NULL)) - return 1; - } - - for (index= 0; index < account_max; index++) - { - account_array[index].m_instr_class_waits_stats= - &account_instr_class_waits_array[index * wait_class_max]; - account_array[index].m_instr_class_stages_stats= - &account_instr_class_stages_array[index * stage_class_max]; - account_array[index].m_instr_class_statements_stats= - &account_instr_class_statements_array[index * statement_class_max]; - } + if (global_account_container.init(param->m_account_sizing)) + return 1; return 0; } -/** Cleanup all the user buffers. */ +/** Cleanup all the account buffers. */ void cleanup_account(void) { - pfs_free(account_array); - account_array= NULL; - pfs_free(account_instr_class_waits_array); - account_instr_class_waits_array= NULL; - account_max= 0; + global_account_container.cleanup(); } C_MODE_START @@ -143,13 +80,12 @@ C_MODE_END Initialize the user hash. @return 0 on success */ -int init_account_hash(void) +int init_account_hash(const PFS_global_param *param) { - if ((! account_hash_inited) && (account_max > 0)) + if ((! account_hash_inited) && (param->m_account_sizing != 0)) { lf_hash_init(&account_hash, sizeof(PFS_account*), LF_HASH_UNIQUE, 0, 0, account_hash_get_key, &my_charset_bin); - account_hash.size= account_max; account_hash_inited= true; } return 0; @@ -206,16 +142,10 @@ find_or_create_account(PFS_thread *thread, const char *username, uint username_length, const char *hostname, uint hostname_length) { - if (account_max == 0) - { - account_lost++; - return NULL; - } - LF_PINS *pins= get_account_hash_pins(thread); if (unlikely(pins == NULL)) { - account_lost++; + global_account_container.m_lost++; return NULL; } @@ -224,8 +154,10 @@ find_or_create_account(PFS_thread *thread, hostname, hostname_length); PFS_account **entry; + PFS_account *pfs; uint retry_count= 0; const uint retry_max= 3; + pfs_dirty_state dirty_state; search: entry= reinterpret_cast<PFS_account**> @@ -233,7 +165,6 @@ search: key.m_hash_key, key.m_key_length)); if (entry && (entry != MY_ERRPTR)) { - PFS_account *pfs; pfs= *entry; pfs->inc_refcount(); lf_hash_search_unpin(pins); @@ -242,93 +173,94 @@ search: lf_hash_search_unpin(pins); - PFS_scan scan; - uint random= randomized_index(username, account_max); - - for (scan.init(random, account_max); - scan.has_pass(); - scan.next_pass()) + pfs= global_account_container.allocate(& dirty_state); + if (pfs != NULL) { - PFS_account *pfs= account_array + scan.first(); - PFS_account *pfs_last= account_array + scan.last(); - for ( ; pfs < pfs_last; pfs++) + pfs->m_key= key; + if (username_length > 0) + pfs->m_username= &pfs->m_key.m_hash_key[0]; + else + pfs->m_username= NULL; + pfs->m_username_length= username_length; + + if (hostname_length > 0) + pfs->m_hostname= &pfs->m_key.m_hash_key[username_length + 1]; + else + pfs->m_hostname= NULL; + pfs->m_hostname_length= hostname_length; + + pfs->m_user= find_or_create_user(thread, username, username_length); + pfs->m_host= find_or_create_host(thread, hostname, hostname_length); + + pfs->init_refcount(); + pfs->reset_stats(); + pfs->m_disconnected_count= 0; + + if (username_length > 0 && hostname_length > 0) + { + lookup_setup_actor(thread, username, username_length, hostname, hostname_length, + & pfs->m_enabled, & pfs->m_history); + } + else { - if (pfs->m_lock.is_free()) + pfs->m_enabled= true; + pfs->m_history= true; + } + + int res; + pfs->m_lock.dirty_to_allocated(& dirty_state); + res= lf_hash_insert(&account_hash, pins, &pfs); + if (likely(res == 0)) + { + return pfs; + } + + if (pfs->m_user) + { + pfs->m_user->release(); + pfs->m_user= NULL; + } + if (pfs->m_host) + { + pfs->m_host->release(); + pfs->m_host= NULL; + } + + global_account_container.deallocate(pfs); + + if (res > 0) + { + if (++retry_count > retry_max) { - if (pfs->m_lock.free_to_dirty()) - { - pfs->m_key= key; - if (username_length > 0) - pfs->m_username= &pfs->m_key.m_hash_key[0]; - else - pfs->m_username= NULL; - pfs->m_username_length= username_length; - - if (hostname_length > 0) - pfs->m_hostname= &pfs->m_key.m_hash_key[username_length + 1]; - else - pfs->m_hostname= NULL; - pfs->m_hostname_length= hostname_length; - - pfs->m_user= find_or_create_user(thread, username, username_length); - pfs->m_host= find_or_create_host(thread, hostname, hostname_length); - - pfs->init_refcount(); - pfs->reset_stats(); - pfs->m_disconnected_count= 0; - - int res; - res= lf_hash_insert(&account_hash, pins, &pfs); - if (likely(res == 0)) - { - pfs->m_lock.dirty_to_allocated(); - return pfs; - } - - if (pfs->m_user) - { - pfs->m_user->release(); - pfs->m_user= NULL; - } - if (pfs->m_host) - { - pfs->m_host->release(); - pfs->m_host= NULL; - } - - pfs->m_lock.dirty_to_free(); - - if (res > 0) - { - if (++retry_count > retry_max) - { - account_lost++; - return NULL; - } - goto search; - } - - account_lost++; - return NULL; - } + global_account_container.m_lost++; + return NULL; } + goto search; } + + global_account_container.m_lost++; + return NULL; } - account_lost++; return NULL; } -void PFS_account::aggregate(PFS_user *safe_user, PFS_host *safe_host) +void PFS_account::aggregate(bool alive, PFS_user *safe_user, PFS_host *safe_host) { aggregate_waits(safe_user, safe_host); aggregate_stages(safe_user, safe_host); aggregate_statements(safe_user, safe_host); + aggregate_transactions(safe_user, safe_host); + aggregate_memory(alive, safe_user, safe_host); + aggregate_status(safe_user, safe_host); aggregate_stats(safe_user, safe_host); } void PFS_account::aggregate_waits(PFS_user *safe_user, PFS_host *safe_host) { + if (read_instr_class_waits_stats() == NULL) + return; + if (likely(safe_user != NULL && safe_host != NULL)) { /* @@ -337,9 +269,9 @@ void PFS_account::aggregate_waits(PFS_user *safe_user, PFS_host *safe_host) - EVENTS_WAITS_SUMMARY_BY_HOST_BY_EVENT_NAME in parallel. */ - aggregate_all_event_names(m_instr_class_waits_stats, - safe_user->m_instr_class_waits_stats, - safe_host->m_instr_class_waits_stats); + aggregate_all_event_names(write_instr_class_waits_stats(), + safe_user->write_instr_class_waits_stats(), + safe_host->write_instr_class_waits_stats()); return; } @@ -349,8 +281,8 @@ void PFS_account::aggregate_waits(PFS_user *safe_user, PFS_host *safe_host) Aggregate EVENTS_WAITS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: - EVENTS_WAITS_SUMMARY_BY_USER_BY_EVENT_NAME */ - aggregate_all_event_names(m_instr_class_waits_stats, - safe_user->m_instr_class_waits_stats); + aggregate_all_event_names(write_instr_class_waits_stats(), + safe_user->write_instr_class_waits_stats()); return; } @@ -360,8 +292,8 @@ void PFS_account::aggregate_waits(PFS_user *safe_user, PFS_host *safe_host) Aggregate EVENTS_WAITS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: - EVENTS_WAITS_SUMMARY_BY_HOST_BY_EVENT_NAME */ - aggregate_all_event_names(m_instr_class_waits_stats, - safe_host->m_instr_class_waits_stats); + aggregate_all_event_names(write_instr_class_waits_stats(), + safe_host->write_instr_class_waits_stats()); return; } @@ -372,6 +304,9 @@ void PFS_account::aggregate_waits(PFS_user *safe_user, PFS_host *safe_host) void PFS_account::aggregate_stages(PFS_user *safe_user, PFS_host *safe_host) { + if (read_instr_class_stages_stats() == NULL) + return; + if (likely(safe_user != NULL && safe_host != NULL)) { /* @@ -380,9 +315,9 @@ void PFS_account::aggregate_stages(PFS_user *safe_user, PFS_host *safe_host) - EVENTS_STAGES_SUMMARY_BY_HOST_BY_EVENT_NAME in parallel. */ - aggregate_all_stages(m_instr_class_stages_stats, - safe_user->m_instr_class_stages_stats, - safe_host->m_instr_class_stages_stats); + aggregate_all_stages(write_instr_class_stages_stats(), + safe_user->write_instr_class_stages_stats(), + safe_host->write_instr_class_stages_stats()); return; } @@ -394,8 +329,8 @@ void PFS_account::aggregate_stages(PFS_user *safe_user, PFS_host *safe_host) - EVENTS_STAGES_SUMMARY_GLOBAL_BY_EVENT_NAME in parallel. */ - aggregate_all_stages(m_instr_class_stages_stats, - safe_user->m_instr_class_stages_stats, + aggregate_all_stages(write_instr_class_stages_stats(), + safe_user->write_instr_class_stages_stats(), global_instr_class_stages_array); return; } @@ -406,8 +341,8 @@ void PFS_account::aggregate_stages(PFS_user *safe_user, PFS_host *safe_host) Aggregate EVENTS_STAGES_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: - EVENTS_STAGES_SUMMARY_BY_HOST_BY_EVENT_NAME */ - aggregate_all_stages(m_instr_class_stages_stats, - safe_host->m_instr_class_stages_stats); + aggregate_all_stages(write_instr_class_stages_stats(), + safe_host->write_instr_class_stages_stats()); return; } @@ -415,13 +350,16 @@ void PFS_account::aggregate_stages(PFS_user *safe_user, PFS_host *safe_host) Aggregate EVENTS_STAGES_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: - EVENTS_STAGES_SUMMARY_GLOBAL_BY_EVENT_NAME */ - aggregate_all_stages(m_instr_class_stages_stats, + aggregate_all_stages(write_instr_class_stages_stats(), global_instr_class_stages_array); return; } void PFS_account::aggregate_statements(PFS_user *safe_user, PFS_host *safe_host) { + if (read_instr_class_statements_stats() == NULL) + return; + if (likely(safe_user != NULL && safe_host != NULL)) { /* @@ -430,9 +368,9 @@ void PFS_account::aggregate_statements(PFS_user *safe_user, PFS_host *safe_host) - EVENTS_STATEMENTS_SUMMARY_BY_HOST_BY_EVENT_NAME in parallel. */ - aggregate_all_statements(m_instr_class_statements_stats, - safe_user->m_instr_class_statements_stats, - safe_host->m_instr_class_statements_stats); + aggregate_all_statements(write_instr_class_statements_stats(), + safe_user->write_instr_class_statements_stats(), + safe_host->write_instr_class_statements_stats()); return; } @@ -444,8 +382,8 @@ void PFS_account::aggregate_statements(PFS_user *safe_user, PFS_host *safe_host) - EVENTS_STATEMENTS_SUMMARY_GLOBAL_BY_EVENT_NAME in parallel. */ - aggregate_all_statements(m_instr_class_statements_stats, - safe_user->m_instr_class_statements_stats, + aggregate_all_statements(write_instr_class_statements_stats(), + safe_user->write_instr_class_statements_stats(), global_instr_class_statements_array); return; } @@ -456,8 +394,8 @@ void PFS_account::aggregate_statements(PFS_user *safe_user, PFS_host *safe_host) Aggregate EVENTS_STATEMENTS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: - EVENTS_STATEMENTS_SUMMARY_BY_HOST_BY_EVENT_NAME */ - aggregate_all_statements(m_instr_class_statements_stats, - safe_host->m_instr_class_statements_stats); + aggregate_all_statements(write_instr_class_statements_stats(), + safe_host->write_instr_class_statements_stats()); return; } @@ -465,11 +403,169 @@ void PFS_account::aggregate_statements(PFS_user *safe_user, PFS_host *safe_host) Aggregate EVENTS_STATEMENTS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: - EVENTS_STATEMENTS_SUMMARY_GLOBAL_BY_EVENT_NAME */ - aggregate_all_statements(m_instr_class_statements_stats, + aggregate_all_statements(write_instr_class_statements_stats(), global_instr_class_statements_array); return; } +void PFS_account::aggregate_transactions(PFS_user *safe_user, PFS_host *safe_host) +{ + if (read_instr_class_transactions_stats() == NULL) + return; + + if (likely(safe_user != NULL && safe_host != NULL)) + { + /* + Aggregate EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: + - EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME + - EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME + in parallel. + */ + aggregate_all_transactions(write_instr_class_transactions_stats(), + safe_user->write_instr_class_transactions_stats(), + safe_host->write_instr_class_transactions_stats()); + return; + } + + if (safe_user != NULL) + { + /* + Aggregate EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: + - EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME + - EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME + in parallel. + */ + aggregate_all_transactions(write_instr_class_transactions_stats(), + safe_user->write_instr_class_transactions_stats(), + &global_transaction_stat); + return; + } + + if (safe_host != NULL) + { + /* + Aggregate EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: + - EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME + */ + aggregate_all_transactions(write_instr_class_transactions_stats(), + safe_host->write_instr_class_transactions_stats()); + return; + } + + /* + Aggregate EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: + - EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME + */ + aggregate_all_transactions(write_instr_class_transactions_stats(), + &global_transaction_stat); + return; +} + +void PFS_account::aggregate_memory(bool alive, PFS_user *safe_user, PFS_host *safe_host) +{ + if (read_instr_class_memory_stats() == NULL) + return; + + if (likely(safe_user != NULL && safe_host != NULL)) + { + /* + Aggregate MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: + - MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME + - MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME + in parallel. + */ + aggregate_all_memory(alive, + write_instr_class_memory_stats(), + safe_user->write_instr_class_memory_stats(), + safe_host->write_instr_class_memory_stats()); + return; + } + + if (safe_user != NULL) + { + /* + Aggregate MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: + - MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME + - MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME + in parallel. + */ + aggregate_all_memory(alive, + write_instr_class_memory_stats(), + safe_user->write_instr_class_memory_stats(), + global_instr_class_memory_array); + return; + } + + if (safe_host != NULL) + { + /* + Aggregate MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: + - MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME + */ + aggregate_all_memory(alive, + write_instr_class_memory_stats(), + safe_host->write_instr_class_memory_stats()); + return; + } + + /* + Aggregate MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME to: + - MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME + */ + aggregate_all_memory(alive, + write_instr_class_memory_stats(), + global_instr_class_memory_array); + return; +} + +void PFS_account::aggregate_status(PFS_user *safe_user, PFS_host *safe_host) +{ + if (likely(safe_user != NULL && safe_host != NULL)) + { + /* + Aggregate STATUS_BY_ACCOUNT to: + - STATUS_BY_USER + - STATUS_BY_HOST + */ + safe_user->m_status_stats.aggregate(& m_status_stats); + safe_host->m_status_stats.aggregate(& m_status_stats); + m_status_stats.reset(); + return; + } + + if (safe_user != NULL) + { + /* + Aggregate STATUS_BY_ACCOUNT to: + - STATUS_BY_USER + - GLOBAL_STATUS + */ + safe_user->m_status_stats.aggregate(& m_status_stats); + m_status_stats.aggregate_to(& global_status_var); + m_status_stats.reset(); + return; + } + + if (safe_host != NULL) + { + /* + Aggregate STATUS_BY_ACCOUNT to: + - STATUS_BY_HOST + */ + safe_host->m_status_stats.aggregate(& m_status_stats); + m_status_stats.reset(); + return; + } + + /* + Aggregate STATUS_BY_ACCOUNT to: + - GLOBAL_STATUS + */ + m_status_stats.aggregate_to(& global_status_var); + m_status_stats.reset(); + return; +} + void PFS_account::aggregate_stats(PFS_user *safe_user, PFS_host *safe_host) { if (likely(safe_user != NULL && safe_host != NULL)) @@ -503,19 +599,42 @@ void PFS_account::release() dec_refcount(); } -PFS_account *sanitize_account(PFS_account *unsafe) +void PFS_account::carry_memory_stat_delta(PFS_memory_stat_delta *delta, uint index) { - if ((&account_array[0] <= unsafe) && - (unsafe < &account_array[account_max])) - return unsafe; - return NULL; + PFS_memory_stat *event_name_array; + PFS_memory_stat *stat; + PFS_memory_stat_delta delta_buffer; + PFS_memory_stat_delta *remaining_delta; + + event_name_array= write_instr_class_memory_stats(); + stat= & event_name_array[index]; + remaining_delta= stat->apply_delta(delta, &delta_buffer); + + if (remaining_delta == NULL) + return; + + if (m_user != NULL) + { + m_user->carry_memory_stat_delta(remaining_delta, index); + /* do not return, need to process m_host below */ + } + + if (m_host != NULL) + { + m_host->carry_memory_stat_delta(remaining_delta, index); + return; + } + + carry_global_memory_stat_delta(remaining_delta, index); } -void purge_account(PFS_thread *thread, PFS_account *account, - PFS_user *safe_user, PFS_host *safe_host) +PFS_account *sanitize_account(PFS_account *unsafe) { - account->aggregate(safe_user, safe_host); + return global_account_container.sanitize(unsafe); +} +void purge_account(PFS_thread *thread, PFS_account *account) +{ LF_PINS *pins= get_account_hash_pins(thread); if (unlikely(pins == NULL)) return; @@ -533,6 +652,7 @@ void purge_account(PFS_thread *thread, PFS_account *account, lf_hash_delete(&account_hash, pins, account->m_key.m_hash_key, account->m_key.m_key_length); + account->aggregate(false, account->m_user, account->m_host); if (account->m_user != NULL) { account->m_user->release(); @@ -543,37 +663,78 @@ void purge_account(PFS_thread *thread, PFS_account *account, account->m_host->release(); account->m_host= NULL; } - account->m_lock.allocated_to_free(); + global_account_container.deallocate(account); } } lf_hash_search_unpin(pins); } -/** Purge non connected user@host, reset stats of connected user@host. */ +class Proc_purge_account + : public PFS_buffer_processor<PFS_account> +{ +public: + Proc_purge_account(PFS_thread *thread) + : m_thread(thread) + {} + + virtual void operator()(PFS_account *pfs) + { + PFS_user *user= sanitize_user(pfs->m_user); + PFS_host *host= sanitize_host(pfs->m_host); + pfs->aggregate(true, user, host); + + if (pfs->get_refcount() == 0) + purge_account(m_thread, pfs); + } + +private: + PFS_thread *m_thread; +}; + +/** Purge non connected accounts, reset stats of connected account. */ void purge_all_account(void) { PFS_thread *thread= PFS_thread::get_current_thread(); if (unlikely(thread == NULL)) return; - PFS_account *pfs= account_array; - PFS_account *pfs_last= account_array + account_max; - PFS_user *user; - PFS_host *host; + Proc_purge_account proc(thread); + global_account_container.apply(proc); +} - for ( ; pfs < pfs_last; pfs++) +class Proc_update_accounts_derived_flags + : public PFS_buffer_processor<PFS_account> +{ +public: + Proc_update_accounts_derived_flags(PFS_thread *thread) + : m_thread(thread) + {} + + virtual void operator()(PFS_account *pfs) { - if (pfs->m_lock.is_populated()) + if (pfs->m_username_length > 0 && pfs->m_hostname_length > 0) { - user= sanitize_user(pfs->m_user); - host= sanitize_host(pfs->m_host); - pfs->aggregate_stats(user, host); - - if (pfs->get_refcount() == 0) - purge_account(thread, pfs, user, host); + lookup_setup_actor(m_thread, + pfs->m_username, pfs->m_username_length, + pfs->m_hostname, pfs->m_hostname_length, + & pfs->m_enabled, & pfs->m_history); + } + else + { + pfs->m_enabled= true; + pfs->m_history= true; } } + +private: + PFS_thread *m_thread; +}; + +void update_accounts_derived_flags(PFS_thread *thread) +{ + Proc_update_accounts_derived_flags proc(thread); + global_account_container.apply(proc); } /** @} */ diff --git a/storage/perfschema/pfs_account.h b/storage/perfschema/pfs_account.h index efd0a424e68..29382e9c8bc 100644 --- a/storage/perfschema/pfs_account.h +++ b/storage/perfschema/pfs_account.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,23 +18,26 @@ /** @file storage/perfschema/pfs_account.h - Performance schema user@host (declarations). + Performance schema account (declarations). */ #include "pfs_lock.h" #include "lf.h" #include "pfs_con_slice.h" +#include "mysql_com.h" /* USERNAME_LENGTH */ struct PFS_global_param; struct PFS_user; struct PFS_host; struct PFS_thread; +struct PFS_memory_stat_delta; /** @addtogroup Performance_schema_buffers @{ */ +/** Hash key for an account. */ struct PFS_account_key { /** @@ -46,6 +49,7 @@ struct PFS_account_key uint m_key_length; }; +/** Per account statistics. */ struct PFS_ALIGNED PFS_account : PFS_connection_slice { public: @@ -69,16 +73,25 @@ public: PFS_atomic::add_32(& m_refcount, -1); } - void aggregate(PFS_user *safe_user, PFS_host *safe_host); + void aggregate(bool alive, PFS_user *safe_user, PFS_host *safe_host); void aggregate_waits(PFS_user *safe_user, PFS_host *safe_host); void aggregate_stages(PFS_user *safe_user, PFS_host *safe_host); void aggregate_statements(PFS_user *safe_user, PFS_host *safe_host); + void aggregate_transactions(PFS_user *safe_user, PFS_host *safe_host); + void aggregate_memory(bool alive, PFS_user *safe_user, PFS_host *safe_host); + void aggregate_status(PFS_user *safe_user, PFS_host *safe_host); void aggregate_stats(PFS_user *safe_user, PFS_host *safe_host); void release(void); + void carry_memory_stat_delta(PFS_memory_stat_delta *delta, uint index); + /** Internal lock. */ pfs_lock m_lock; PFS_account_key m_key; + /** True if this account is enabled, per rules in table SETUP_ACTORS. */ + bool m_enabled; + /** True if this account has history enabled, per rules in table SETUP_ACTORS. */ + bool m_history; const char *m_username; uint m_username_length; const char *m_hostname; @@ -94,7 +107,7 @@ private: int init_account(const PFS_global_param *param); void cleanup_account(void); -int init_account_hash(void); +int init_account_hash(const PFS_global_param *param); void cleanup_account_hash(void); PFS_account * @@ -105,15 +118,9 @@ find_or_create_account(PFS_thread *thread, PFS_account *sanitize_account(PFS_account *unsafe); void purge_all_account(void); +void update_accounts_derived_flags(PFS_thread *thread); -/* For iterators and show status. */ - -extern ulong account_max; -extern ulong account_lost; - -/* Exposing the data directly, for iterators. */ - -extern PFS_account *account_array; +/* For show status. */ extern LF_HASH account_hash; diff --git a/storage/perfschema/pfs_atomic.cc b/storage/perfschema/pfs_atomic.cc deleted file mode 100644 index 06090accdc6..00000000000 --- a/storage/perfschema/pfs_atomic.cc +++ /dev/null @@ -1,78 +0,0 @@ -/* Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ - -/** - @file storage/perfschema/pfs_atomic.cc - Atomic operations (implementation). -*/ - -#include <my_global.h> -#include <my_pthread.h> -#include "pfs_atomic.h" - -/* - Using SAFE_MUTEX is impossible, because of recursion. - - code locks mutex X - - P_S records the event - - P_S needs an atomic counter A - - safe mutex called for m_mutex[hash(A)] - - safe mutex allocates/free memory - - safe mutex locks THR_LOCK_malloc - - P_S records the event - - P_S needs an atomic counter B - - safe mutex called for m_mutex[hash(B)] - - When hash(A) == hash(B), safe_mutex complains rightly that - the mutex is already locked. - In some cases, A == B, in particular for events_waits_history_long_index. - - In short, the implementation of PFS_atomic should not cause events - to be recorded in the performance schema. - - Also, because SAFE_MUTEX redefines pthread_mutex_t, etc, - this code is not inlined in pfs_atomic.h, but located here in pfs_atomic.cc. - - What is needed is a plain, unmodified, pthread_mutex_t. - This is provided by my_atomic_rwlock_t. -*/ - -/** - Internal rwlock array. - Using a single rwlock for all atomic operations would be a bottleneck. - Using a rwlock per performance schema structure would be too costly in - memory, and use too many rwlock. - The PFS_atomic implementation computes a hash value from the - atomic variable, to spread the bottleneck across 256 buckets, - while still providing --transparently for the caller-- an atomic - operation. -*/ -my_atomic_rwlock_t PFS_atomic::m_rwlock_array[256]; - -void PFS_atomic::init(void) -{ - uint i; - - for (i=0; i< array_elements(m_rwlock_array); i++) - my_atomic_rwlock_init(&m_rwlock_array[i]); -} - -void PFS_atomic::cleanup(void) -{ - uint i; - - for (i=0; i< array_elements(m_rwlock_array); i++) - my_atomic_rwlock_destroy(&m_rwlock_array[i]); -} - diff --git a/storage/perfschema/pfs_atomic.h b/storage/perfschema/pfs_atomic.h index 61b8c2b2804..458d627dd95 100644 --- a/storage/perfschema/pfs_atomic.h +++ b/storage/perfschema/pfs_atomic.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,221 +27,106 @@ class PFS_atomic { public: - /** Initialise the PFS_atomic component. */ - static void init(); - /** Cleanup the PFS_atomic component. */ - static void cleanup(); - /** Atomic load. */ - static inline int32 load_32(volatile int32 *ptr) + static inline int32 load_32(int32 *ptr) { - int32 result; - rdlock(ptr); - result= my_atomic_load32(ptr); - rdunlock(ptr); - return result; + return my_atomic_load32(ptr); } /** Atomic load. */ - static inline int64 load_64(volatile int64 *ptr) + static inline int64 load_64(int64 *ptr) { - int64 result; - rdlock(ptr); - result= my_atomic_load64(ptr); - rdunlock(ptr); - return result; + return my_atomic_load64(ptr); } /** Atomic load. */ - static inline uint32 load_u32(volatile uint32 *ptr) + static inline uint32 load_u32(uint32 *ptr) { - uint32 result; - rdlock(ptr); - result= (uint32) my_atomic_load32((int32*) ptr); - rdunlock(ptr); - return result; + return (uint32) my_atomic_load32((int32*) ptr); } /** Atomic load. */ - static inline uint64 load_u64(volatile uint64 *ptr) + static inline uint64 load_u64(uint64 *ptr) { - uint64 result; - rdlock(ptr); - result= (uint64) my_atomic_load64((int64*) ptr); - rdunlock(ptr); - return result; + return (uint64) my_atomic_load64((int64*) ptr); } /** Atomic store. */ - static inline void store_32(volatile int32 *ptr, int32 value) + static inline void store_32(int32 *ptr, int32 value) { - wrlock(ptr); my_atomic_store32(ptr, value); - wrunlock(ptr); } /** Atomic store. */ - static inline void store_64(volatile int64 *ptr, int64 value) + static inline void store_64(int64 *ptr, int64 value) { - wrlock(ptr); my_atomic_store64(ptr, value); - wrunlock(ptr); } /** Atomic store. */ - static inline void store_u32(volatile uint32 *ptr, uint32 value) + static inline void store_u32(uint32 *ptr, uint32 value) { - wrlock(ptr); my_atomic_store32((int32*) ptr, (int32) value); - wrunlock(ptr); } /** Atomic store. */ - static inline void store_u64(volatile uint64 *ptr, uint64 value) + static inline void store_u64(uint64 *ptr, uint64 value) { - wrlock(ptr); my_atomic_store64((int64*) ptr, (int64) value); - wrunlock(ptr); } /** Atomic add. */ - static inline int32 add_32(volatile int32 *ptr, int32 value) + static inline int32 add_32(int32 *ptr, int32 value) { - int32 result; - wrlock(ptr); - result= my_atomic_add32(ptr, value); - wrunlock(ptr); - return result; + return my_atomic_add32(ptr, value); } /** Atomic add. */ - static inline int64 add_64(volatile int64 *ptr, int64 value) + static inline int64 add_64(int64 *ptr, int64 value) { - int64 result; - wrlock(ptr); - result= my_atomic_add64(ptr, value); - wrunlock(ptr); - return result; + return my_atomic_add64(ptr, value); } /** Atomic add. */ - static inline uint32 add_u32(volatile uint32 *ptr, uint32 value) + static inline uint32 add_u32(uint32 *ptr, uint32 value) { - uint32 result; - wrlock(ptr); - result= (uint32) my_atomic_add32((int32*) ptr, (int32) value); - wrunlock(ptr); - return result; + return (uint32) my_atomic_add32((int32*) ptr, (int32) value); } /** Atomic add. */ - static inline uint64 add_u64(volatile uint64 *ptr, uint64 value) + static inline uint64 add_u64(uint64 *ptr, uint64 value) { - uint64 result; - wrlock(ptr); - result= (uint64) my_atomic_add64((int64*) ptr, (int64) value); - wrunlock(ptr); - return result; + return (uint64) my_atomic_add64((int64*) ptr, (int64) value); } /** Atomic compare and swap. */ - static inline bool cas_32(volatile int32 *ptr, int32 *old_value, + static inline bool cas_32(int32 *ptr, int32 *old_value, int32 new_value) { - bool result; - wrlock(ptr); - result= my_atomic_cas32(ptr, old_value, new_value); - wrunlock(ptr); - return result; + return my_atomic_cas32(ptr, old_value, new_value); } /** Atomic compare and swap. */ - static inline bool cas_64(volatile int64 *ptr, int64 *old_value, + static inline bool cas_64(int64 *ptr, int64 *old_value, int64 new_value) { - bool result; - wrlock(ptr); - result= my_atomic_cas64(ptr, old_value, new_value); - wrunlock(ptr); - return result; + return my_atomic_cas64(ptr, old_value, new_value); } /** Atomic compare and swap. */ - static inline bool cas_u32(volatile uint32 *ptr, uint32 *old_value, + static inline bool cas_u32(uint32 *ptr, uint32 *old_value, uint32 new_value) { - bool result; - wrlock(ptr); - result= my_atomic_cas32((int32*) ptr, (int32*) old_value, - (uint32) new_value); - wrunlock(ptr); - return result; + return my_atomic_cas32((int32*) ptr, (int32*) old_value, + (uint32) new_value); } /** Atomic compare and swap. */ - static inline bool cas_u64(volatile uint64 *ptr, uint64 *old_value, + static inline bool cas_u64(uint64 *ptr, uint64 *old_value, uint64 new_value) { - bool result; - wrlock(ptr); - result= my_atomic_cas64((int64*) ptr, (int64*) old_value, + return my_atomic_cas64((int64*) ptr, (int64*) old_value, (uint64) new_value); - wrunlock(ptr); - return result; - } - -private: - static my_atomic_rwlock_t m_rwlock_array[256]; - - /** - Helper used only with non native atomic implementations. - @sa MY_ATOMIC_MODE_RWLOCKS - */ - static inline my_atomic_rwlock_t *get_rwlock(volatile void *ptr) - { - /* - Divide an address by 8 to remove alignment, - modulo 256 to fall in the array. - */ - uint index= (((intptr) ptr) >> 3) & 0xFF; - my_atomic_rwlock_t *result= &m_rwlock_array[index]; - return result; - } - - /** - Helper used only with non native atomic implementations. - @sa MY_ATOMIC_MODE_RWLOCKS - */ - static inline void rdlock(volatile void *ptr) - { - my_atomic_rwlock_rdlock(get_rwlock(ptr)); - } - - /** - Helper used only with non native atomic implementations. - @sa MY_ATOMIC_MODE_RWLOCKS - */ - static inline void wrlock(volatile void *ptr) - { - my_atomic_rwlock_wrlock(get_rwlock(ptr)); - } - - /** - Helper used only with non native atomic implementations. - @sa MY_ATOMIC_MODE_RWLOCKS - */ - static inline void rdunlock(volatile void *ptr) - { - my_atomic_rwlock_rdunlock(get_rwlock(ptr)); - } - - /** - Helper used only with non native atomic implementations. - @sa MY_ATOMIC_MODE_RWLOCKS - */ - static inline void wrunlock(volatile void *ptr) - { - my_atomic_rwlock_wrunlock(get_rwlock(ptr)); } }; diff --git a/storage/perfschema/pfs_autosize.cc b/storage/perfschema/pfs_autosize.cc index 38bd36d8321..feb12f3f8c7 100644 --- a/storage/perfschema/pfs_autosize.cc +++ b/storage/perfschema/pfs_autosize.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,47 +22,17 @@ #include "sql_const.h" #include "pfs_server.h" +#include <my_thread.h> /* For pthread_t */ +/* Make sure HAVE_PSI_XXX_INTERFACE flags are set */ +#include "mysql/psi/psi.h" + #include <algorithm> using std::min; using std::max; -static const ulong fixed_mutex_instances= 500; -static const ulong fixed_rwlock_instances= 200; -static const ulong fixed_cond_instances= 50; -static const ulong fixed_file_instances= 200; -static const ulong fixed_socket_instances= 10; -static const ulong fixed_thread_instances= 50; - -static const ulong mutex_per_connection= 3; -static const ulong rwlock_per_connection= 1; -static const ulong cond_per_connection= 2; -static const ulong file_per_connection= 0; -static const ulong socket_per_connection= 1; -static const ulong thread_per_connection= 1; - -static const ulong mutex_per_handle= 0; -static const ulong rwlock_per_handle= 0; -static const ulong cond_per_handle= 0; -static const ulong file_per_handle= 0; -static const ulong socket_per_handle= 0; -static const ulong thread_per_handle= 0; - -static const ulong mutex_per_share= 5; -static const ulong rwlock_per_share= 3; -static const ulong cond_per_share= 1; -static const ulong file_per_share= 3; -static const ulong socket_per_share= 0; -static const ulong thread_per_share= 0; - +/** Performance schema sizing heuristics. */ struct PFS_sizing_data { - /** Default value for @c PFS_param.m_account_sizing. */ - ulong m_account_sizing; - /** Default value for @c PFS_param.m_user_sizing. */ - ulong m_user_sizing; - /** Default value for @c PFS_param.m_host_sizing. */ - ulong m_host_sizing; - /** Default value for @c PFS_param.m_events_waits_history_sizing. */ ulong m_events_waits_history_sizing; /** Default value for @c PFS_param.m_events_waits_history_long_sizing. */ @@ -75,103 +45,46 @@ struct PFS_sizing_data ulong m_events_statements_history_sizing; /** Default value for @c PFS_param.m_events_statements_history_long_sizing. */ ulong m_events_statements_history_long_sizing; + /** Default value for @c PFS_param.m_events_transactions_history_sizing. */ + ulong m_events_transactions_history_sizing; + /** Default value for @c PFS_param.m_events_transactions_history_long_sizing. */ + ulong m_events_transactions_history_long_sizing; /** Default value for @c PFS_param.m_digest_sizing. */ ulong m_digest_sizing; /** Default value for @c PFS_param.m_session_connect_attrs_sizing. */ ulong m_session_connect_attrs_sizing; - - /** - Minimum number of tables to keep statistics for. - On small deployments, all the tables can fit into the table definition cache, - and this value can be 0. - On big deployments, the table definition cache is only a subset of all the tables - in the database, which are accounted for here. - */ - ulong m_min_number_of_tables; - - /** - Load factor for 'volatile' objects (mutexes, table handles, ...). - Instrumented objects that: - - use little memory - - are created/destroyed very frequently - should be stored in a low density (mostly empty) memory buffer, - to optimize for speed. - */ - float m_load_factor_volatile; - /** - Load factor for 'normal' objects (files). - Instrumented objects that: - - use a medium amount of memory - - are created/destroyed - should be stored in a medium density memory buffer, - as a trade off between space and speed. - */ - float m_load_factor_normal; - /** - Load factor for 'static' objects (table shares). - Instrumented objects that: - - use a lot of memory - - are created/destroyed very rarely - can be stored in a high density (mostly packed) memory buffer, - to optimize for space. - */ - float m_load_factor_static; }; PFS_sizing_data small_data= { - /* Account / user / host */ - 10, 5, 20, /* History sizes */ - 5, 100, 5, 100, 5, 100, + 5, 100, 5, 100, 5, 100, 5, 100, /* Digests */ 1000, /* Session connect attrs. */ - 512, - /* Min tables */ - 200, - /* Load factors */ - 0.90, 0.90, 0.90 + 512 }; PFS_sizing_data medium_data= { - /* Account / user / host */ - 100, 100, 100, /* History sizes */ - 10, 1000, 10, 1000, 10, 1000, + 10, 1000, 10, 1000, 10, 1000, 10, 1000, /* Digests */ 5000, /* Session connect attrs. */ - 512, - /* Min tables */ - 500, - /* Load factors */ - 0.70, 0.80, 0.90 + 512 }; PFS_sizing_data large_data= { - /* Account / user / host */ - 100, 100, 100, /* History sizes */ - 10, 10000, 10, 10000, 10, 10000, + 10, 10000, 10, 10000, 10, 10000, 10, 10000, /* Digests */ 10000, /* Session connect attrs. */ - 512, - /* Min tables */ - 10000, - /* Load factors */ - 0.50, 0.65, 0.80 + 512 }; -static inline ulong apply_load_factor(ulong raw_value, float factor) -{ - float value = ((float) raw_value) / factor; - return (ulong) ceil(value); -} - PFS_sizing_data *estimate_hints(PFS_global_param *param) { if ((param->m_hints.m_max_connections <= MAX_CONNECTIONS_DEFAULT) && @@ -196,42 +109,6 @@ PFS_sizing_data *estimate_hints(PFS_global_param *param) static void apply_heuristic(PFS_global_param *p, PFS_sizing_data *h) { - ulong count; - ulong con = p->m_hints.m_max_connections; - ulong handle = p->m_hints.m_table_open_cache; - ulong share = p->m_hints.m_table_definition_cache; - ulong file = p->m_hints.m_open_files_limit; - - if (p->m_table_sizing < 0) - { - count= handle; - - p->m_table_sizing= apply_load_factor(count, h->m_load_factor_volatile); - } - - if (p->m_table_share_sizing < 0) - { - count= share; - - count= max<ulong>(count, h->m_min_number_of_tables); - p->m_table_share_sizing= apply_load_factor(count, h->m_load_factor_static); - } - - if (p->m_account_sizing < 0) - { - p->m_account_sizing= h->m_account_sizing; - } - - if (p->m_user_sizing < 0) - { - p->m_user_sizing= h->m_user_sizing; - } - - if (p->m_host_sizing < 0) - { - p->m_host_sizing= h->m_host_sizing; - } - if (p->m_events_waits_history_sizing < 0) { p->m_events_waits_history_sizing= h->m_events_waits_history_sizing; @@ -267,100 +144,155 @@ static void apply_heuristic(PFS_global_param *p, PFS_sizing_data *h) p->m_digest_sizing= h->m_digest_sizing; } - if (p->m_session_connect_attrs_sizing < 0) + if (p->m_events_transactions_history_sizing < 0) { - p->m_session_connect_attrs_sizing= h->m_session_connect_attrs_sizing; + p->m_events_transactions_history_sizing= h->m_events_transactions_history_sizing; } - if (p->m_mutex_sizing < 0) + if (p->m_events_transactions_history_long_sizing < 0) { - count= fixed_mutex_instances - + con * mutex_per_connection - + handle * mutex_per_handle - + share * mutex_per_share; - - p->m_mutex_sizing= apply_load_factor(count, h->m_load_factor_volatile); + p->m_events_transactions_history_long_sizing= h->m_events_transactions_history_long_sizing; } - if (p->m_rwlock_sizing < 0) - { - count= fixed_rwlock_instances - + con * rwlock_per_connection - + handle * rwlock_per_handle - + share * rwlock_per_share; - - p->m_rwlock_sizing= apply_load_factor(count, h->m_load_factor_volatile); - } - - if (p->m_cond_sizing < 0) - { - ulong count; - count= fixed_cond_instances - + con * cond_per_connection - + handle * cond_per_handle - + share * cond_per_share; - - p->m_cond_sizing= apply_load_factor(count, h->m_load_factor_volatile); - } - - if (p->m_file_sizing < 0) + if (p->m_session_connect_attrs_sizing < 0) { - count= fixed_file_instances - + con * file_per_connection - + handle * file_per_handle - + share * file_per_share; - - count= max<ulong>(count, file); - p->m_file_sizing= apply_load_factor(count, h->m_load_factor_normal); + p->m_session_connect_attrs_sizing= h->m_session_connect_attrs_sizing; } +} - if (p->m_socket_sizing < 0) +void pfs_automated_sizing(PFS_global_param *param) +{ + if (param->m_enabled) { - count= fixed_socket_instances - + con * socket_per_connection - + handle * socket_per_handle - + share * socket_per_share; - - p->m_socket_sizing= apply_load_factor(count, h->m_load_factor_volatile); +#ifndef HAVE_PSI_MUTEX_INTERFACE + param->m_mutex_class_sizing= 0; + param->m_mutex_sizing= 0; +#endif + +#ifndef HAVE_PSI_RWLOCK_INTERFACE + param->m_rwlock_class_sizing= 0; + param->m_rwlock_sizing= 0; +#endif + +#ifndef HAVE_PSI_COND_INTERFACE + param->m_cond_class_sizing= 0; + param->m_cond_sizing= 0; +#endif + +#ifndef HAVE_PSI_FILE_INTERFACE + param->m_file_class_sizing= 0; + param->m_file_sizing= 0; + param->m_file_handle_sizing= 0; +#endif + +#ifndef HAVE_PSI_TABLE_INTERFACE + param->m_table_share_sizing= 0; + param->m_table_sizing= 0; + param->m_table_lock_stat_sizing= 0; + param->m_index_stat_sizing= 0; +#endif + +#ifndef HAVE_PSI_SOCKET_INTERFACE + param->m_socket_class_sizing= 0; + param->m_socket_sizing= 0; +#endif + +#ifndef HAVE_PSI_STAGE_INTERFACE + param->m_stage_class_sizing= 0; + param->m_events_stages_history_sizing= 0; + param->m_events_stages_history_long_sizing= 0; +#endif + +#ifndef HAVE_PSI_STATEMENT_INTERFACE + param->m_statement_class_sizing= 0; + param->m_events_statements_history_sizing= 0; + param->m_events_statements_history_long_sizing= 0; +#endif + +#ifndef HAVE_PSI_SP_INTERFACE + param->m_program_sizing= 0; + if (param->m_statement_stack_sizing > 1) + param->m_statement_stack_sizing= 1; +#endif + +#ifndef HAVE_PSI_PS_INTERFACE + param->m_prepared_stmt_sizing= 0; +#endif + +#ifndef HAVE_PSI_STATEMENT_DIGEST_INTERFACE + param->m_digest_sizing= 0; +#endif + +#ifndef HAVE_PSI_METADATA_INTERFACE + param->m_metadata_lock_sizing= 0; +#endif + +#ifndef HAVE_PSI_MEMORY_INTERFACE + param->m_memory_class_sizing= 0; +#endif + + PFS_sizing_data *heuristic; + heuristic= estimate_hints(param); + apply_heuristic(param, heuristic); + + DBUG_ASSERT(param->m_events_waits_history_sizing >= 0); + DBUG_ASSERT(param->m_events_waits_history_long_sizing >= 0); + DBUG_ASSERT(param->m_events_stages_history_sizing >= 0); + DBUG_ASSERT(param->m_events_stages_history_long_sizing >= 0); + DBUG_ASSERT(param->m_events_statements_history_sizing >= 0); + DBUG_ASSERT(param->m_events_statements_history_long_sizing >= 0); + DBUG_ASSERT(param->m_events_transactions_history_sizing >= 0); + DBUG_ASSERT(param->m_events_transactions_history_long_sizing >= 0); + DBUG_ASSERT(param->m_session_connect_attrs_sizing >= 0); } - - if (p->m_thread_sizing < 0) + else { - count= fixed_thread_instances - + con * thread_per_connection - + handle * thread_per_handle - + share * thread_per_share; - - p->m_thread_sizing= apply_load_factor(count, h->m_load_factor_volatile); + /* + The Performance Schema is disabled. Set the instrument sizings to zero to + disable all instrumentation while retaining support for the status and + system variable tables, the host cache table and the replication tables. + */ + param->m_mutex_class_sizing= 0; + param->m_rwlock_class_sizing= 0; + param->m_cond_class_sizing= 0; + param->m_thread_class_sizing= 0; + param->m_table_share_sizing= 0; + param->m_table_lock_stat_sizing= 0; + param->m_index_stat_sizing= 0; + param->m_file_class_sizing= 0; + param->m_mutex_sizing= 0; + param->m_rwlock_sizing= 0; + param->m_cond_sizing= 0; + param->m_thread_sizing= 0; + param->m_table_sizing= 0; + param->m_file_sizing= 0; + param->m_file_handle_sizing= 0; + param->m_socket_sizing= 0; + param->m_socket_class_sizing= 0; + param->m_events_waits_history_sizing= 0; + param->m_events_waits_history_long_sizing= 0; + param->m_setup_actor_sizing= 0; + param->m_setup_object_sizing= 0; + param->m_host_sizing= 0; + param->m_user_sizing= 0; + param->m_account_sizing= 0; + param->m_stage_class_sizing= 0; + param->m_events_stages_history_sizing= 0; + param->m_events_stages_history_long_sizing= 0; + param->m_statement_class_sizing= 0; + param->m_events_statements_history_sizing= 0; + param->m_events_statements_history_long_sizing= 0; + param->m_digest_sizing= 0; + param->m_program_sizing= 0; + param->m_prepared_stmt_sizing= 0; + param->m_events_transactions_history_sizing= 0; + param->m_events_transactions_history_long_sizing= 0; + param->m_session_connect_attrs_sizing= 0; + param->m_statement_stack_sizing= 0; + param->m_memory_class_sizing= 0; + param->m_metadata_lock_sizing= 0; + param->m_max_digest_length= 0; + param->m_max_sql_text_length= 0; } } -void pfs_automated_sizing(PFS_global_param *param) -{ - PFS_sizing_data *heuristic; - heuristic= estimate_hints(param); - apply_heuristic(param, heuristic); - - DBUG_ASSERT(param->m_account_sizing >= 0); - DBUG_ASSERT(param->m_digest_sizing >= 0); - DBUG_ASSERT(param->m_host_sizing >= 0); - DBUG_ASSERT(param->m_user_sizing >= 0); - - DBUG_ASSERT(param->m_events_waits_history_sizing >= 0); - DBUG_ASSERT(param->m_events_waits_history_long_sizing >= 0); - DBUG_ASSERT(param->m_events_stages_history_sizing >= 0); - DBUG_ASSERT(param->m_events_stages_history_long_sizing >= 0); - DBUG_ASSERT(param->m_events_statements_history_sizing >= 0); - DBUG_ASSERT(param->m_events_statements_history_long_sizing >= 0); - DBUG_ASSERT(param->m_session_connect_attrs_sizing >= 0); - - DBUG_ASSERT(param->m_mutex_sizing >= 0); - DBUG_ASSERT(param->m_rwlock_sizing >= 0); - DBUG_ASSERT(param->m_cond_sizing >= 0); - DBUG_ASSERT(param->m_file_sizing >= 0); - DBUG_ASSERT(param->m_socket_sizing >= 0); - DBUG_ASSERT(param->m_thread_sizing >= 0); - DBUG_ASSERT(param->m_table_sizing >= 0); - DBUG_ASSERT(param->m_table_share_sizing >= 0); -} - diff --git a/storage/perfschema/pfs_buffer_container.cc b/storage/perfschema/pfs_buffer_container.cc new file mode 100644 index 00000000000..dfef125faa8 --- /dev/null +++ b/storage/perfschema/pfs_buffer_container.cc @@ -0,0 +1,868 @@ +/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#include "my_global.h" +#include "pfs_global.h" +#include "pfs_lock.h" +#include "pfs_account.h" +#include "pfs_user.h" +#include "pfs_host.h" +#include "pfs_buffer_container.h" +#include "pfs_builtin_memory.h" + +PFS_buffer_default_allocator<PFS_mutex> default_mutex_allocator(& builtin_memory_mutex); +PFS_mutex_container global_mutex_container(& default_mutex_allocator); + +PFS_buffer_default_allocator<PFS_rwlock> default_rwlock_allocator(& builtin_memory_rwlock); +PFS_rwlock_container global_rwlock_container(& default_rwlock_allocator); + +PFS_buffer_default_allocator<PFS_cond> default_cond_allocator(& builtin_memory_cond); +PFS_cond_container global_cond_container(& default_cond_allocator); + +PFS_buffer_default_allocator<PFS_file> default_file_allocator(& builtin_memory_file); +PFS_file_container global_file_container(& default_file_allocator); + +PFS_buffer_default_allocator<PFS_socket> default_socket_allocator(& builtin_memory_socket); +PFS_socket_container global_socket_container(& default_socket_allocator); + +PFS_buffer_default_allocator<PFS_metadata_lock> default_mdl_allocator(& builtin_memory_mdl); +PFS_mdl_container global_mdl_container(& default_mdl_allocator); + +PFS_buffer_default_allocator<PFS_setup_actor> default_setup_actor_allocator(& builtin_memory_setup_actor); +PFS_setup_actor_container global_setup_actor_container(& default_setup_actor_allocator); + +PFS_buffer_default_allocator<PFS_setup_object> default_setup_object_allocator(& builtin_memory_setup_object); +PFS_setup_object_container global_setup_object_container(& default_setup_object_allocator); + +PFS_buffer_default_allocator<PFS_table> default_table_allocator(& builtin_memory_table); +PFS_table_container global_table_container(& default_table_allocator); + +PFS_buffer_default_allocator<PFS_table_share> default_table_share_allocator(& builtin_memory_table_share); +PFS_table_share_container global_table_share_container(& default_table_share_allocator); + +PFS_buffer_default_allocator<PFS_table_share_index> default_table_share_index_allocator(& builtin_memory_table_share_index); +PFS_table_share_index_container global_table_share_index_container(& default_table_share_index_allocator); + +PFS_buffer_default_allocator<PFS_table_share_lock> default_table_share_lock_allocator(& builtin_memory_table_share_lock); +PFS_table_share_lock_container global_table_share_lock_container(& default_table_share_lock_allocator); + +PFS_buffer_default_allocator<PFS_program> default_program_allocator(& builtin_memory_program); +PFS_program_container global_program_container(& default_program_allocator); + +PFS_buffer_default_allocator<PFS_prepared_stmt> default_prepared_stmt_allocator(& builtin_memory_prepared_stmt); +PFS_prepared_stmt_container global_prepared_stmt_container(& default_prepared_stmt_allocator); + +int PFS_account_allocator::alloc_array(PFS_account_array *array, size_t size) +{ + size_t index; + size_t waits_sizing= size * wait_class_max; + size_t stages_sizing= size * stage_class_max; + size_t statements_sizing= size * statement_class_max; + size_t transactions_sizing= size * transaction_class_max; + size_t memory_sizing= size * memory_class_max; + + array->m_ptr= NULL; + array->m_full= true; + array->m_instr_class_waits_array= NULL; + array->m_instr_class_stages_array= NULL; + array->m_instr_class_statements_array= NULL; + array->m_instr_class_transactions_array= NULL; + array->m_instr_class_memory_array= NULL; + + if (size > 0) + { + array->m_ptr= + PFS_MALLOC_ARRAY(& builtin_memory_account, + size, sizeof(PFS_account), PFS_account, MYF(MY_ZEROFILL)); + if (array->m_ptr == NULL) + return 1; + } + + if (waits_sizing > 0) + { + array->m_instr_class_waits_array= + PFS_MALLOC_ARRAY(& builtin_memory_account_waits, + waits_sizing, sizeof(PFS_single_stat), PFS_single_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_waits_array == NULL) + return 1; + + for (index=0; index < waits_sizing; index++) + array->m_instr_class_waits_array[index].reset(); + } + + if (stages_sizing > 0) + { + array->m_instr_class_stages_array= + PFS_MALLOC_ARRAY(& builtin_memory_account_stages, + stages_sizing, sizeof(PFS_stage_stat), PFS_stage_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_stages_array == NULL) + return 1; + + for (index=0; index < stages_sizing; index++) + array->m_instr_class_stages_array[index].reset(); + } + + if (statements_sizing > 0) + { + array->m_instr_class_statements_array= + PFS_MALLOC_ARRAY(& builtin_memory_account_statements, + statements_sizing, sizeof(PFS_statement_stat), PFS_statement_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_statements_array == NULL) + return 1; + + for (index=0; index < statements_sizing; index++) + array->m_instr_class_statements_array[index].reset(); + } + + if (transactions_sizing > 0) + { + array->m_instr_class_transactions_array= + PFS_MALLOC_ARRAY(& builtin_memory_account_transactions, + transactions_sizing, sizeof(PFS_transaction_stat), PFS_transaction_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_transactions_array == NULL) + return 1; + + for (index=0; index < transactions_sizing; index++) + array->m_instr_class_transactions_array[index].reset(); + } + + if (memory_sizing > 0) + { + array->m_instr_class_memory_array= + PFS_MALLOC_ARRAY(& builtin_memory_account_memory, + memory_sizing, sizeof(PFS_memory_stat), PFS_memory_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_memory_array == NULL) + return 1; + + for (index=0; index < memory_sizing; index++) + array->m_instr_class_memory_array[index].reset(); + } + + for (index= 0; index < size; index++) + { + array->m_ptr[index].set_instr_class_waits_stats( + & array->m_instr_class_waits_array[index * wait_class_max]); + array->m_ptr[index].set_instr_class_stages_stats( + & array->m_instr_class_stages_array[index * stage_class_max]); + array->m_ptr[index].set_instr_class_statements_stats( + & array->m_instr_class_statements_array[index * statement_class_max]); + array->m_ptr[index].set_instr_class_transactions_stats( + & array->m_instr_class_transactions_array[index * transaction_class_max]); + array->m_ptr[index].set_instr_class_memory_stats( + & array->m_instr_class_memory_array[index * memory_class_max]); + } + + array->m_full= false; + return 0; +} + +void PFS_account_allocator::free_array(PFS_account_array *array, size_t size) +{ + size_t waits_sizing= size * wait_class_max; + size_t stages_sizing= size * stage_class_max; + size_t statements_sizing= size * statement_class_max; + size_t transactions_sizing= size * transaction_class_max; + size_t memory_sizing= size * memory_class_max; + + PFS_FREE_ARRAY(& builtin_memory_account, + size, sizeof(PFS_account), array->m_ptr); + array->m_ptr= NULL; + + PFS_FREE_ARRAY(& builtin_memory_account_waits, + waits_sizing, sizeof(PFS_single_stat), + array->m_instr_class_waits_array); + array->m_instr_class_waits_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_account_stages, + stages_sizing, sizeof(PFS_stage_stat), + array->m_instr_class_stages_array); + array->m_instr_class_stages_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_account_statements, + statements_sizing, sizeof(PFS_statement_stat), + array->m_instr_class_statements_array); + array->m_instr_class_statements_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_account_transactions, + transactions_sizing, sizeof(PFS_transaction_stat), + array->m_instr_class_transactions_array); + array->m_instr_class_transactions_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_account_memory, + memory_sizing, sizeof(PFS_memory_stat), + array->m_instr_class_memory_array); + array->m_instr_class_memory_array= NULL; +} + +PFS_account_allocator account_allocator; +PFS_account_container global_account_container(& account_allocator); + +int PFS_host_allocator::alloc_array(PFS_host_array *array, size_t size) +{ + PFS_host *pfs; + size_t index; + size_t waits_sizing= size * wait_class_max; + size_t stages_sizing= size * stage_class_max; + size_t statements_sizing= size * statement_class_max; + size_t transactions_sizing= size * transaction_class_max; + size_t memory_sizing= size * memory_class_max; + + array->m_ptr= NULL; + array->m_full= true; + array->m_instr_class_waits_array= NULL; + array->m_instr_class_stages_array= NULL; + array->m_instr_class_statements_array= NULL; + array->m_instr_class_transactions_array= NULL; + array->m_instr_class_memory_array= NULL; + + if (size > 0) + { + array->m_ptr= + PFS_MALLOC_ARRAY(& builtin_memory_host, + size, sizeof(PFS_host), PFS_host, MYF(MY_ZEROFILL)); + if (array->m_ptr == NULL) + return 1; + } + + if (waits_sizing > 0) + { + array->m_instr_class_waits_array= + PFS_MALLOC_ARRAY(& builtin_memory_host_waits, + waits_sizing, sizeof(PFS_single_stat), PFS_single_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_waits_array == NULL) + return 1; + + for (index=0; index < waits_sizing; index++) + array->m_instr_class_waits_array[index].reset(); + } + + if (stages_sizing > 0) + { + array->m_instr_class_stages_array= + PFS_MALLOC_ARRAY(& builtin_memory_host_stages, + stages_sizing, sizeof(PFS_stage_stat), PFS_stage_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_stages_array == NULL) + return 1; + + for (index=0; index < stages_sizing; index++) + array->m_instr_class_stages_array[index].reset(); + } + + if (statements_sizing > 0) + { + array->m_instr_class_statements_array= + PFS_MALLOC_ARRAY(& builtin_memory_host_statements, + statements_sizing, sizeof(PFS_statement_stat), PFS_statement_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_statements_array == NULL) + return 1; + + for (index=0; index < statements_sizing; index++) + array->m_instr_class_statements_array[index].reset(); + } + + if (transactions_sizing > 0) + { + array->m_instr_class_transactions_array= + PFS_MALLOC_ARRAY(& builtin_memory_host_transactions, + transactions_sizing, sizeof(PFS_transaction_stat), PFS_transaction_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_transactions_array == NULL) + return 1; + + for (index=0; index < transactions_sizing; index++) + array->m_instr_class_transactions_array[index].reset(); + } + + if (memory_sizing > 0) + { + array->m_instr_class_memory_array= + PFS_MALLOC_ARRAY(& builtin_memory_host_memory, + memory_sizing, sizeof(PFS_memory_stat), PFS_memory_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_memory_array == NULL) + return 1; + + for (index=0; index < memory_sizing; index++) + array->m_instr_class_memory_array[index].reset(); + } + + for (index= 0; index < size; index++) + { + pfs= & array->m_ptr[index]; + + pfs->set_instr_class_waits_stats( + & array->m_instr_class_waits_array[index * wait_class_max]); + pfs->set_instr_class_stages_stats( + & array->m_instr_class_stages_array[index * stage_class_max]); + pfs->set_instr_class_statements_stats( + & array->m_instr_class_statements_array[index * statement_class_max]); + pfs->set_instr_class_transactions_stats( + & array->m_instr_class_transactions_array[index * transaction_class_max]); + pfs->set_instr_class_memory_stats( + & array->m_instr_class_memory_array[index * memory_class_max]); + } + + array->m_full= false; + return 0; +} + +void PFS_host_allocator::free_array(PFS_host_array *array, size_t size) +{ + size_t waits_sizing= size * wait_class_max; + size_t stages_sizing= size * stage_class_max; + size_t statements_sizing= size * statement_class_max; + size_t transactions_sizing= size * transaction_class_max; + size_t memory_sizing= size * memory_class_max; + + PFS_FREE_ARRAY(& builtin_memory_host, + size, sizeof(PFS_host), array->m_ptr); + array->m_ptr= NULL; + + PFS_FREE_ARRAY(& builtin_memory_host_waits, + waits_sizing, sizeof(PFS_single_stat), + array->m_instr_class_waits_array); + array->m_instr_class_waits_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_host_stages, + stages_sizing, sizeof(PFS_stage_stat), + array->m_instr_class_stages_array); + array->m_instr_class_stages_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_host_statements, + statements_sizing, sizeof(PFS_statement_stat), + array->m_instr_class_statements_array); + array->m_instr_class_statements_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_host_transactions, + transactions_sizing, sizeof(PFS_transaction_stat), + array->m_instr_class_transactions_array); + array->m_instr_class_transactions_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_host_memory, + memory_sizing, sizeof(PFS_memory_stat), + array->m_instr_class_memory_array); + array->m_instr_class_memory_array= NULL; +} + +PFS_host_allocator host_allocator; +PFS_host_container global_host_container(& host_allocator); + +int PFS_thread_allocator::alloc_array(PFS_thread_array *array, size_t size) +{ + PFS_thread *pfs; + PFS_events_statements *pfs_stmt; + unsigned char *pfs_tokens; + + size_t index; + size_t waits_sizing= size * wait_class_max; + size_t stages_sizing= size * stage_class_max; + size_t statements_sizing= size * statement_class_max; + size_t transactions_sizing= size * transaction_class_max; + size_t memory_sizing= size * memory_class_max; + + size_t waits_history_sizing= size * events_waits_history_per_thread; + size_t stages_history_sizing= size * events_stages_history_per_thread; + size_t statements_history_sizing= size * events_statements_history_per_thread; + size_t statements_stack_sizing= size * statement_stack_max; + size_t transactions_history_sizing= size * events_transactions_history_per_thread; + size_t session_connect_attrs_sizing= size * session_connect_attrs_size_per_thread; + + size_t current_sqltext_sizing= size * pfs_max_sqltext * statement_stack_max; + size_t history_sqltext_sizing= size * pfs_max_sqltext * events_statements_history_per_thread; + size_t current_digest_tokens_sizing= size * pfs_max_digest_length * statement_stack_max; + size_t history_digest_tokens_sizing= size * pfs_max_digest_length * events_statements_history_per_thread; + + array->m_ptr= NULL; + array->m_full= true; + array->m_instr_class_waits_array= NULL; + array->m_instr_class_stages_array= NULL; + array->m_instr_class_statements_array= NULL; + array->m_instr_class_transactions_array= NULL; + array->m_instr_class_memory_array= NULL; + + array->m_waits_history_array= NULL; + array->m_stages_history_array= NULL; + array->m_statements_history_array= NULL; + array->m_statements_stack_array= NULL; + array->m_transactions_history_array= NULL; + array->m_session_connect_attrs_array= NULL; + + array->m_current_stmts_text_array= NULL; + array->m_current_stmts_digest_token_array= NULL; + array->m_history_stmts_text_array= NULL; + array->m_history_stmts_digest_token_array= NULL; + + if (size > 0) + { + array->m_ptr= + PFS_MALLOC_ARRAY(& builtin_memory_thread, + size, sizeof(PFS_thread), PFS_thread, MYF(MY_ZEROFILL)); + if (array->m_ptr == NULL) + return 1; + } + + if (waits_sizing > 0) + { + array->m_instr_class_waits_array= + PFS_MALLOC_ARRAY(& builtin_memory_thread_waits, + waits_sizing, sizeof(PFS_single_stat), PFS_single_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_waits_array == NULL) + return 1; + + for (index=0; index < waits_sizing; index++) + array->m_instr_class_waits_array[index].reset(); + } + + if (stages_sizing > 0) + { + array->m_instr_class_stages_array= + PFS_MALLOC_ARRAY(& builtin_memory_thread_stages, + stages_sizing, sizeof(PFS_stage_stat), PFS_stage_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_stages_array == NULL) + return 1; + + for (index=0; index < stages_sizing; index++) + array->m_instr_class_stages_array[index].reset(); + } + + if (statements_sizing > 0) + { + array->m_instr_class_statements_array= + PFS_MALLOC_ARRAY(& builtin_memory_thread_statements, + statements_sizing, sizeof(PFS_statement_stat), PFS_statement_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_statements_array == NULL) + return 1; + + for (index=0; index < statements_sizing; index++) + array->m_instr_class_statements_array[index].reset(); + } + + if (transactions_sizing > 0) + { + array->m_instr_class_transactions_array= + PFS_MALLOC_ARRAY(& builtin_memory_thread_transactions, + transactions_sizing, sizeof(PFS_transaction_stat), PFS_transaction_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_transactions_array == NULL) + return 1; + + for (index=0; index < transactions_sizing; index++) + array->m_instr_class_transactions_array[index].reset(); + } + + if (memory_sizing > 0) + { + array->m_instr_class_memory_array= + PFS_MALLOC_ARRAY(& builtin_memory_thread_memory, + memory_sizing, sizeof(PFS_memory_stat), PFS_memory_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_memory_array == NULL) + return 1; + + for (index=0; index < memory_sizing; index++) + array->m_instr_class_memory_array[index].reset(); + } + + if (waits_history_sizing > 0) + { + array->m_waits_history_array= + PFS_MALLOC_ARRAY(& builtin_memory_thread_waits_history, + waits_history_sizing, sizeof(PFS_events_waits), PFS_events_waits, MYF(MY_ZEROFILL)); + if (unlikely(array->m_waits_history_array == NULL)) + return 1; + } + + if (stages_history_sizing > 0) + { + array->m_stages_history_array= + PFS_MALLOC_ARRAY(& builtin_memory_thread_stages_history, + stages_history_sizing, sizeof(PFS_events_stages), PFS_events_stages, MYF(MY_ZEROFILL)); + if (unlikely(array->m_stages_history_array == NULL)) + return 1; + } + + if (statements_history_sizing > 0) + { + array->m_statements_history_array= + PFS_MALLOC_ARRAY(& builtin_memory_thread_statements_history, + statements_history_sizing, sizeof(PFS_events_statements), PFS_events_statements, MYF(MY_ZEROFILL)); + if (unlikely(array->m_statements_history_array == NULL)) + return 1; + } + + if (statements_stack_sizing > 0) + { + array->m_statements_stack_array= + PFS_MALLOC_ARRAY(& builtin_memory_thread_statements_stack, + statements_stack_sizing, sizeof(PFS_events_statements), PFS_events_statements, MYF(MY_ZEROFILL)); + if (unlikely(array->m_statements_stack_array == NULL)) + return 1; + } + + if (transactions_history_sizing > 0) + { + array->m_transactions_history_array= + PFS_MALLOC_ARRAY(& builtin_memory_thread_transaction_history, + transactions_history_sizing, sizeof(PFS_events_transactions), PFS_events_transactions, MYF(MY_ZEROFILL)); + if (unlikely(array->m_transactions_history_array == NULL)) + return 1; + } + + if (session_connect_attrs_sizing > 0) + { + array->m_session_connect_attrs_array= + (char *)pfs_malloc(& builtin_memory_thread_session_connect_attrs, + session_connect_attrs_sizing, MYF(MY_ZEROFILL)); + if (unlikely(array->m_session_connect_attrs_array == NULL)) + return 1; + } + + if (current_sqltext_sizing > 0) + { + array->m_current_stmts_text_array= + (char *)pfs_malloc(& builtin_memory_thread_statements_stack_sqltext, + current_sqltext_sizing, MYF(MY_ZEROFILL)); + if (unlikely(array->m_current_stmts_text_array == NULL)) + return 1; + } + + if (history_sqltext_sizing > 0) + { + array->m_history_stmts_text_array= + (char *)pfs_malloc(& builtin_memory_thread_statements_history_sqltext, + history_sqltext_sizing, MYF(MY_ZEROFILL)); + if (unlikely(array->m_history_stmts_text_array == NULL)) + return 1; + } + + if (current_digest_tokens_sizing > 0) + { + array->m_current_stmts_digest_token_array= + (unsigned char *)pfs_malloc(& builtin_memory_thread_statements_stack_tokens, + current_digest_tokens_sizing, MYF(MY_ZEROFILL)); + if (unlikely(array->m_current_stmts_digest_token_array == NULL)) + return 1; + } + + if (history_digest_tokens_sizing > 0) + { + array->m_history_stmts_digest_token_array= + (unsigned char *)pfs_malloc(& builtin_memory_thread_statements_history_tokens, + history_digest_tokens_sizing, MYF(MY_ZEROFILL)); + if (unlikely(array->m_history_stmts_digest_token_array == NULL)) + return 1; + } + + for (index= 0; index < size; index++) + { + pfs= & array->m_ptr[index]; + + pfs->set_instr_class_waits_stats( + & array->m_instr_class_waits_array[index * wait_class_max]); + pfs->set_instr_class_stages_stats( + & array->m_instr_class_stages_array[index * stage_class_max]); + pfs->set_instr_class_statements_stats( + & array->m_instr_class_statements_array[index * statement_class_max]); + pfs->set_instr_class_transactions_stats( + & array->m_instr_class_transactions_array[index * transaction_class_max]); + pfs->set_instr_class_memory_stats( + & array->m_instr_class_memory_array[index * memory_class_max]); + + pfs->m_waits_history= + & array->m_waits_history_array[index * events_waits_history_per_thread]; + pfs->m_stages_history= + & array->m_stages_history_array[index * events_stages_history_per_thread]; + pfs->m_statements_history= + & array->m_statements_history_array[index * events_statements_history_per_thread]; + pfs->m_statement_stack= + & array->m_statements_stack_array[index * statement_stack_max]; + pfs->m_transactions_history= + & array->m_transactions_history_array[index * events_transactions_history_per_thread]; + pfs->m_session_connect_attrs= + & array->m_session_connect_attrs_array[index * session_connect_attrs_size_per_thread]; + } + + for (index= 0; index < statements_stack_sizing; index++) + { + pfs_stmt= & array->m_statements_stack_array[index]; + + pfs_stmt->m_sqltext= & array->m_current_stmts_text_array[index * pfs_max_sqltext]; + + pfs_tokens= & array->m_current_stmts_digest_token_array[index * pfs_max_digest_length]; + pfs_stmt->m_digest_storage.reset(pfs_tokens, pfs_max_digest_length); + } + + for (index= 0; index < statements_history_sizing; index++) + { + pfs_stmt= & array->m_statements_history_array[index]; + + pfs_stmt->m_sqltext= & array->m_history_stmts_text_array[index * pfs_max_sqltext]; + + pfs_tokens= & array->m_history_stmts_digest_token_array[index * pfs_max_digest_length]; + pfs_stmt->m_digest_storage.reset(pfs_tokens, pfs_max_digest_length); + } + + array->m_full= false; + return 0; +} + +void PFS_thread_allocator::free_array(PFS_thread_array *array, size_t size) +{ + size_t waits_sizing= size * wait_class_max; + size_t stages_sizing= size * stage_class_max; + size_t statements_sizing= size * statement_class_max; + size_t transactions_sizing= size * transaction_class_max; + size_t memory_sizing= size * memory_class_max; + + size_t waits_history_sizing= size * events_waits_history_per_thread; + size_t stages_history_sizing= size * events_stages_history_per_thread; + size_t statements_history_sizing= size * events_statements_history_per_thread; + size_t statements_stack_sizing= size * statement_stack_max; + size_t transactions_history_sizing= size * events_transactions_history_per_thread; + size_t session_connect_attrs_sizing= size * session_connect_attrs_size_per_thread; + + size_t current_sqltext_sizing= size * pfs_max_sqltext * statement_stack_max; + size_t history_sqltext_sizing= size * pfs_max_sqltext * events_statements_history_per_thread; + size_t current_digest_tokens_sizing= size * pfs_max_digest_length * statement_stack_max; + size_t history_digest_tokens_sizing= size * pfs_max_digest_length * events_statements_history_per_thread; + + PFS_FREE_ARRAY(& builtin_memory_thread, + size, sizeof(PFS_thread), array->m_ptr); + array->m_ptr= NULL; + + PFS_FREE_ARRAY(& builtin_memory_thread_waits, + waits_sizing, sizeof(PFS_single_stat), + array->m_instr_class_waits_array); + array->m_instr_class_waits_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_thread_stages, + stages_sizing, sizeof(PFS_stage_stat), + array->m_instr_class_stages_array); + array->m_instr_class_stages_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_thread_statements, + statements_sizing, sizeof(PFS_statement_stat), + array->m_instr_class_statements_array); + array->m_instr_class_statements_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_thread_transactions, + transactions_sizing, sizeof(PFS_transaction_stat), + array->m_instr_class_transactions_array); + array->m_instr_class_transactions_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_thread_memory, + memory_sizing, sizeof(PFS_memory_stat), + array->m_instr_class_memory_array); + array->m_instr_class_memory_array= NULL; + + + PFS_FREE_ARRAY(& builtin_memory_thread_waits_history, + waits_history_sizing, sizeof(PFS_events_waits), + array->m_waits_history_array); + array->m_waits_history_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_thread_stages_history, + stages_history_sizing, sizeof(PFS_events_stages), + array->m_stages_history_array); + array->m_stages_history_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_thread_statements_history, + statements_history_sizing, sizeof(PFS_events_statements), + array->m_statements_history_array); + array->m_statements_history_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_thread_statements_stack, + statements_stack_sizing, sizeof(PFS_events_statements), + array->m_statements_stack_array); + array->m_statements_stack_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_thread_transaction_history, + transactions_history_sizing, sizeof(PFS_events_transactions), + array->m_transactions_history_array); + array->m_transactions_history_array= NULL; + + pfs_free(& builtin_memory_thread_session_connect_attrs, + session_connect_attrs_sizing, + array->m_session_connect_attrs_array); + array->m_session_connect_attrs_array= NULL; + + pfs_free(& builtin_memory_thread_statements_stack_sqltext, + current_sqltext_sizing, + array->m_current_stmts_text_array); + array->m_current_stmts_text_array= NULL; + + pfs_free(& builtin_memory_thread_statements_history_sqltext, + history_sqltext_sizing, + array->m_history_stmts_text_array); + array->m_history_stmts_text_array= NULL; + + pfs_free(& builtin_memory_thread_statements_stack_tokens, + current_digest_tokens_sizing, + array->m_current_stmts_digest_token_array); + array->m_current_stmts_digest_token_array= NULL; + + pfs_free(& builtin_memory_thread_statements_history_tokens, + history_digest_tokens_sizing, + array->m_history_stmts_digest_token_array); + array->m_history_stmts_digest_token_array= NULL; +} + +PFS_thread_allocator thread_allocator; +PFS_thread_container global_thread_container(& thread_allocator); + +int PFS_user_allocator::alloc_array(PFS_user_array *array, size_t size) +{ + PFS_user *pfs; + size_t index; + size_t waits_sizing= size * wait_class_max; + size_t stages_sizing= size * stage_class_max; + size_t statements_sizing= size * statement_class_max; + size_t transactions_sizing= size * transaction_class_max; + size_t memory_sizing= size * memory_class_max; + + array->m_ptr= NULL; + array->m_full= true; + array->m_instr_class_waits_array= NULL; + array->m_instr_class_stages_array= NULL; + array->m_instr_class_statements_array= NULL; + array->m_instr_class_transactions_array= NULL; + array->m_instr_class_memory_array= NULL; + + if (size > 0) + { + array->m_ptr= + PFS_MALLOC_ARRAY(& builtin_memory_user, + size, sizeof(PFS_user), PFS_user, MYF(MY_ZEROFILL)); + if (array->m_ptr == NULL) + return 1; + } + + if (waits_sizing > 0) + { + array->m_instr_class_waits_array= + PFS_MALLOC_ARRAY(& builtin_memory_user_waits, + waits_sizing, sizeof(PFS_single_stat), PFS_single_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_waits_array == NULL) + return 1; + + for (index=0; index < waits_sizing; index++) + array->m_instr_class_waits_array[index].reset(); + } + + if (stages_sizing > 0) + { + array->m_instr_class_stages_array= + PFS_MALLOC_ARRAY(& builtin_memory_user_stages, + stages_sizing, sizeof(PFS_stage_stat), PFS_stage_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_stages_array == NULL) + return 1; + + for (index=0; index < stages_sizing; index++) + array->m_instr_class_stages_array[index].reset(); + } + + if (statements_sizing > 0) + { + array->m_instr_class_statements_array= + PFS_MALLOC_ARRAY(& builtin_memory_user_statements, + statements_sizing, sizeof(PFS_statement_stat), PFS_statement_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_statements_array == NULL) + return 1; + + for (index=0; index < statements_sizing; index++) + array->m_instr_class_statements_array[index].reset(); + } + + if (transactions_sizing > 0) + { + array->m_instr_class_transactions_array= + PFS_MALLOC_ARRAY(& builtin_memory_user_transactions, + transactions_sizing, sizeof(PFS_transaction_stat), PFS_transaction_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_transactions_array == NULL) + return 1; + + for (index=0; index < transactions_sizing; index++) + array->m_instr_class_transactions_array[index].reset(); + } + + if (memory_sizing > 0) + { + array->m_instr_class_memory_array= + PFS_MALLOC_ARRAY(& builtin_memory_user_memory, + memory_sizing, sizeof(PFS_memory_stat), PFS_memory_stat, MYF(MY_ZEROFILL)); + if (array->m_instr_class_memory_array == NULL) + return 1; + + for (index=0; index < memory_sizing; index++) + array->m_instr_class_memory_array[index].reset(); + } + + for (index= 0; index < size; index++) + { + pfs= & array->m_ptr[index]; + + pfs->set_instr_class_waits_stats( + & array->m_instr_class_waits_array[index * wait_class_max]); + pfs->set_instr_class_stages_stats( + & array->m_instr_class_stages_array[index * stage_class_max]); + pfs->set_instr_class_statements_stats( + & array->m_instr_class_statements_array[index * statement_class_max]); + pfs->set_instr_class_transactions_stats( + & array->m_instr_class_transactions_array[index * transaction_class_max]); + pfs->set_instr_class_memory_stats( + & array->m_instr_class_memory_array[index * memory_class_max]); + } + + array->m_full= false; + return 0; +} + +void PFS_user_allocator::free_array(PFS_user_array *array, size_t size) +{ + size_t waits_sizing= size * wait_class_max; + size_t stages_sizing= size * stage_class_max; + size_t statements_sizing= size * statement_class_max; + size_t transactions_sizing= size * transaction_class_max; + size_t memory_sizing= size * memory_class_max; + + PFS_FREE_ARRAY(& builtin_memory_user, + size, sizeof(PFS_user), array->m_ptr); + array->m_ptr= NULL; + + PFS_FREE_ARRAY(& builtin_memory_user_waits, + waits_sizing, sizeof(PFS_single_stat), + array->m_instr_class_waits_array); + array->m_instr_class_waits_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_user_stages, + stages_sizing, sizeof(PFS_stage_stat), + array->m_instr_class_stages_array); + array->m_instr_class_stages_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_user_statements, + statements_sizing, sizeof(PFS_statement_stat), + array->m_instr_class_statements_array); + array->m_instr_class_statements_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_user_transactions, + transactions_sizing, sizeof(PFS_transaction_stat), + array->m_instr_class_transactions_array); + array->m_instr_class_transactions_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_user_memory, + memory_sizing, sizeof(PFS_memory_stat), + array->m_instr_class_memory_array); + array->m_instr_class_memory_array= NULL; +} + +PFS_user_allocator user_allocator; +PFS_user_container global_user_container(& user_allocator); + diff --git a/storage/perfschema/pfs_buffer_container.h b/storage/perfschema/pfs_buffer_container.h new file mode 100644 index 00000000000..326d4e0b676 --- /dev/null +++ b/storage/perfschema/pfs_buffer_container.h @@ -0,0 +1,1593 @@ +/* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef PFS_BUFFER_CONTAINER_H +#define PFS_BUFFER_CONTAINER_H + +#include "my_global.h" +#include "pfs.h" // PSI_COUNT_VOLATILITY +#include "pfs_lock.h" +#include "pfs_instr.h" +#include "pfs_setup_actor.h" +#include "pfs_setup_object.h" +#include "pfs_program.h" +#include "pfs_prepared_stmt.h" +#include "pfs_builtin_memory.h" + +#define USE_SCALABLE + +class PFS_opaque_container_page; +class PFS_opaque_container; + +struct PFS_builtin_memory_class; + +template <class T> +class PFS_buffer_const_iterator; + +template <class T> +class PFS_buffer_processor; + +template <class T, class U, class V> +class PFS_buffer_iterator; + +template <class T, int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class U, class V> +class PFS_buffer_scalable_iterator; + +template <class T> +class PFS_buffer_default_array; + +template <class T> +class PFS_buffer_default_allocator; + +template <class T, class U, class V> +class PFS_buffer_container; + +template <class T, int PFS_PAGE_SIZE, int PFS_PAGE_COUNT, class U, class V> +class PFS_buffer_scalable_container; + +template <class B, int COUNT> +class PFS_partitioned_buffer_scalable_iterator; + +template <class B, int COUNT> +class PFS_partitioned_buffer_scalable_container; + + +template <class T> +class PFS_buffer_default_array +{ +public: + typedef T value_type; + + value_type *allocate(pfs_dirty_state *dirty_state, size_t max) + { + uint index; + uint monotonic; + uint monotonic_max; + value_type *pfs; + + if (m_full) + return NULL; + + monotonic= PFS_atomic::add_u32(& m_monotonic.m_u32, 1); + monotonic_max= monotonic + max; + + do + { + index= monotonic % max; + pfs= m_ptr + index; + + if (pfs->m_lock.free_to_dirty(dirty_state)) + { + return pfs; + } + monotonic= PFS_atomic::add_u32(& m_monotonic.m_u32, 1); + } + while (monotonic < monotonic_max); + + m_full= true; + return NULL; + } + + void deallocate(value_type *pfs) + { + pfs->m_lock.allocated_to_free(); + m_full= false; + } + + bool m_full; + PFS_cacheline_uint32 m_monotonic; + T * m_ptr; + /** Container. */ + PFS_opaque_container *m_container; +}; + +template <class T> +class PFS_buffer_default_allocator +{ +public: + typedef PFS_buffer_default_array<T> array_type; + + PFS_buffer_default_allocator(PFS_builtin_memory_class *klass) + : m_builtin_class(klass) + {} + + int alloc_array(array_type *array, size_t size) + { + array->m_ptr= NULL; + array->m_full= true; + array->m_monotonic.m_u32= 0; + + if (size > 0) + { + array->m_ptr= PFS_MALLOC_ARRAY(m_builtin_class, + size, sizeof(T), T, MYF(MY_ZEROFILL)); + if (array->m_ptr == NULL) + return 1; + array->m_full= false; + } + return 0; + } + + void free_array(array_type *array, size_t size) + { + PFS_FREE_ARRAY(m_builtin_class, + size, sizeof(T), array->m_ptr); + array->m_ptr= NULL; + } + +private: + PFS_builtin_memory_class *m_builtin_class; +}; + +template <class T, + class U = PFS_buffer_default_array<T>, + class V = PFS_buffer_default_allocator<T> > +class PFS_buffer_container +{ +public: + friend class PFS_buffer_iterator<T, U, V>; + + typedef T value_type; + typedef U array_type; + typedef V allocator_type; + typedef PFS_buffer_const_iterator<T> const_iterator_type; + typedef PFS_buffer_iterator<T, U, V> iterator_type; + typedef PFS_buffer_processor<T> processor_type; + typedef void (*function_type)(value_type *); + + PFS_buffer_container(allocator_type *allocator) + { + m_array.m_full= true; + m_array.m_ptr= NULL; + m_array.m_monotonic.m_u32= 0; + m_lost= 0; + m_max= 0; + m_allocator= allocator; + } + + int init(ulong max_size) + { + if (max_size > 0) + { + int rc= m_allocator->alloc_array(& m_array, max_size); + if (rc != 0) + { + m_allocator->free_array(& m_array, max_size); + return 1; + } + m_max= max_size; + m_array.m_full= false; + } + return 0; + } + + void cleanup() + { + m_allocator->free_array(& m_array, m_max); + } + + ulong get_row_count() const + { + return m_max; + } + + ulong get_row_size() const + { + return sizeof(value_type); + } + + ulong get_memory() const + { + return get_row_count() * get_row_size(); + } + + value_type *allocate(pfs_dirty_state *dirty_state) + { + value_type *pfs; + + pfs= m_array.allocate(dirty_state, m_max); + if (pfs == NULL) + { + m_lost++; + } + + return pfs; + } + + void deallocate(value_type *pfs) + { + m_array.deallocate(pfs); + } + + iterator_type iterate() + { + return PFS_buffer_iterator<T, U, V>(this, 0); + } + + iterator_type iterate(uint index) + { + DBUG_ASSERT(index <= m_max); + return PFS_buffer_iterator<T, U, V>(this, index); + } + + void apply(function_type fct) + { + value_type *pfs= m_array.m_ptr; + value_type *pfs_last= pfs + m_max; + + while (pfs < pfs_last) + { + if (pfs->m_lock.is_populated()) + { + fct(pfs); + } + pfs++; + } + } + + void apply_all(function_type fct) + { + value_type *pfs= m_array.m_ptr; + value_type *pfs_last= pfs + m_max; + + while (pfs < pfs_last) + { + fct(pfs); + pfs++; + } + } + + void apply(processor_type & proc) + { + value_type *pfs= m_array.m_ptr; + value_type *pfs_last= pfs + m_max; + + while (pfs < pfs_last) + { + if (pfs->m_lock.is_populated()) + { + proc(pfs); + } + pfs++; + } + } + + void apply_all(processor_type & proc) + { + value_type *pfs= m_array.m_ptr; + value_type *pfs_last= pfs + m_max; + + while (pfs < pfs_last) + { + proc(pfs); + pfs++; + } + } + + inline value_type* get(uint index) + { + DBUG_ASSERT(index < m_max); + + value_type *pfs= m_array.m_ptr + index; + if (pfs->m_lock.is_populated()) + { + return pfs; + } + + return NULL; + } + + value_type* get(uint index, bool *has_more) + { + if (index >= m_max) + { + *has_more= false; + return NULL; + } + + *has_more= true; + return get(index); + } + + value_type *sanitize(value_type *unsafe) + { + intptr offset; + value_type *pfs= m_array.m_ptr; + value_type *pfs_last= pfs + m_max; + + if ((pfs <= unsafe) && + (unsafe < pfs_last)) + { + offset= ((intptr) unsafe - (intptr) pfs) % sizeof(value_type); + if (offset == 0) + return unsafe; + } + + return NULL; + } + + ulong m_lost; + +private: + value_type* scan_next(uint & index, uint * found_index) + { + DBUG_ASSERT(index <= m_max); + + value_type *pfs_first= m_array.m_ptr; + value_type *pfs= pfs_first + index; + value_type *pfs_last= pfs_first + m_max; + + while (pfs < pfs_last) + { + if (pfs->m_lock.is_populated()) + { + uint found= pfs - pfs_first; + *found_index= found; + index= found + 1; + return pfs; + } + pfs++; + } + + index= m_max; + return NULL; + } + + ulong m_max; + array_type m_array; + allocator_type *m_allocator; +}; + +template <class T, + int PFS_PAGE_SIZE, + int PFS_PAGE_COUNT, + class U = PFS_buffer_default_array<T>, + class V = PFS_buffer_default_allocator<T> > +class PFS_buffer_scalable_container +{ +public: + friend class PFS_buffer_scalable_iterator<T, PFS_PAGE_SIZE, PFS_PAGE_COUNT, U, V>; + + /** + Type of elements in the buffer. + The following attributes are required: + - pfs_lock m_lock + - PFS_opaque_container_page *m_page + */ + typedef T value_type; + /** + Type of pages in the buffer. + The following attributes are required: + - PFS_opaque_container *m_container + */ + typedef U array_type; + typedef V allocator_type; + /** This container type */ + typedef PFS_buffer_scalable_container<T, PFS_PAGE_SIZE, PFS_PAGE_COUNT, U, V> container_type; + typedef PFS_buffer_const_iterator<T> const_iterator_type; + typedef PFS_buffer_scalable_iterator<T, PFS_PAGE_SIZE, PFS_PAGE_COUNT, U, V> iterator_type; + typedef PFS_buffer_processor<T> processor_type; + typedef void (*function_type)(value_type *); + + static const size_t MAX_SIZE= PFS_PAGE_SIZE*PFS_PAGE_COUNT; + + PFS_buffer_scalable_container(allocator_type *allocator) + { + m_allocator= allocator; + m_initialized= false; + } + + int init(long max_size) + { + int i; + + m_initialized= true; + m_full= true; + m_max= PFS_PAGE_COUNT * PFS_PAGE_SIZE; + m_max_page_count= PFS_PAGE_COUNT; + m_last_page_size= PFS_PAGE_SIZE; + m_lost= 0; + m_monotonic.m_u32= 0; + m_max_page_index.m_u32= 0; + + for (i=0 ; i < PFS_PAGE_COUNT; i++) + { + m_pages[i]= NULL; + } + + if (max_size == 0) + { + /* No allocation. */ + m_max_page_count= 0; + } + else if (max_size > 0) + { + if (max_size % PFS_PAGE_SIZE == 0) + { + m_max_page_count= max_size / PFS_PAGE_SIZE; + } + else + { + m_max_page_count= max_size / PFS_PAGE_SIZE + 1; + m_last_page_size= max_size % PFS_PAGE_SIZE; + } + /* Bounded allocation. */ + m_full= false; + + if (m_max_page_count > PFS_PAGE_COUNT) + { + m_max_page_count= PFS_PAGE_COUNT; + m_last_page_size= PFS_PAGE_SIZE; + } + } + else + { + /* max_size = -1 means unbounded allocation */ + m_full= false; + } + + DBUG_ASSERT(m_max_page_count <= PFS_PAGE_COUNT); + DBUG_ASSERT(m_last_page_size <= PFS_PAGE_SIZE); + + native_mutex_init(& m_critical_section, NULL); + return 0; + } + + void cleanup() + { + int i; + array_type *page; + + if (! m_initialized) + return; + + native_mutex_lock(& m_critical_section); + + for (i=0 ; i < PFS_PAGE_COUNT; i++) + { + page= m_pages[i]; + if (page != NULL) + { + m_allocator->free_array(page, PFS_PAGE_SIZE); + delete page; + m_pages[i]= NULL; + } + } + native_mutex_unlock(& m_critical_section); + + native_mutex_destroy(& m_critical_section); + + m_initialized= false; + } + + ulong get_row_count() + { + ulong page_count= PFS_atomic::load_u32(& m_max_page_index.m_u32); + + return page_count * PFS_PAGE_SIZE; + } + + ulong get_row_size() const + { + return sizeof(value_type); + } + + ulong get_memory() + { + return get_row_count() * get_row_size(); + } + + value_type *allocate(pfs_dirty_state *dirty_state) + { + if (m_full) + { + m_lost++; + return NULL; + } + + uint index; + uint monotonic; + uint monotonic_max; + uint current_page_count; + uint page_logical_size; + value_type *pfs; + array_type *array; + + void *addr; + void * volatile * typed_addr; + void *ptr; + + /* + 1: Try to find an available record within the existing pages + */ + current_page_count= PFS_atomic::load_u32(& m_max_page_index.m_u32); + + if (current_page_count != 0) + { + monotonic= PFS_atomic::load_u32(& m_monotonic.m_u32); + monotonic_max= monotonic + current_page_count; + + while (monotonic < monotonic_max) + { + /* + Scan in the [0 .. current_page_count - 1] range, + in parallel with m_monotonic (see below) + */ + index= monotonic % current_page_count; + + /* Atomic Load, array= m_pages[index] */ + addr= & m_pages[index]; + typed_addr= static_cast<void * volatile *>(addr); + ptr= my_atomic_loadptr(typed_addr); + array= static_cast<array_type *>(ptr); + + if (array != NULL) + { + page_logical_size= get_page_logical_size(index); + pfs= array->allocate(dirty_state, page_logical_size); + if (pfs != NULL) + { + /* Keep a pointer to the parent page, for deallocate(). */ + pfs->m_page= reinterpret_cast<PFS_opaque_container_page *> (array); + return pfs; + } + } + + /* + Parallel scans collaborate to increase + the common monotonic scan counter. + + Note that when all the existing page are full, + one thread will eventually add a new page, + and cause m_max_page_index to increase, + which fools all the modulo logic for scans already in progress, + because the monotonic counter is not folded to the same place + (sometime modulo N, sometime modulo N+1). + + This is actually ok: since all the pages are full anyway, + there is nothing to miss, so better increase the monotonic + counter faster and then move on to the detection of new pages, + in part 2: below. + */ + monotonic= PFS_atomic::add_u32(& m_monotonic.m_u32, 1); + }; + } + + /* + 2: Try to add a new page, beyond the m_max_page_index limit + */ + while (current_page_count < m_max_page_count) + { + /* Peek for pages added by collaborating threads */ + + /* (2-a) Atomic Load, array= m_pages[current_page_count] */ + addr= & m_pages[current_page_count]; + typed_addr= static_cast<void * volatile *>(addr); + ptr= my_atomic_loadptr(typed_addr); + array= static_cast<array_type *>(ptr); + + if (array == NULL) + { + // ================================================================== + // BEGIN CRITICAL SECTION -- buffer expand + // ================================================================== + + /* + On a fresh started server, buffers are typically empty. + When a sudden load spike is seen by the server, + multiple threads may want to expand the buffer at the same time. + + Using a compare and swap to allow multiple pages to be added, + possibly freeing duplicate pages on collisions, + does not work well because the amount of code involved + when creating a new page can be significant (PFS_thread), + causing MANY collisions between (2-b) and (2-d). + + A huge number of collisions (which can happen when thousands + of new connections hits the server after a restart) + leads to a huge memory consumption, and to OOM. + + To mitigate this, we use here a mutex, + to enforce that only ONE page is added at a time, + so that scaling the buffer happens in a predictable + and controlled manner. + */ + native_mutex_lock(& m_critical_section); + + /* + Peek again for pages added by collaborating threads, + this time as the only thread allowed to expand the buffer + */ + + /* (2-b) Atomic Load, array= m_pages[current_page_count] */ + + ptr= my_atomic_loadptr(typed_addr); + array= static_cast<array_type *>(ptr); + + if (array == NULL) + { + /* (2-c) Found no page, allocate a new one */ + array= new array_type(); + builtin_memory_scalable_buffer.count_alloc(sizeof (array_type)); + + int rc= m_allocator->alloc_array(array, PFS_PAGE_SIZE); + if (rc != 0) + { + m_allocator->free_array(array, PFS_PAGE_SIZE); + delete array; + builtin_memory_scalable_buffer.count_free(sizeof (array_type)); + m_lost++; + native_mutex_unlock(& m_critical_section); + return NULL; + } + + /* Keep a pointer to this container, for static_deallocate(). */ + array->m_container= reinterpret_cast<PFS_opaque_container *> (this); + + /* (2-d) Atomic STORE, m_pages[current_page_count] = array */ + ptr= array; + my_atomic_storeptr(typed_addr, ptr); + + /* Advertise the new page */ + PFS_atomic::add_u32(& m_max_page_index.m_u32, 1); + } + + native_mutex_unlock(& m_critical_section); + + // ================================================================== + // END CRITICAL SECTION -- buffer expand + // ================================================================== + } + + DBUG_ASSERT(array != NULL); + page_logical_size= get_page_logical_size(current_page_count); + pfs= array->allocate(dirty_state, page_logical_size); + if (pfs != NULL) + { + /* Keep a pointer to the parent page, for deallocate(). */ + pfs->m_page= reinterpret_cast<PFS_opaque_container_page *> (array); + return pfs; + } + + current_page_count++; + } + + m_lost++; + m_full= true; + return NULL; + } + + void deallocate(value_type *safe_pfs) + { + /* Find the containing page */ + PFS_opaque_container_page *opaque_page= safe_pfs->m_page; + array_type *page= reinterpret_cast<array_type *> (opaque_page); + + /* Mark the object free */ + safe_pfs->m_lock.allocated_to_free(); + + /* Flag the containing page as not full. */ + page->m_full= false; + + /* Flag the overall container as not full. */ + m_full= false; + } + + static void static_deallocate(value_type *safe_pfs) + { + /* Find the containing page */ + PFS_opaque_container_page *opaque_page= safe_pfs->m_page; + array_type *page= reinterpret_cast<array_type *> (opaque_page); + + /* Mark the object free */ + safe_pfs->m_lock.allocated_to_free(); + + /* Flag the containing page as not full. */ + page->m_full= false; + + /* Find the containing buffer */ + PFS_opaque_container *opaque_container= page->m_container; + PFS_buffer_scalable_container *container; + container= reinterpret_cast<container_type *> (opaque_container); + + /* Flag the overall container as not full. */ + container->m_full= false; + } + + iterator_type iterate() + { + return PFS_buffer_scalable_iterator<T, PFS_PAGE_SIZE, PFS_PAGE_COUNT, U, V>(this, 0); + } + + iterator_type iterate(uint index) + { + DBUG_ASSERT(index <= m_max); + return PFS_buffer_scalable_iterator<T, PFS_PAGE_SIZE, PFS_PAGE_COUNT, U, V>(this, index); + } + + void apply(function_type fct) + { + uint i; + array_type *page; + value_type *pfs; + value_type *pfs_last; + + for (i=0 ; i < PFS_PAGE_COUNT; i++) + { + page= m_pages[i]; + if (page != NULL) + { + pfs= page->m_ptr; + pfs_last= pfs + PFS_PAGE_SIZE; + + while (pfs < pfs_last) + { + if (pfs->m_lock.is_populated()) + { + fct(pfs); + } + pfs++; + } + } + } + } + + void apply_all(function_type fct) + { + uint i; + array_type *page; + value_type *pfs; + value_type *pfs_last; + + for (i=0 ; i < PFS_PAGE_COUNT; i++) + { + page= m_pages[i]; + if (page != NULL) + { + pfs= page->m_ptr; + pfs_last= pfs + PFS_PAGE_SIZE; + + while (pfs < pfs_last) + { + fct(pfs); + pfs++; + } + } + } + } + + void apply(processor_type & proc) + { + uint i; + array_type *page; + value_type *pfs; + value_type *pfs_last; + + for (i=0 ; i < PFS_PAGE_COUNT; i++) + { + page= m_pages[i]; + if (page != NULL) + { + pfs= page->m_ptr; + pfs_last= pfs + PFS_PAGE_SIZE; + + while (pfs < pfs_last) + { + if (pfs->m_lock.is_populated()) + { + proc(pfs); + } + pfs++; + } + } + } + } + + void apply_all(processor_type & proc) + { + uint i; + array_type *page; + value_type *pfs; + value_type *pfs_last; + + for (i=0 ; i < PFS_PAGE_COUNT; i++) + { + page= m_pages[i]; + if (page != NULL) + { + pfs= page->m_ptr; + pfs_last= pfs + PFS_PAGE_SIZE; + + while (pfs < pfs_last) + { + proc(pfs); + pfs++; + } + } + } + } + + value_type* get(uint index) + { + DBUG_ASSERT(index < m_max); + + uint index_1= index / PFS_PAGE_SIZE; + array_type *page= m_pages[index_1]; + if (page != NULL) + { + uint index_2= index % PFS_PAGE_SIZE; + value_type *pfs= page->m_ptr + index_2; + + if (pfs->m_lock.is_populated()) + { + return pfs; + } + } + + return NULL; + } + + value_type* get(uint index, bool *has_more) + { + if (index >= m_max) + { + *has_more= false; + return NULL; + } + + uint index_1= index / PFS_PAGE_SIZE; + array_type *page= m_pages[index_1]; + + if (page == NULL) + { + *has_more= false; + return NULL; + } + + *has_more= true; + uint index_2= index % PFS_PAGE_SIZE; + value_type *pfs= page->m_ptr + index_2; + + if (pfs->m_lock.is_populated()) + { + return pfs; + } + + return NULL; + } + + value_type *sanitize(value_type *unsafe) + { + intptr offset; + uint i; + array_type *page; + value_type *pfs; + value_type *pfs_last; + + for (i=0 ; i < PFS_PAGE_COUNT; i++) + { + page= m_pages[i]; + if (page != NULL) + { + pfs= page->m_ptr; + pfs_last= pfs + PFS_PAGE_SIZE; + + if ((pfs <= unsafe) && + (unsafe < pfs_last)) + { + offset= ((intptr) unsafe - (intptr) pfs) % sizeof(value_type); + if (offset == 0) + return unsafe; + } + } + } + + return NULL; + } + + ulong m_lost; + +private: + + uint get_page_logical_size(uint page_index) + { + if (page_index + 1 < m_max_page_count) + return PFS_PAGE_SIZE; + return m_last_page_size; + } + + value_type* scan_next(uint & index, uint * found_index) + { + DBUG_ASSERT(index <= m_max); + + uint index_1= index / PFS_PAGE_SIZE; + uint index_2= index % PFS_PAGE_SIZE; + array_type *page; + value_type *pfs_first; + value_type *pfs; + value_type *pfs_last; + + do + { + page= m_pages[index_1]; + + if (page == NULL) + { + index= m_max; + return NULL; + } + + pfs_first= page->m_ptr; + pfs= pfs_first + index_2; + pfs_last= pfs_first + PFS_PAGE_SIZE; + + while (pfs < pfs_last) + { + if (pfs->m_lock.is_populated()) + { + uint found= index_1 * PFS_PAGE_SIZE + (pfs - pfs_first); + *found_index= found; + index= found + 1; + return pfs; + } + pfs++; + } + + index_1++; + index_2= 0; + } + while (index_1 < PFS_PAGE_COUNT); + + index= m_max; + return NULL; + } + + bool m_initialized; + bool m_full; + size_t m_max; + PFS_cacheline_uint32 m_monotonic; + PFS_cacheline_uint32 m_max_page_index; + ulong m_max_page_count; + ulong m_last_page_size; + array_type * m_pages[PFS_PAGE_COUNT]; + allocator_type *m_allocator; + native_mutex_t m_critical_section; +}; + +template <class T, class U, class V> +class PFS_buffer_iterator +{ + friend class PFS_buffer_container<T, U, V>; + + typedef T value_type; + typedef PFS_buffer_container<T, U, V> container_type; + +public: + value_type* scan_next() + { + uint unused; + return m_container->scan_next(m_index, & unused); + } + + value_type* scan_next(uint * found_index) + { + return m_container->scan_next(m_index, found_index); + } + +private: + PFS_buffer_iterator(container_type *container, uint index) + : m_container(container), + m_index(index) + {} + + container_type *m_container; + uint m_index; +}; + +template <class T, int page_size, int page_count, class U, class V> +class PFS_buffer_scalable_iterator +{ + friend class PFS_buffer_scalable_container<T, page_size, page_count, U, V>; + + typedef T value_type; + typedef PFS_buffer_scalable_container<T, page_size, page_count, U, V> container_type; + +public: + value_type* scan_next() + { + uint unused; + return m_container->scan_next(m_index, & unused); + } + + value_type* scan_next(uint * found_index) + { + return m_container->scan_next(m_index, found_index); + } + +private: + PFS_buffer_scalable_iterator(container_type *container, uint index) + : m_container(container), + m_index(index) + {} + + container_type *m_container; + uint m_index; +}; + +template <class T> +class PFS_buffer_processor +{ +public: + virtual ~PFS_buffer_processor<T> () + {} + virtual void operator()(T *element) = 0; +}; + +template <class B, int PFS_PARTITION_COUNT> +class PFS_partitioned_buffer_scalable_container +{ +public: + friend class PFS_partitioned_buffer_scalable_iterator<B, PFS_PARTITION_COUNT>; + + typedef typename B::value_type value_type; + typedef typename B::allocator_type allocator_type; + typedef PFS_partitioned_buffer_scalable_iterator<B, PFS_PARTITION_COUNT> iterator_type; + typedef typename B::iterator_type sub_iterator_type; + typedef typename B::processor_type processor_type; + typedef typename B::function_type function_type; + + PFS_partitioned_buffer_scalable_container(allocator_type *allocator) + { + for (int i=0 ; i < PFS_PARTITION_COUNT; i++) + { + m_partitions[i]= new B(allocator); + } + } + + ~PFS_partitioned_buffer_scalable_container() + { + for (int i=0 ; i < PFS_PARTITION_COUNT; i++) + { + delete m_partitions[i]; + } + } + + int init(long max_size) + { + int rc= 0; + // FIXME: we have max_size * PFS_PARTITION_COUNT here + for (int i=0 ; i < PFS_PARTITION_COUNT; i++) + { + rc|= m_partitions[i]->init(max_size); + } + return rc; + } + + void cleanup() + { + for (int i=0 ; i < PFS_PARTITION_COUNT; i++) + { + m_partitions[i]->cleanup(); + } + } + + ulong get_row_count() const + { + ulong sum= 0; + + for (int i=0; i < PFS_PARTITION_COUNT; i++) + { + sum += m_partitions[i]->get_row_count(); + } + + return sum; + } + + ulong get_row_size() const + { + return sizeof(value_type); + } + + ulong get_memory() const + { + ulong sum= 0; + + for (int i=0; i < PFS_PARTITION_COUNT; i++) + { + sum += m_partitions[i]->get_memory(); + } + + return sum; + } + + long get_lost_counter() + { + long sum= 0; + + for (int i=0; i < PFS_PARTITION_COUNT; i++) + { + sum += m_partitions[i]->m_lost; + } + + return sum; + } + + value_type *allocate(pfs_dirty_state *dirty_state, uint partition) + { + DBUG_ASSERT(partition < PFS_PARTITION_COUNT); + + return m_partitions[partition]->allocate(dirty_state); + } + + void deallocate(value_type *safe_pfs) + { + /* + One issue here is that we do not know which partition + the record belongs to. + Each record points to the parent page, + and each page points to the parent buffer, + so using static_deallocate here, + which will find the correct partition by itself. + */ + B::static_deallocate(safe_pfs); + } + + iterator_type iterate() + { + return iterator_type(this, 0, 0); + } + + iterator_type iterate(uint user_index) + { + uint partition_index; + uint sub_index; + unpack_index(user_index, &partition_index, &sub_index); + return iterator_type(this, partition_index, sub_index); + } + + void apply(function_type fct) + { + for (int i=0; i < PFS_PARTITION_COUNT; i++) + { + m_partitions[i]->apply(fct); + } + } + + void apply_all(function_type fct) + { + for (int i=0; i < PFS_PARTITION_COUNT; i++) + { + m_partitions[i]->apply_all(fct); + } + } + + void apply(processor_type & proc) + { + for (int i=0; i < PFS_PARTITION_COUNT; i++) + { + m_partitions[i]->apply(proc); + } + } + + void apply_all(processor_type & proc) + { + for (int i=0; i < PFS_PARTITION_COUNT; i++) + { + m_partitions[i]->apply_all(proc); + } + } + + value_type* get(uint user_index) + { + uint partition_index; + uint sub_index; + unpack_index(user_index, &partition_index, &sub_index); + + if (partition_index >= PFS_PARTITION_COUNT) + { + return NULL; + } + + return m_partitions[partition_index]->get(sub_index); + } + + value_type* get(uint user_index, bool *has_more) + { + uint partition_index; + uint sub_index; + unpack_index(user_index, &partition_index, &sub_index); + + if (partition_index >= PFS_PARTITION_COUNT) + { + *has_more= false; + return NULL; + } + + *has_more= true; + return m_partitions[partition_index]->get(sub_index); + } + + value_type *sanitize(value_type *unsafe) + { + value_type *safe= NULL; + + for (int i=0; i < PFS_PARTITION_COUNT; i++) + { + safe= m_partitions[i]->sanitize(unsafe); + if (safe != NULL) + { + return safe; + } + } + + return safe; + } + +private: + static void pack_index(uint partition_index, uint sub_index, uint *user_index) + { + /* 2^8 = 256 partitions max */ + compile_time_assert(PFS_PARTITION_COUNT <= (1 << 8)); + /* 2^24 = 16777216 max per partitioned buffer. */ + compile_time_assert((B::MAX_SIZE) <= (1 << 24)); + + *user_index= (partition_index << 24) + sub_index; + } + + static void unpack_index(uint user_index, uint *partition_index, uint *sub_index) + { + *partition_index= user_index >> 24; + *sub_index= user_index & 0x00FFFFFF; + } + + value_type* scan_next(uint & partition_index, uint & sub_index, uint * found_partition, uint * found_sub_index) + { + value_type *record= NULL; + DBUG_ASSERT(partition_index < PFS_PARTITION_COUNT); + + do + { + sub_iterator_type sub_iterator= m_partitions[partition_index]->iterate(sub_index); + record= sub_iterator.scan_next(found_sub_index); + if (record != NULL) + { + *found_partition= partition_index; + sub_index= *found_sub_index + 1; + return record; + } + + partition_index++; + sub_index= 0; + } + while (partition_index < PFS_PARTITION_COUNT); + + *found_partition= PFS_PARTITION_COUNT; + *found_sub_index= 0; + sub_index= 0; + return NULL; + } + + B *m_partitions[PFS_PARTITION_COUNT]; +}; + +template <class B, int PFS_PARTITION_COUNT> +class PFS_partitioned_buffer_scalable_iterator +{ +public: + friend class PFS_partitioned_buffer_scalable_container<B, PFS_PARTITION_COUNT>; + + typedef typename B::value_type value_type; + typedef PFS_partitioned_buffer_scalable_container<B, PFS_PARTITION_COUNT> container_type; + + value_type* scan_next() + { + uint unused_partition; + uint unused_sub_index; + return m_container->scan_next(m_partition, m_sub_index, & unused_partition, & unused_sub_index); + } + + value_type* scan_next(uint *found_user_index) + { + uint found_partition; + uint found_sub_index; + value_type *record; + record= m_container->scan_next(m_partition, m_sub_index, &found_partition, &found_sub_index); + container_type::pack_index(found_partition, found_sub_index, found_user_index); + return record; + } + +private: + PFS_partitioned_buffer_scalable_iterator(container_type *container, uint partition, uint sub_index) + : m_container(container), + m_partition(partition), + m_sub_index(sub_index) + {} + + container_type *m_container; + uint m_partition; + uint m_sub_index; +}; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_mutex, 1024, 1024> PFS_mutex_basic_container; +typedef PFS_partitioned_buffer_scalable_container<PFS_mutex_basic_container, PSI_COUNT_VOLATILITY> PFS_mutex_container; +#else +typedef PFS_buffer_container<PFS_mutex> PFS_mutex_container; +#endif +typedef PFS_mutex_container::iterator_type PFS_mutex_iterator; +extern PFS_mutex_container global_mutex_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_rwlock, 1024, 1024> PFS_rwlock_container; +#else +typedef PFS_buffer_container<PFS_rwlock> PFS_rwlock_container; +#endif +typedef PFS_rwlock_container::iterator_type PFS_rwlock_iterator; +extern PFS_rwlock_container global_rwlock_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_cond, 256, 256> PFS_cond_container; +#else +typedef PFS_buffer_container<PFS_cond> PFS_cond_container; +#endif +typedef PFS_cond_container::iterator_type PFS_cond_iterator; +extern PFS_cond_container global_cond_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_file, 1024, 1024> PFS_file_container; +#else +typedef PFS_buffer_container<PFS_file> PFS_file_container; +#endif +typedef PFS_file_container::iterator_type PFS_file_iterator; +extern PFS_file_container global_file_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_socket, 256, 256> PFS_socket_container; +#else +typedef PFS_buffer_container<PFS_socket> PFS_socket_container; +#endif +typedef PFS_socket_container::iterator_type PFS_socket_iterator; +extern PFS_socket_container global_socket_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_metadata_lock, 1024, 1024> PFS_mdl_container; +#else +typedef PFS_buffer_container<PFS_metadata_lock> PFS_mdl_container; +#endif +typedef PFS_mdl_container::iterator_type PFS_mdl_iterator; +extern PFS_mdl_container global_mdl_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_setup_actor, 128, 1024> PFS_setup_actor_container; +#else +typedef PFS_buffer_container<PFS_setup_actor> PFS_setup_actor_container; +#endif +typedef PFS_setup_actor_container::iterator_type PFS_setup_actor_iterator; +extern PFS_setup_actor_container global_setup_actor_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_setup_object, 128, 1024> PFS_setup_object_container; +#else +typedef PFS_buffer_container<PFS_setup_object> PFS_setup_object_container; +#endif +typedef PFS_setup_object_container::iterator_type PFS_setup_object_iterator; +extern PFS_setup_object_container global_setup_object_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_table, 1024, 1024> PFS_table_container; +#else +typedef PFS_buffer_container<PFS_table> PFS_table_container; +#endif +typedef PFS_table_container::iterator_type PFS_table_iterator; +extern PFS_table_container global_table_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_table_share, 1024, 1024> PFS_table_share_container; +#else +typedef PFS_buffer_container<PFS_table_share> PFS_table_share_container; +#endif +typedef PFS_table_share_container::iterator_type PFS_table_share_iterator; +extern PFS_table_share_container global_table_share_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_table_share_index, 1024, 1024> PFS_table_share_index_container; +#else +typedef PFS_buffer_container<PFS_table_share_index> PFS_table_share_index_container; +#endif +typedef PFS_table_share_index_container::iterator_type PFS_table_share_index_iterator; +extern PFS_table_share_index_container global_table_share_index_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_table_share_lock, 1024, 1024> PFS_table_share_lock_container; +#else +typedef PFS_buffer_container<PFS_table_share_lock> PFS_table_share_lock_container; +#endif +typedef PFS_table_share_lock_container::iterator_type PFS_table_share_lock_iterator; +extern PFS_table_share_lock_container global_table_share_lock_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_program, 1024, 1024> PFS_program_container; +#else +typedef PFS_buffer_container<PFS_program> PFS_program_container; +#endif +typedef PFS_program_container::iterator_type PFS_program_iterator; +extern PFS_program_container global_program_container; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_prepared_stmt, 1024, 1024> PFS_prepared_stmt_container; +#else +typedef PFS_buffer_container<PFS_prepared_stmt> PFS_prepared_stmt_container; +#endif +typedef PFS_prepared_stmt_container::iterator_type PFS_prepared_stmt_iterator; +extern PFS_prepared_stmt_container global_prepared_stmt_container; + +class PFS_account_array : public PFS_buffer_default_array<PFS_account> +{ +public: + PFS_single_stat *m_instr_class_waits_array; + PFS_stage_stat *m_instr_class_stages_array; + PFS_statement_stat *m_instr_class_statements_array; + PFS_transaction_stat *m_instr_class_transactions_array; + PFS_memory_stat *m_instr_class_memory_array; +}; + +class PFS_account_allocator +{ +public: + int alloc_array(PFS_account_array *array, size_t size); + void free_array(PFS_account_array *array, size_t size); +}; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_account, + 128, + 128, + PFS_account_array, + PFS_account_allocator> PFS_account_container; +#else +typedef PFS_buffer_container<PFS_account, + PFS_account_array, + PFS_account_allocator> PFS_account_container; +#endif +typedef PFS_account_container::iterator_type PFS_account_iterator; +extern PFS_account_container global_account_container; + +class PFS_host_array : public PFS_buffer_default_array<PFS_host> +{ +public: + PFS_single_stat *m_instr_class_waits_array; + PFS_stage_stat *m_instr_class_stages_array; + PFS_statement_stat *m_instr_class_statements_array; + PFS_transaction_stat *m_instr_class_transactions_array; + PFS_memory_stat *m_instr_class_memory_array; +}; + +class PFS_host_allocator +{ +public: + int alloc_array(PFS_host_array *array, size_t size); + void free_array(PFS_host_array *array, size_t size); +}; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_host, + 128, + 128, + PFS_host_array, + PFS_host_allocator> PFS_host_container; +#else +typedef PFS_buffer_container<PFS_host, + PFS_host_array, + PFS_host_allocator> PFS_host_container; +#endif +typedef PFS_host_container::iterator_type PFS_host_iterator; +extern PFS_host_container global_host_container; + +class PFS_thread_array : public PFS_buffer_default_array<PFS_thread> +{ +public: + PFS_single_stat *m_instr_class_waits_array; + PFS_stage_stat *m_instr_class_stages_array; + PFS_statement_stat *m_instr_class_statements_array; + PFS_transaction_stat *m_instr_class_transactions_array; + PFS_memory_stat *m_instr_class_memory_array; + + PFS_events_waits *m_waits_history_array; + PFS_events_stages *m_stages_history_array; + PFS_events_statements *m_statements_history_array; + PFS_events_statements *m_statements_stack_array; + PFS_events_transactions *m_transactions_history_array; + char *m_session_connect_attrs_array; + + char *m_current_stmts_text_array; + char *m_history_stmts_text_array; + unsigned char *m_current_stmts_digest_token_array; + unsigned char *m_history_stmts_digest_token_array; +}; + +class PFS_thread_allocator +{ +public: + int alloc_array(PFS_thread_array *array, size_t size); + void free_array(PFS_thread_array *array, size_t size); +}; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_thread, + 256, + 256, + PFS_thread_array, + PFS_thread_allocator> PFS_thread_container; +#else +typedef PFS_buffer_container<PFS_thread, + PFS_thread_array, + PFS_thread_allocator> PFS_thread_container; +#endif +typedef PFS_thread_container::iterator_type PFS_thread_iterator; +extern PFS_thread_container global_thread_container; + +class PFS_user_array : public PFS_buffer_default_array<PFS_user> +{ +public: + PFS_single_stat *m_instr_class_waits_array; + PFS_stage_stat *m_instr_class_stages_array; + PFS_statement_stat *m_instr_class_statements_array; + PFS_transaction_stat *m_instr_class_transactions_array; + PFS_memory_stat *m_instr_class_memory_array; +}; + +class PFS_user_allocator +{ +public: + int alloc_array(PFS_user_array *array, size_t size); + void free_array(PFS_user_array *array, size_t size); +}; + +#ifdef USE_SCALABLE +typedef PFS_buffer_scalable_container<PFS_user, + 128, + 128, + PFS_user_array, + PFS_user_allocator> PFS_user_container; +#else +typedef PFS_buffer_container<PFS_user, + PFS_user_array, + PFS_user_allocator> PFS_user_container; +#endif +typedef PFS_user_container::iterator_type PFS_user_iterator; +extern PFS_user_container global_user_container; + +#endif + diff --git a/storage/perfschema/pfs_builtin_memory.cc b/storage/perfschema/pfs_builtin_memory.cc new file mode 100644 index 00000000000..461952e49b4 --- /dev/null +++ b/storage/perfschema/pfs_builtin_memory.cc @@ -0,0 +1,373 @@ +/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#include "my_global.h" +#include "pfs_global.h" +#include "pfs_builtin_memory.h" + +PFS_builtin_memory_class builtin_memory_mutex; +PFS_builtin_memory_class builtin_memory_rwlock; +PFS_builtin_memory_class builtin_memory_cond; +PFS_builtin_memory_class builtin_memory_file; +PFS_builtin_memory_class builtin_memory_socket; +PFS_builtin_memory_class builtin_memory_mdl; +PFS_builtin_memory_class builtin_memory_file_handle; + +PFS_builtin_memory_class builtin_memory_account; +PFS_builtin_memory_class builtin_memory_account_waits; +PFS_builtin_memory_class builtin_memory_account_stages; +PFS_builtin_memory_class builtin_memory_account_statements; +PFS_builtin_memory_class builtin_memory_account_transactions; +PFS_builtin_memory_class builtin_memory_account_memory; + +PFS_builtin_memory_class builtin_memory_global_stages; +PFS_builtin_memory_class builtin_memory_global_statements; +PFS_builtin_memory_class builtin_memory_global_memory; + +PFS_builtin_memory_class builtin_memory_host; +PFS_builtin_memory_class builtin_memory_host_waits; +PFS_builtin_memory_class builtin_memory_host_stages; +PFS_builtin_memory_class builtin_memory_host_statements; +PFS_builtin_memory_class builtin_memory_host_transactions; +PFS_builtin_memory_class builtin_memory_host_memory; + +PFS_builtin_memory_class builtin_memory_thread; +PFS_builtin_memory_class builtin_memory_thread_waits; +PFS_builtin_memory_class builtin_memory_thread_stages; +PFS_builtin_memory_class builtin_memory_thread_statements; +PFS_builtin_memory_class builtin_memory_thread_transactions; +PFS_builtin_memory_class builtin_memory_thread_memory; + +PFS_builtin_memory_class builtin_memory_thread_waits_history; +PFS_builtin_memory_class builtin_memory_thread_stages_history; +PFS_builtin_memory_class builtin_memory_thread_statements_history; +PFS_builtin_memory_class builtin_memory_thread_statements_history_tokens; +PFS_builtin_memory_class builtin_memory_thread_statements_history_sqltext; +PFS_builtin_memory_class builtin_memory_thread_statements_stack; +PFS_builtin_memory_class builtin_memory_thread_statements_stack_tokens; +PFS_builtin_memory_class builtin_memory_thread_statements_stack_sqltext; +PFS_builtin_memory_class builtin_memory_thread_transaction_history; +PFS_builtin_memory_class builtin_memory_thread_session_connect_attrs; + +PFS_builtin_memory_class builtin_memory_user; +PFS_builtin_memory_class builtin_memory_user_waits; +PFS_builtin_memory_class builtin_memory_user_stages; +PFS_builtin_memory_class builtin_memory_user_statements; +PFS_builtin_memory_class builtin_memory_user_transactions; +PFS_builtin_memory_class builtin_memory_user_memory; + +PFS_builtin_memory_class builtin_memory_mutex_class; +PFS_builtin_memory_class builtin_memory_rwlock_class; +PFS_builtin_memory_class builtin_memory_cond_class; +PFS_builtin_memory_class builtin_memory_thread_class; +PFS_builtin_memory_class builtin_memory_file_class; +PFS_builtin_memory_class builtin_memory_socket_class; +PFS_builtin_memory_class builtin_memory_stage_class; +PFS_builtin_memory_class builtin_memory_statement_class; +PFS_builtin_memory_class builtin_memory_memory_class; + +PFS_builtin_memory_class builtin_memory_setup_actor; +PFS_builtin_memory_class builtin_memory_setup_object; + +PFS_builtin_memory_class builtin_memory_digest; +PFS_builtin_memory_class builtin_memory_digest_tokens; + +PFS_builtin_memory_class builtin_memory_stages_history_long; +PFS_builtin_memory_class builtin_memory_statements_history_long; +PFS_builtin_memory_class builtin_memory_statements_history_long_tokens; +PFS_builtin_memory_class builtin_memory_statements_history_long_sqltext; +PFS_builtin_memory_class builtin_memory_transactions_history_long; +PFS_builtin_memory_class builtin_memory_waits_history_long; + +PFS_builtin_memory_class builtin_memory_table; +PFS_builtin_memory_class builtin_memory_table_share; +PFS_builtin_memory_class builtin_memory_table_share_index; +PFS_builtin_memory_class builtin_memory_table_share_lock; + +PFS_builtin_memory_class builtin_memory_program; +PFS_builtin_memory_class builtin_memory_prepared_stmt; + +PFS_builtin_memory_class builtin_memory_scalable_buffer; + +static void init_builtin_memory_class(PFS_builtin_memory_class *klass, const char* name) +{ + klass->m_class.m_type= PFS_CLASS_MEMORY; + klass->m_class.m_enabled= true; /* Immutable */ + klass->m_class.m_timed= false; /* Immutable */ + klass->m_class.m_flags= PSI_FLAG_GLOBAL; + klass->m_class.m_event_name_index= 0; + strncpy(klass->m_class.m_name, name, sizeof(klass->m_class.m_name)); + klass->m_class.m_name_length= strlen(name); + DBUG_ASSERT(klass->m_class.m_name_length < sizeof(klass->m_class.m_name)); + klass->m_class.m_timer= NULL; + + klass->m_stat.reset(); +} + +void init_all_builtin_memory_class() +{ + init_builtin_memory_class( & builtin_memory_mutex, + "memory/performance_schema/mutex_instances"); + init_builtin_memory_class( & builtin_memory_rwlock, + "memory/performance_schema/rwlock_instances"); + init_builtin_memory_class( & builtin_memory_cond, + "memory/performance_schema/cond_instances"); + init_builtin_memory_class( & builtin_memory_file, + "memory/performance_schema/file_instances"); + init_builtin_memory_class( & builtin_memory_socket, + "memory/performance_schema/socket_instances"); + init_builtin_memory_class( & builtin_memory_mdl, + "memory/performance_schema/metadata_locks"); + init_builtin_memory_class( & builtin_memory_file_handle, + "memory/performance_schema/file_handle"); + + init_builtin_memory_class( & builtin_memory_account, + "memory/performance_schema/accounts"); + init_builtin_memory_class( & builtin_memory_account_waits, + "memory/performance_schema/events_waits_summary_by_account_by_event_name"); + init_builtin_memory_class( & builtin_memory_account_stages, + "memory/performance_schema/events_stages_summary_by_account_by_event_name"); + init_builtin_memory_class( & builtin_memory_account_statements, + "memory/performance_schema/events_statements_summary_by_account_by_event_name"); + init_builtin_memory_class( & builtin_memory_account_transactions, + "memory/performance_schema/events_transactions_summary_by_account_by_event_name"); + init_builtin_memory_class( & builtin_memory_account_memory, + "memory/performance_schema/memory_summary_by_account_by_event_name"); + + init_builtin_memory_class( & builtin_memory_global_stages, + "memory/performance_schema/events_stages_summary_global_by_event_name"); + init_builtin_memory_class( & builtin_memory_global_statements, + "memory/performance_schema/events_statements_summary_global_by_event_name"); + init_builtin_memory_class( & builtin_memory_global_memory, + "memory/performance_schema/memory_summary_global_by_event_name"); + + init_builtin_memory_class( & builtin_memory_host, + "memory/performance_schema/hosts"); + init_builtin_memory_class( & builtin_memory_host_waits, + "memory/performance_schema/events_waits_summary_by_host_by_event_name"); + init_builtin_memory_class( & builtin_memory_host_stages, + "memory/performance_schema/events_stages_summary_by_host_by_event_name"); + init_builtin_memory_class( & builtin_memory_host_statements, + "memory/performance_schema/events_statements_summary_by_host_by_event_name"); + init_builtin_memory_class( & builtin_memory_host_transactions, + "memory/performance_schema/events_transactions_summary_by_host_by_event_name"); + init_builtin_memory_class( & builtin_memory_host_memory, + "memory/performance_schema/memory_summary_by_host_by_event_name"); + + init_builtin_memory_class( & builtin_memory_thread, + "memory/performance_schema/threads"); + init_builtin_memory_class( & builtin_memory_thread_waits, + "memory/performance_schema/events_waits_summary_by_thread_by_event_name"); + init_builtin_memory_class( & builtin_memory_thread_stages, + "memory/performance_schema/events_stages_summary_by_thread_by_event_name"); + init_builtin_memory_class( & builtin_memory_thread_statements, + "memory/performance_schema/events_statements_summary_by_thread_by_event_name"); + init_builtin_memory_class( & builtin_memory_thread_transactions, + "memory/performance_schema/events_transactions_summary_by_thread_by_event_name"); + init_builtin_memory_class( & builtin_memory_thread_memory, + "memory/performance_schema/memory_summary_by_thread_by_event_name"); + + init_builtin_memory_class( & builtin_memory_thread_waits_history, + "memory/performance_schema/events_waits_history"); + init_builtin_memory_class( & builtin_memory_thread_stages_history, + "memory/performance_schema/events_stages_history"); + init_builtin_memory_class( & builtin_memory_thread_statements_history, + "memory/performance_schema/events_statements_history"); + init_builtin_memory_class( & builtin_memory_thread_statements_history_tokens, + "memory/performance_schema/events_statements_history.tokens"); + init_builtin_memory_class( & builtin_memory_thread_statements_history_sqltext, + "memory/performance_schema/events_statements_history.sqltext"); + init_builtin_memory_class( & builtin_memory_thread_statements_stack, + "memory/performance_schema/events_statements_current"); + init_builtin_memory_class( & builtin_memory_thread_statements_stack_tokens, + "memory/performance_schema/events_statements_current.tokens"); + init_builtin_memory_class( & builtin_memory_thread_statements_stack_sqltext, + "memory/performance_schema/events_statements_current.sqltext"); + init_builtin_memory_class( & builtin_memory_thread_transaction_history, + "memory/performance_schema/events_transactions_history"); + init_builtin_memory_class( & builtin_memory_thread_session_connect_attrs, + "memory/performance_schema/session_connect_attrs"); + + init_builtin_memory_class( & builtin_memory_user, + "memory/performance_schema/users"); + init_builtin_memory_class( & builtin_memory_user_waits, + "memory/performance_schema/events_waits_summary_by_user_by_event_name"); + init_builtin_memory_class( & builtin_memory_user_stages, + "memory/performance_schema/events_stages_summary_by_user_by_event_name"); + init_builtin_memory_class( & builtin_memory_user_statements, + "memory/performance_schema/events_statements_summary_by_user_by_event_name"); + init_builtin_memory_class( & builtin_memory_user_transactions, + "memory/performance_schema/events_transactions_summary_by_user_by_event_name"); + init_builtin_memory_class( & builtin_memory_user_memory, + "memory/performance_schema/memory_summary_by_user_by_event_name"); + + init_builtin_memory_class( & builtin_memory_mutex_class, + "memory/performance_schema/mutex_class"); + init_builtin_memory_class( & builtin_memory_rwlock_class, + "memory/performance_schema/rwlock_class"); + init_builtin_memory_class( & builtin_memory_cond_class, + "memory/performance_schema/cond_class"); + init_builtin_memory_class( & builtin_memory_thread_class, + "memory/performance_schema/thread_class"); + init_builtin_memory_class( & builtin_memory_file_class, + "memory/performance_schema/file_class"); + init_builtin_memory_class( & builtin_memory_socket_class, + "memory/performance_schema/socket_class"); + init_builtin_memory_class( & builtin_memory_stage_class, + "memory/performance_schema/stage_class"); + init_builtin_memory_class( & builtin_memory_statement_class, + "memory/performance_schema/statement_class"); + init_builtin_memory_class( & builtin_memory_memory_class, + "memory/performance_schema/memory_class"); + + init_builtin_memory_class( & builtin_memory_setup_actor, + "memory/performance_schema/setup_actors"); + init_builtin_memory_class( & builtin_memory_setup_object, + "memory/performance_schema/setup_objects"); + + init_builtin_memory_class( & builtin_memory_digest, + "memory/performance_schema/events_statements_summary_by_digest"); + init_builtin_memory_class( & builtin_memory_digest_tokens, + "memory/performance_schema/events_statements_summary_by_digest.tokens"); + + init_builtin_memory_class( & builtin_memory_stages_history_long, + "memory/performance_schema/events_stages_history_long"); + init_builtin_memory_class( & builtin_memory_statements_history_long, + "memory/performance_schema/events_statements_history_long"); + init_builtin_memory_class( & builtin_memory_statements_history_long_tokens, + "memory/performance_schema/events_statements_history_long.tokens"); + init_builtin_memory_class( & builtin_memory_statements_history_long_sqltext, + "memory/performance_schema/events_statements_history_long.sqltext"); + init_builtin_memory_class( & builtin_memory_transactions_history_long, + "memory/performance_schema/events_transactions_history_long"); + init_builtin_memory_class( & builtin_memory_waits_history_long, + "memory/performance_schema/events_waits_history_long"); + + init_builtin_memory_class( & builtin_memory_table, + "memory/performance_schema/table_handles"); + init_builtin_memory_class( & builtin_memory_table_share, + "memory/performance_schema/table_shares"); + init_builtin_memory_class( & builtin_memory_table_share_index, + "memory/performance_schema/table_io_waits_summary_by_index_usage"); + init_builtin_memory_class( & builtin_memory_table_share_lock, + "memory/performance_schema/table_lock_waits_summary_by_table"); + + init_builtin_memory_class( & builtin_memory_program, + "memory/performance_schema/events_statements_summary_by_program"); + init_builtin_memory_class( & builtin_memory_prepared_stmt, + "memory/performance_schema/prepared_statements_instances"); + + init_builtin_memory_class( & builtin_memory_scalable_buffer, + "memory/performance_schema/scalable_buffer"); +} + +static PFS_builtin_memory_class* all_builtin_memory[]= +{ + & builtin_memory_mutex, + & builtin_memory_rwlock, + & builtin_memory_cond, + & builtin_memory_file, + & builtin_memory_socket, + & builtin_memory_mdl, + & builtin_memory_file_handle, + + & builtin_memory_account, + & builtin_memory_account_waits, + & builtin_memory_account_stages, + & builtin_memory_account_statements, + & builtin_memory_account_transactions, + & builtin_memory_account_memory, + + & builtin_memory_global_stages, + & builtin_memory_global_statements, + & builtin_memory_global_memory, + + & builtin_memory_host, + & builtin_memory_host_waits, + & builtin_memory_host_stages, + & builtin_memory_host_statements, + & builtin_memory_host_transactions, + & builtin_memory_host_memory, + + & builtin_memory_thread, + & builtin_memory_thread_waits, + & builtin_memory_thread_stages, + & builtin_memory_thread_statements, + & builtin_memory_thread_transactions, + & builtin_memory_thread_memory, + + & builtin_memory_thread_waits_history, + & builtin_memory_thread_stages_history, + & builtin_memory_thread_statements_history, + & builtin_memory_thread_statements_history_tokens, + & builtin_memory_thread_statements_history_sqltext, + & builtin_memory_thread_statements_stack, + & builtin_memory_thread_statements_stack_tokens, + & builtin_memory_thread_statements_stack_sqltext, + & builtin_memory_thread_transaction_history, + & builtin_memory_thread_session_connect_attrs, + + & builtin_memory_user, + & builtin_memory_user_waits, + & builtin_memory_user_stages, + & builtin_memory_user_statements, + & builtin_memory_user_transactions, + & builtin_memory_user_memory, + + & builtin_memory_mutex_class, + & builtin_memory_rwlock_class, + & builtin_memory_cond_class, + & builtin_memory_thread_class, + & builtin_memory_file_class, + & builtin_memory_socket_class, + & builtin_memory_stage_class, + & builtin_memory_statement_class, + & builtin_memory_memory_class, + + & builtin_memory_setup_actor, + & builtin_memory_setup_object, + + & builtin_memory_digest, + & builtin_memory_digest_tokens, + + & builtin_memory_stages_history_long, + & builtin_memory_statements_history_long, + & builtin_memory_statements_history_long_tokens, + & builtin_memory_statements_history_long_sqltext, + & builtin_memory_transactions_history_long, + & builtin_memory_waits_history_long, + + & builtin_memory_table, + & builtin_memory_table_share, + & builtin_memory_table_share_index, + & builtin_memory_table_share_lock, + + & builtin_memory_program, + & builtin_memory_prepared_stmt, + + & builtin_memory_scalable_buffer, + + NULL +}; + + +PFS_builtin_memory_class *find_builtin_memory_class(PFS_builtin_memory_key key) +{ + if (key == 0) + return NULL; + + return all_builtin_memory[key - 1]; +} + diff --git a/storage/perfschema/pfs_builtin_memory.h b/storage/perfschema/pfs_builtin_memory.h new file mode 100644 index 00000000000..07e9e598a8a --- /dev/null +++ b/storage/perfschema/pfs_builtin_memory.h @@ -0,0 +1,136 @@ +/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef PFS_BUILTIN_MEMORY_H +#define PFS_BUILTIN_MEMORY_H + +#include "my_global.h" +#include "pfs_global.h" +#include "pfs_instr_class.h" + +/** + @file storage/perfschema/pfs_builtin_memory.h + Performance schema instruments meta data (declarations). +*/ + +typedef uint PFS_builtin_memory_key; + +struct PFS_builtin_memory_class +{ + PFS_memory_class m_class; + PFS_memory_stat m_stat; + + inline void count_alloc(size_t size) + { + m_stat.count_builtin_alloc(size); + } + + inline void count_free(size_t size) + { + m_stat.count_builtin_free(size); + } +}; + +void init_all_builtin_memory_class(); + +PFS_builtin_memory_class *find_builtin_memory_class(PFS_builtin_memory_key); + +extern PFS_builtin_memory_class builtin_memory_mutex; +extern PFS_builtin_memory_class builtin_memory_rwlock; +extern PFS_builtin_memory_class builtin_memory_cond; +extern PFS_builtin_memory_class builtin_memory_file; +extern PFS_builtin_memory_class builtin_memory_socket; +extern PFS_builtin_memory_class builtin_memory_mdl; +extern PFS_builtin_memory_class builtin_memory_file_handle; + +extern PFS_builtin_memory_class builtin_memory_account; +extern PFS_builtin_memory_class builtin_memory_account_waits; +extern PFS_builtin_memory_class builtin_memory_account_stages; +extern PFS_builtin_memory_class builtin_memory_account_statements; +extern PFS_builtin_memory_class builtin_memory_account_transactions; +extern PFS_builtin_memory_class builtin_memory_account_memory; + +extern PFS_builtin_memory_class builtin_memory_global_stages; +extern PFS_builtin_memory_class builtin_memory_global_statements; +extern PFS_builtin_memory_class builtin_memory_global_memory; + +extern PFS_builtin_memory_class builtin_memory_host; +extern PFS_builtin_memory_class builtin_memory_host_waits; +extern PFS_builtin_memory_class builtin_memory_host_stages; +extern PFS_builtin_memory_class builtin_memory_host_statements; +extern PFS_builtin_memory_class builtin_memory_host_transactions; +extern PFS_builtin_memory_class builtin_memory_host_memory; + +extern PFS_builtin_memory_class builtin_memory_thread; +extern PFS_builtin_memory_class builtin_memory_thread_waits; +extern PFS_builtin_memory_class builtin_memory_thread_stages; +extern PFS_builtin_memory_class builtin_memory_thread_statements; +extern PFS_builtin_memory_class builtin_memory_thread_transactions; +extern PFS_builtin_memory_class builtin_memory_thread_memory; + +extern PFS_builtin_memory_class builtin_memory_thread_waits_history; +extern PFS_builtin_memory_class builtin_memory_thread_stages_history; +extern PFS_builtin_memory_class builtin_memory_thread_statements_history; +extern PFS_builtin_memory_class builtin_memory_thread_statements_history_tokens; +extern PFS_builtin_memory_class builtin_memory_thread_statements_history_sqltext; +extern PFS_builtin_memory_class builtin_memory_thread_statements_stack; +extern PFS_builtin_memory_class builtin_memory_thread_statements_stack_tokens; +extern PFS_builtin_memory_class builtin_memory_thread_statements_stack_sqltext; +extern PFS_builtin_memory_class builtin_memory_thread_transaction_history; +extern PFS_builtin_memory_class builtin_memory_thread_session_connect_attrs; + +extern PFS_builtin_memory_class builtin_memory_user; +extern PFS_builtin_memory_class builtin_memory_user_waits; +extern PFS_builtin_memory_class builtin_memory_user_stages; +extern PFS_builtin_memory_class builtin_memory_user_statements; +extern PFS_builtin_memory_class builtin_memory_user_transactions; +extern PFS_builtin_memory_class builtin_memory_user_memory; + +extern PFS_builtin_memory_class builtin_memory_mutex_class; +extern PFS_builtin_memory_class builtin_memory_rwlock_class; +extern PFS_builtin_memory_class builtin_memory_cond_class; +extern PFS_builtin_memory_class builtin_memory_thread_class; +extern PFS_builtin_memory_class builtin_memory_file_class; +extern PFS_builtin_memory_class builtin_memory_socket_class; +extern PFS_builtin_memory_class builtin_memory_stage_class; +extern PFS_builtin_memory_class builtin_memory_statement_class; +extern PFS_builtin_memory_class builtin_memory_memory_class; + +extern PFS_builtin_memory_class builtin_memory_setup_actor; +extern PFS_builtin_memory_class builtin_memory_setup_object; + +extern PFS_builtin_memory_class builtin_memory_digest; +extern PFS_builtin_memory_class builtin_memory_digest_tokens; + +extern PFS_builtin_memory_class builtin_memory_stages_history_long; +extern PFS_builtin_memory_class builtin_memory_statements_history_long; +extern PFS_builtin_memory_class builtin_memory_statements_history_long_tokens; +extern PFS_builtin_memory_class builtin_memory_statements_history_long_sqltext; +extern PFS_builtin_memory_class builtin_memory_transactions_history_long; +extern PFS_builtin_memory_class builtin_memory_waits_history_long; + +extern PFS_builtin_memory_class builtin_memory_table; +extern PFS_builtin_memory_class builtin_memory_table_share; +extern PFS_builtin_memory_class builtin_memory_table_share_index; +extern PFS_builtin_memory_class builtin_memory_table_share_lock; + +extern PFS_builtin_memory_class builtin_memory_program; +extern PFS_builtin_memory_class builtin_memory_prepared_stmt; + +extern PFS_builtin_memory_class builtin_memory_scalable_buffer; + +/** @} */ +#endif + diff --git a/storage/perfschema/pfs_check.cc b/storage/perfschema/pfs_check.cc index 97b23c38065..9ab1650cb69 100644 --- a/storage/perfschema/pfs_check.cc +++ b/storage/perfschema/pfs_check.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,9 +25,7 @@ #include "my_global.h" #include "pfs_server.h" #include "pfs_engine_table.h" - -/* -*/ +#include "sql_class.h" /** Check that the performance schema tables diff --git a/storage/perfschema/pfs_column_types.h b/storage/perfschema/pfs_column_types.h index c70ca220d84..0020a79c3ce 100644 --- a/storage/perfschema/pfs_column_types.h +++ b/storage/perfschema/pfs_column_types.h @@ -56,9 +56,6 @@ /** Size of the DIGEST columns. */ #define COL_DIGEST_SIZE 64 -/** Size of the DIGEST_TEXT columns. */ -#define COL_DIGEST_TEXT_SIZE 1024 - /** Enum values for the TIMER_NAME columns. This enum is found in the following tables: @@ -107,78 +104,88 @@ enum enum_operation_type OPERATION_TYPE_LOCK= 1, OPERATION_TYPE_TRYLOCK= 2, - /* Rwlock operations */ + /* Rwlock operations (RW-lock) */ OPERATION_TYPE_READLOCK= 3, OPERATION_TYPE_WRITELOCK= 4, OPERATION_TYPE_TRYREADLOCK= 5, OPERATION_TYPE_TRYWRITELOCK= 6, + /* Rwlock operations (SX-lock) */ + OPERATION_TYPE_SHAREDLOCK= 7, + OPERATION_TYPE_SHAREDEXCLUSIVELOCK= 8, + OPERATION_TYPE_EXCLUSIVELOCK= 9, + OPERATION_TYPE_TRYSHAREDLOCK= 10, + OPERATION_TYPE_TRYSHAREDEXCLUSIVELOCK= 11, + OPERATION_TYPE_TRYEXCLUSIVELOCK= 12, + /* Cond operations */ - OPERATION_TYPE_WAIT= 7, - OPERATION_TYPE_TIMEDWAIT= 8, + OPERATION_TYPE_WAIT= 13, + OPERATION_TYPE_TIMEDWAIT= 14, /* File operations */ - OPERATION_TYPE_FILECREATE= 9, - OPERATION_TYPE_FILECREATETMP= 10, - OPERATION_TYPE_FILEOPEN= 11, - OPERATION_TYPE_FILESTREAMOPEN= 12, - OPERATION_TYPE_FILECLOSE= 13, - OPERATION_TYPE_FILESTREAMCLOSE= 14, - OPERATION_TYPE_FILEREAD= 15, - OPERATION_TYPE_FILEWRITE= 16, - OPERATION_TYPE_FILESEEK= 17, - OPERATION_TYPE_FILETELL= 18, - OPERATION_TYPE_FILEFLUSH= 19, - OPERATION_TYPE_FILESTAT= 20, - OPERATION_TYPE_FILEFSTAT= 21, - OPERATION_TYPE_FILECHSIZE= 22, - OPERATION_TYPE_FILEDELETE= 23, - OPERATION_TYPE_FILERENAME= 24, - OPERATION_TYPE_FILESYNC= 25, + OPERATION_TYPE_FILECREATE= 15, + OPERATION_TYPE_FILECREATETMP= 16, + OPERATION_TYPE_FILEOPEN= 17, + OPERATION_TYPE_FILESTREAMOPEN= 18, + OPERATION_TYPE_FILECLOSE= 19, + OPERATION_TYPE_FILESTREAMCLOSE= 20, + OPERATION_TYPE_FILEREAD= 21, + OPERATION_TYPE_FILEWRITE= 22, + OPERATION_TYPE_FILESEEK= 23, + OPERATION_TYPE_FILETELL= 24, + OPERATION_TYPE_FILEFLUSH= 25, + OPERATION_TYPE_FILESTAT= 26, + OPERATION_TYPE_FILEFSTAT= 27, + OPERATION_TYPE_FILECHSIZE= 28, + OPERATION_TYPE_FILEDELETE= 29, + OPERATION_TYPE_FILERENAME= 30, + OPERATION_TYPE_FILESYNC= 31, /* Table io operations */ - OPERATION_TYPE_TABLE_FETCH= 26, - OPERATION_TYPE_TABLE_WRITE_ROW= 27, - OPERATION_TYPE_TABLE_UPDATE_ROW= 28, - OPERATION_TYPE_TABLE_DELETE_ROW= 29, + OPERATION_TYPE_TABLE_FETCH= 32, + OPERATION_TYPE_TABLE_WRITE_ROW= 33, + OPERATION_TYPE_TABLE_UPDATE_ROW= 34, + OPERATION_TYPE_TABLE_DELETE_ROW= 35, /* Table lock operations */ - OPERATION_TYPE_TL_READ_NORMAL= 30, - OPERATION_TYPE_TL_READ_WITH_SHARED_LOCKS= 31, - OPERATION_TYPE_TL_READ_HIGH_PRIORITY= 32, - OPERATION_TYPE_TL_READ_NO_INSERTS= 33, - OPERATION_TYPE_TL_WRITE_ALLOW_WRITE= 34, - OPERATION_TYPE_TL_WRITE_CONCURRENT_INSERT= 35, - OPERATION_TYPE_TL_WRITE_DELAYED= 36, - OPERATION_TYPE_TL_WRITE_LOW_PRIORITY= 37, - OPERATION_TYPE_TL_WRITE_NORMAL= 38, - OPERATION_TYPE_TL_READ_EXTERNAL= 39, - OPERATION_TYPE_TL_WRITE_EXTERNAL= 40, + OPERATION_TYPE_TL_READ_NORMAL= 36, + OPERATION_TYPE_TL_READ_WITH_SHARED_LOCKS= 37, + OPERATION_TYPE_TL_READ_HIGH_PRIORITY= 38, + OPERATION_TYPE_TL_READ_NO_INSERTS= 39, + OPERATION_TYPE_TL_WRITE_ALLOW_WRITE= 40, + OPERATION_TYPE_TL_WRITE_CONCURRENT_INSERT= 41, + OPERATION_TYPE_TL_WRITE_LOW_PRIORITY= 42, + OPERATION_TYPE_TL_WRITE_NORMAL= 43, + OPERATION_TYPE_TL_READ_EXTERNAL= 44, + OPERATION_TYPE_TL_WRITE_EXTERNAL= 45, /* Socket operations */ - OPERATION_TYPE_SOCKETCREATE = 41, - OPERATION_TYPE_SOCKETCONNECT = 42, - OPERATION_TYPE_SOCKETBIND = 43, - OPERATION_TYPE_SOCKETCLOSE = 44, - OPERATION_TYPE_SOCKETSEND = 45, - OPERATION_TYPE_SOCKETRECV = 46, - OPERATION_TYPE_SOCKETSENDTO = 47, - OPERATION_TYPE_SOCKETRECVFROM = 48, - OPERATION_TYPE_SOCKETSENDMSG = 49, - OPERATION_TYPE_SOCKETRECVMSG = 50, - OPERATION_TYPE_SOCKETSEEK = 51, - OPERATION_TYPE_SOCKETOPT = 52, - OPERATION_TYPE_SOCKETSTAT = 53, - OPERATION_TYPE_SOCKETSHUTDOWN = 54, - OPERATION_TYPE_SOCKETSELECT = 55, + OPERATION_TYPE_SOCKETCREATE = 46, + OPERATION_TYPE_SOCKETCONNECT = 47, + OPERATION_TYPE_SOCKETBIND = 48, + OPERATION_TYPE_SOCKETCLOSE = 49, + OPERATION_TYPE_SOCKETSEND = 50, + OPERATION_TYPE_SOCKETRECV = 51, + OPERATION_TYPE_SOCKETSENDTO = 52, + OPERATION_TYPE_SOCKETRECVFROM = 53, + OPERATION_TYPE_SOCKETSENDMSG = 54, + OPERATION_TYPE_SOCKETRECVMSG = 55, + OPERATION_TYPE_SOCKETSEEK = 56, + OPERATION_TYPE_SOCKETOPT = 57, + OPERATION_TYPE_SOCKETSTAT = 58, + OPERATION_TYPE_SOCKETSHUTDOWN = 59, + OPERATION_TYPE_SOCKETSELECT = 60, /* Idle operation */ - OPERATION_TYPE_IDLE= 56 + OPERATION_TYPE_IDLE= 61, + + /* Metadata lock operation */ + OPERATION_TYPE_METADATA= 62 }; /** Integer, first value of @sa enum_operation_type. */ #define FIRST_OPERATION_TYPE (static_cast<int> (OPERATION_TYPE_LOCK)) /** Integer, last value of @sa enum_operation_type. */ -#define LAST_OPERATION_TYPE (static_cast<int> (OPERATION_TYPE_IDLE)) +#define LAST_OPERATION_TYPE (static_cast<int> (OPERATION_TYPE_METADATA)) /** Integer, number of values of @sa enum_operation_type. */ #define COUNT_OPERATION_TYPE (LAST_OPERATION_TYPE - FIRST_OPERATION_TYPE + 1) @@ -187,13 +194,30 @@ enum enum_operation_type */ enum enum_object_type { - OBJECT_TYPE_TABLE= 1, - OBJECT_TYPE_TEMPORARY_TABLE= 2 + NO_OBJECT_TYPE= 0, + + /* Advertised in SQL ENUM */ + + OBJECT_TYPE_EVENT= 1, + OBJECT_TYPE_FUNCTION= 2, + OBJECT_TYPE_PROCEDURE= 3, + OBJECT_TYPE_TABLE= 4, + OBJECT_TYPE_TRIGGER= 5, + + /* Not advertised in SQL ENUM, only displayed as VARCHAR */ + + OBJECT_TYPE_TEMPORARY_TABLE= 6, + OBJECT_TYPE_GLOBAL= 7, + OBJECT_TYPE_SCHEMA= 8, + OBJECT_TYPE_COMMIT= 9, + OBJECT_TYPE_USER_LEVEL_LOCK= 10, + OBJECT_TYPE_TABLESPACE= 11, + OBJECT_TYPE_LOCKING_SERVICE= 12 }; /** Integer, first value of @sa enum_object_type. */ -#define FIRST_OBJECT_TYPE (static_cast<int> (OBJECT_TYPE_TABLE)) +#define FIRST_OBJECT_TYPE (static_cast<int> (OBJECT_TYPE_EVENT)) /** Integer, last value of @sa enum_object_type. */ -#define LAST_OBJECT_TYPE (static_cast<int> (OBJECT_TYPE_TEMPORARY_TABLE)) +#define LAST_OBJECT_TYPE (static_cast<int> (OBJECT_TYPE_LOCKING_SERVICE)) /** Integer, number of values of @sa enum_object_type. */ #define COUNT_OBJECT_TYPE (LAST_OBJECT_TYPE - FIRST_OBJECT_TYPE + 1) @@ -206,17 +230,92 @@ enum enum_object_type */ enum enum_event_type { - EVENT_TYPE_STATEMENT= 1, - EVENT_TYPE_STAGE= 2, - EVENT_TYPE_WAIT= 3 + EVENT_TYPE_TRANSACTION= 1, + EVENT_TYPE_STATEMENT= 2, + EVENT_TYPE_STAGE= 3, + EVENT_TYPE_WAIT= 4 }; /** Integer, first value of @sa enum_event_type. */ -#define FIRST_EVENT_TYPE (static_cast<int> (EVENT_TYPE_STATEMENT)) +#define FIRST_EVENT_TYPE (static_cast<int> (EVENT_TYPE_TRANSACTION)) /** Integer, last value of @sa enum_event_type. */ #define LAST_EVENT_TYPE (static_cast<int> (EVENT_TYPE_WAIT)) /** Integer, number of values of @sa enum_event_type. */ #define COUNT_EVENT_TYPE (LAST_EVENT_TYPE - FIRST_EVENT_TYPE + 1) +/** + Enum values for transaction state columns. +*/ +enum enum_transaction_state +{ + TRANS_STATE_ACTIVE= 1, + TRANS_STATE_COMMITTED= 2, + TRANS_STATE_ROLLED_BACK= 3 +}; + +/** Integer, first value of @sa enum_transaction_state. */ +#define FIRST_TRANS_STATE (static_cast<int> (TRANS_STATE_ACTIVE)) +/** Integer, last value of @sa enum_transaction_state. */ +#define LAST_TRANS_STATE (static_cast<int> (TRANS_STATE_ROLLED_BACK)) +/** Integer, number of values of @sa enum_transaction_state. */ +#define COUNT_TRANS_STATE (LAST_TRANS_STATE - FIRST_TRANS_STATE + 1) + +/** + Enum values for XA transaction state columns. Enums 1-5 match those used by + the server. See XID_STATE::enum xa_states in xa.h. +*/ +enum enum_xa_transaction_state +{ + TRANS_STATE_XA_NOTR, + TRANS_STATE_XA_ACTIVE, + TRANS_STATE_XA_IDLE, + TRANS_STATE_XA_PREPARED, + TRANS_STATE_XA_ROLLBACK_ONLY, + TRANS_STATE_XA_COMMITTED +}; + +/** Integer, first value of @sa enum_xa_transaction_state. */ +#define FIRST_TRANS_STATE_XA (static_cast<int> (TRANS_STATE_XA_NOTR)) +/** Integer, last value of @sa enum_xa_transaction_state. */ +#define LAST_TRANS_STATE_XA (static_cast<int> (TRANS_STATE_XA_COMMITTED)) +/** Integer, number of values of @sa enum_xa_transaction_state. */ +#define COUNT_TRANS_STATE_XA (LAST_TRANS_STATE_XA - FIRST_TRANS_STATE_XA + 1) + +/** + Enum values for transaction isolation level columns. + See enum_tx_isolation in handler.h. +*/ +enum enum_isolation_level +{ + TRANS_LEVEL_READ_UNCOMMITTED, + TRANS_LEVEL_READ_COMMITTED, + TRANS_LEVEL_REPEATABLE_READ, + TRANS_LEVEL_SERIALIZABLE +}; + +/** Integer, first value of @sa enum_isolation_level. */ +#define FIRST_TRANS_LEVEL (static_cast<int> (TRANS_LEVEL_READ_UNCOMMITTED)) +/** Integer, last value of @sa enum_isolation_level. */ +#define LAST_TRANS_LEVEL (static_cast<int> (TRANS_LEVEL_SERIALIZABLE)) +/** Integer, number of values of @sa enum_isolation_level. */ +#define COUNT_TRANS_LEVEL (LAST_TRANS_LEVEL - FIRST_TRANS_LEVEL + 1) + +/** + Enum values for transaction acces mode columns. +*/ +enum enum_transaction_mode +{ + TRANS_MODE_READ_ONLY= 1, + TRANS_MODE_READ_WRITE= 2 +}; + +/** Integer, first value of @sa enum_transaction_mode. */ +#define FIRST_TRANS_MODE (static_cast<int> (TRANS_MODE_READ_WRITE)) +/** Integer, last value of @sa enum_transaction_mode. */ +#define LAST_TRANS_MODE (static_cast<int> (TRANS_MODE_READ_ONLY)) +/** Integer, number of values of @sa enum_transaction_mode. */ +#define COUNT_TRANS_MODE (LAST_TRANS_MODE - FIRST_TRANS_MODE + 1) + + #endif diff --git a/storage/perfschema/pfs_column_values.cc b/storage/perfschema/pfs_column_values.cc index 65d0ae7171b..82ed1020ddd 100644 --- a/storage/perfschema/pfs_column_values.cc +++ b/storage/perfschema/pfs_column_values.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,6 +31,9 @@ LEX_STRING mutex_instrument_prefix= LEX_STRING rwlock_instrument_prefix= { C_STRING_WITH_LEN("wait/synch/rwlock/") }; +LEX_STRING sxlock_instrument_prefix= +{ C_STRING_WITH_LEN("wait/synch/sxlock/") }; + LEX_STRING cond_instrument_prefix= { C_STRING_WITH_LEN("wait/synch/cond/") }; @@ -46,5 +49,12 @@ LEX_STRING stage_instrument_prefix= LEX_STRING statement_instrument_prefix= { C_STRING_WITH_LEN("statement/") }; +LEX_STRING transaction_instrument_prefix= +{ C_STRING_WITH_LEN("transaction") }; + LEX_STRING socket_instrument_prefix= { C_STRING_WITH_LEN("wait/io/socket/") }; + +LEX_STRING memory_instrument_prefix= +{ C_STRING_WITH_LEN("memory/") }; + diff --git a/storage/perfschema/pfs_column_values.h b/storage/perfschema/pfs_column_values.h index 204d5230ddf..2dc778c1c5c 100644 --- a/storage/perfschema/pfs_column_values.h +++ b/storage/perfschema/pfs_column_values.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,6 +31,8 @@ extern LEX_STRING PERFORMANCE_SCHEMA_str; extern LEX_STRING mutex_instrument_prefix; /** String prefix for all rwlock instruments. */ extern LEX_STRING rwlock_instrument_prefix; +/** String prefix for all sxlock instruments. */ +extern LEX_STRING sxlock_instrument_prefix; /** String prefix for all cond instruments. */ extern LEX_STRING cond_instrument_prefix; /** String prefix for all thread instruments. */ @@ -41,7 +43,12 @@ extern LEX_STRING file_instrument_prefix; extern LEX_STRING stage_instrument_prefix; /** String prefix for all statement instruments. */ extern LEX_STRING statement_instrument_prefix; +/** String prefix for all transaction instruments. */ +extern LEX_STRING transaction_instrument_prefix; +/** String prefix for all socket instruments. */ extern LEX_STRING socket_instrument_prefix; +/** String prefix for all memory instruments. */ +extern LEX_STRING memory_instrument_prefix; #endif diff --git a/storage/perfschema/pfs_con_slice.cc b/storage/perfschema/pfs_con_slice.cc index bd449df0a4b..e3523863776 100644 --- a/storage/perfschema/pfs_con_slice.cc +++ b/storage/perfschema/pfs_con_slice.cc @@ -15,7 +15,7 @@ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_con_slice.h" #include "pfs_stat.h" #include "pfs_global.h" @@ -31,66 +31,6 @@ @{ */ -PFS_single_stat * -PFS_connection_slice::alloc_waits_slice(uint sizing) -{ - PFS_single_stat *slice= NULL; - uint index; - - if (sizing > 0) - { - slice= PFS_MALLOC_ARRAY(sizing, sizeof(PFS_single_stat), PFS_single_stat, - MYF(MY_ZEROFILL)); - if (unlikely(slice == NULL)) - return NULL; - - for (index= 0; index < sizing; index++) - slice[index].reset(); - } - - return slice; -} - -PFS_stage_stat * -PFS_connection_slice::alloc_stages_slice(uint sizing) -{ - PFS_stage_stat *slice= NULL; - uint index; - - if (sizing > 0) - { - slice= PFS_MALLOC_ARRAY(sizing, sizeof(PFS_stage_stat), PFS_stage_stat, - MYF(MY_ZEROFILL)); - if (unlikely(slice == NULL)) - return NULL; - - for (index= 0; index < sizing; index++) - slice[index].reset(); - } - - return slice; -} - -PFS_statement_stat * -PFS_connection_slice::alloc_statements_slice(uint sizing) -{ - PFS_statement_stat *slice= NULL; - uint index; - - if (sizing > 0) - { - slice= PFS_MALLOC_ARRAY(sizing, sizeof(PFS_statement_stat), PFS_statement_stat, - MYF(MY_ZEROFILL)); - if (unlikely(slice == NULL)) - return NULL; - - for (index= 0; index < sizing; index++) - slice[index].reset(); - } - - return slice; -} - void PFS_connection_slice::reset_waits_stats() { PFS_single_stat *stat= m_instr_class_waits_stats; @@ -115,5 +55,21 @@ void PFS_connection_slice::reset_statements_stats() stat->reset(); } +void PFS_connection_slice::reset_transactions_stats() +{ + PFS_transaction_stat *stat= + &m_instr_class_transactions_stats[GLOBAL_TRANSACTION_INDEX]; + if (stat) + stat->reset(); +} + +void PFS_connection_slice::rebase_memory_stats() +{ + PFS_memory_stat *stat= m_instr_class_memory_stats; + PFS_memory_stat *stat_last= stat + memory_class_max; + for ( ; stat < stat_last; stat++) + stat->reset(); +} + /** @} */ diff --git a/storage/perfschema/pfs_con_slice.h b/storage/perfschema/pfs_con_slice.h index d82adcb58a3..f7362892189 100644 --- a/storage/perfschema/pfs_con_slice.h +++ b/storage/perfschema/pfs_con_slice.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,12 +21,17 @@ Performance schema connection slice (declarations). */ +#include "sql_class.h" #include "pfs_lock.h" #include "lf.h" +#include "pfs_status.h" struct PFS_single_stat; struct PFS_stage_stat; struct PFS_statement_stat; +struct PFS_transaction_stat; +struct PFS_memory_stat; +class PFS_opaque_container_page; /** @addtogroup Performance_schema_buffers @@ -39,31 +44,15 @@ struct PFS_statement_stat; */ struct PFS_connection_slice { - /** - Allocate memory for waits statistics. - @param sizing the number of wait classes. - @return wait statistics for this slice. - */ - static PFS_single_stat *alloc_waits_slice(uint sizing); - /** - Allocate memory for stages statistics. - @param sizing the number of stage classes. - @return stage statistics for this slice. - */ - static PFS_stage_stat *alloc_stages_slice(uint sizing); - /** - Allocate memory for statement statistics. - @param sizing the number of statement classes. - @return statement statistics for this slice. - */ - static PFS_statement_stat *alloc_statements_slice(uint sizing); - /** Reset all statistics. */ inline void reset_stats() { - reset_waits_stats(); - reset_stages_stats(); - reset_statements_stats(); + m_has_waits_stats= false; + m_has_stages_stats= false; + m_has_statements_stats= false; + m_has_transactions_stats= false; + m_has_memory_stats= false; + reset_status_stats(); } /** Reset all wait statistics. */ @@ -72,6 +61,137 @@ struct PFS_connection_slice void reset_stages_stats(); /** Reset all statements statistics. */ void reset_statements_stats(); + /** Reset all transactions statistics. */ + void reset_transactions_stats(); + /** Reset all memory statistics. */ + void rebase_memory_stats(); + /** Reset all status variable statistics. */ + void reset_status_stats() + { + m_status_stats.reset(); + } + + void set_instr_class_waits_stats(PFS_single_stat *array) + { + m_has_waits_stats= false; + m_instr_class_waits_stats= array; + } + + const PFS_single_stat* read_instr_class_waits_stats() const + { + if (! m_has_waits_stats) + return NULL; + return m_instr_class_waits_stats; + } + + PFS_single_stat* write_instr_class_waits_stats() + { + if (! m_has_waits_stats) + { + reset_waits_stats(); + m_has_waits_stats= true; + } + return m_instr_class_waits_stats; + } + + void set_instr_class_stages_stats(PFS_stage_stat *array) + { + m_has_stages_stats= false; + m_instr_class_stages_stats= array; + } + + const PFS_stage_stat* read_instr_class_stages_stats() const + { + if (! m_has_stages_stats) + return NULL; + return m_instr_class_stages_stats; + } + + PFS_stage_stat* write_instr_class_stages_stats() + { + if (! m_has_stages_stats) + { + reset_stages_stats(); + m_has_stages_stats= true; + } + return m_instr_class_stages_stats; + } + + void set_instr_class_statements_stats(PFS_statement_stat *array) + { + m_has_statements_stats= false; + m_instr_class_statements_stats= array; + } + + const PFS_statement_stat* read_instr_class_statements_stats() const + { + if (! m_has_statements_stats) + return NULL; + return m_instr_class_statements_stats; + } + + PFS_statement_stat* write_instr_class_statements_stats() + { + if (! m_has_statements_stats) + { + reset_statements_stats(); + m_has_statements_stats= true; + } + return m_instr_class_statements_stats; + } + + void set_instr_class_transactions_stats(PFS_transaction_stat *array) + { + m_has_transactions_stats= false; + m_instr_class_transactions_stats= array; + } + + const PFS_transaction_stat* read_instr_class_transactions_stats() const + { + if (! m_has_transactions_stats) + return NULL; + return m_instr_class_transactions_stats; + } + + PFS_transaction_stat* write_instr_class_transactions_stats() + { + if (! m_has_transactions_stats) + { + reset_transactions_stats(); + m_has_transactions_stats= true; + } + return m_instr_class_transactions_stats; + } + + void set_instr_class_memory_stats(PFS_memory_stat *array) + { + m_has_memory_stats= false; + m_instr_class_memory_stats= array; + } + + const PFS_memory_stat* read_instr_class_memory_stats() const + { + if (! m_has_memory_stats) + return NULL; + return m_instr_class_memory_stats; + } + + PFS_memory_stat* write_instr_class_memory_stats() + { + if (! m_has_memory_stats) + { + rebase_memory_stats(); + m_has_memory_stats= true; + } + return m_instr_class_memory_stats; + } + +private: + bool m_has_waits_stats; + bool m_has_stages_stats; + bool m_has_statements_stats; + bool m_has_transactions_stats; + bool m_has_memory_stats; /** Per connection slice waits aggregated statistics. @@ -96,6 +216,37 @@ struct PFS_connection_slice Immutable, safe to use without internal lock. */ PFS_statement_stat *m_instr_class_statements_stats; + + /** + Per connection slice transactions aggregated statistics. + This member holds the data for the table + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_*_BY_EVENT_NAME. + Immutable, safe to use without internal lock. + */ + PFS_transaction_stat *m_instr_class_transactions_stats; + + /** + Per connection slice memory aggregated statistics. + This member holds the data for the table + PERFORMANCE_SCHEMA.MEMORY_SUMMARY_BY_*_BY_EVENT_NAME. + Immutable, safe to use without internal lock. + */ + PFS_memory_stat *m_instr_class_memory_stats; + +public: + + void aggregate_status_stats(const STATUS_VAR *status_vars) + { + m_status_stats.aggregate_from(status_vars); + } + + /** + Aggregated status variables. + */ + PFS_status_stats m_status_stats; + + /** Container page. */ + PFS_opaque_container_page *m_page; }; /** @} */ diff --git a/storage/perfschema/pfs_defaults.cc b/storage/perfschema/pfs_defaults.cc index 01cf0d73771..283c678e00f 100644 --- a/storage/perfschema/pfs_defaults.cc +++ b/storage/perfschema/pfs_defaults.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,14 +18,18 @@ Default setup (implementation). */ +#include "my_global.h" #include "pfs.h" #include "pfs_defaults.h" +#include "pfs_instr_class.h" #include "pfs_instr.h" #include "pfs_setup_actor.h" #include "pfs_setup_object.h" -static PSI_thread_key key; -static PSI_thread_info info= { &key, "setup", PSI_FLAG_GLOBAL }; +static PSI_thread_key thread_key; +static PSI_thread_info thread_info= { &thread_key, "setup", PSI_FLAG_GLOBAL }; + +const char* pfs_category= "performance_schema"; void install_default_setup(PSI_bootstrap *boot) { @@ -33,30 +37,62 @@ void install_default_setup(PSI_bootstrap *boot) if (psi == NULL) return; - psi->register_thread("performance_schema", &info, 1); - PSI_thread *psi_thread= psi->new_thread(key, NULL, 0); - if (psi_thread == NULL) - return; + psi->register_thread(pfs_category, &thread_info, 1); + PSI_thread *psi_thread= psi->new_thread(thread_key, NULL, 0); + + if (psi_thread != NULL) + { + /* LF_HASH needs a thread, for PINS */ + psi->set_thread(psi_thread); + + String percent("%", 1, &my_charset_utf8_bin); + /* Enable all users on all hosts by default */ + insert_setup_actor(&percent, &percent, &percent, true, true); + + String mysql_db("mysql", 5, &my_charset_utf8_bin); + String PS_db("performance_schema", 18, &my_charset_utf8_bin); + String IS_db("information_schema", 18, &my_charset_utf8_bin); - /* LF_HASH needs a thread, for PINS */ - psi->set_thread(psi_thread); + /* Disable sp by default in mysql. */ + insert_setup_object(OBJECT_TYPE_EVENT, &mysql_db, &percent, false, false); + /* Disable sp in performance/information schema. */ + insert_setup_object(OBJECT_TYPE_EVENT, &PS_db, &percent, false, false); + insert_setup_object(OBJECT_TYPE_EVENT, &IS_db, &percent, false, false); + /* Enable every other sp. */ + insert_setup_object(OBJECT_TYPE_EVENT, &percent, &percent, true, true); - String percent("%", 1, &my_charset_utf8_bin); - /* Enable all users on all hosts by default */ - insert_setup_actor(&percent, &percent, &percent); + /* Disable sp by default in mysql. */ + insert_setup_object(OBJECT_TYPE_FUNCTION, &mysql_db, &percent, false, false); + /* Disable sp in performance/information schema. */ + insert_setup_object(OBJECT_TYPE_FUNCTION, &PS_db, &percent, false, false); + insert_setup_object(OBJECT_TYPE_FUNCTION, &IS_db, &percent, false, false); + /* Enable every other sp. */ + insert_setup_object(OBJECT_TYPE_FUNCTION, &percent, &percent, true, true); - /* Disable system tables by default */ - String mysql_db("mysql", 5, &my_charset_utf8_bin); - insert_setup_object(OBJECT_TYPE_TABLE, &mysql_db, &percent, false, false); + /* Disable sp by default in mysql. */ + insert_setup_object(OBJECT_TYPE_PROCEDURE, &mysql_db, &percent, false, false); + /* Disable sp in performance/information schema. */ + insert_setup_object(OBJECT_TYPE_PROCEDURE, &PS_db, &percent, false, false); + insert_setup_object(OBJECT_TYPE_PROCEDURE, &IS_db, &percent, false, false); + /* Enable every other sp. */ + insert_setup_object(OBJECT_TYPE_PROCEDURE, &percent, &percent, true, true); - /* Disable performance/information schema tables. */ - String PS_db("performance_schema", 18, &my_charset_utf8_bin); - String IS_db("information_schema", 18, &my_charset_utf8_bin); - insert_setup_object(OBJECT_TYPE_TABLE, &PS_db, &percent, false, false); - insert_setup_object(OBJECT_TYPE_TABLE, &IS_db, &percent, false, false); + /* Disable system tables by default */ + insert_setup_object(OBJECT_TYPE_TABLE, &mysql_db, &percent, false, false); + /* Disable performance/information schema tables. */ + insert_setup_object(OBJECT_TYPE_TABLE, &PS_db, &percent, false, false); + insert_setup_object(OBJECT_TYPE_TABLE, &IS_db, &percent, false, false); + /* Enable every other tables */ + insert_setup_object(OBJECT_TYPE_TABLE, &percent, &percent, true, true); - /* Enable every other tables */ - insert_setup_object(OBJECT_TYPE_TABLE, &percent, &percent, true, true); + /* Disable sp by default in mysql. */ + insert_setup_object(OBJECT_TYPE_TRIGGER, &mysql_db, &percent, false, false); + /* Disable sp in performance/information schema. */ + insert_setup_object(OBJECT_TYPE_TRIGGER, &PS_db, &percent, false, false); + insert_setup_object(OBJECT_TYPE_TRIGGER, &IS_db, &percent, false, false); + /* Enable every other sp. */ + insert_setup_object(OBJECT_TYPE_TRIGGER, &percent, &percent, true, true); + } psi->delete_current_thread(); } diff --git a/storage/perfschema/pfs_digest.cc b/storage/perfschema/pfs_digest.cc index 1053bd59571..ccf20da411b 100644 --- a/storage/perfschema/pfs_digest.cc +++ b/storage/perfschema/pfs_digest.cc @@ -27,8 +27,10 @@ #include "pfs_instr.h" #include "pfs_digest.h" #include "pfs_global.h" +#include "pfs_builtin_memory.h" #include "table_helper.h" #include "sql_lex.h" +#include "sql_signal.h" #include "sql_get_diagnostics.h" #include "sql_string.h" #include <string.h> @@ -45,7 +47,7 @@ bool flag_statements_digest= true; Current index in Stat array where new record is to be inserted. index 0 is reserved for "all else" case when entire array is full. */ -volatile uint32 digest_index; +static PFS_ALIGNED PFS_cacheline_uint32 digest_index; bool digest_full= false; LF_HASH digest_hash; @@ -63,16 +65,16 @@ int init_digest(const PFS_global_param *param) */ digest_max= param->m_digest_sizing; digest_lost= 0; - digest_index= 1; + digest_index.m_u32= 1; digest_full= false; if (digest_max == 0) return 0; statements_digest_stat_array= - PFS_MALLOC_ARRAY(digest_max, - sizeof(PFS_statements_digest_stat), - PFS_statements_digest_stat, + PFS_MALLOC_ARRAY(& builtin_memory_digest, + digest_max, + sizeof(PFS_statements_digest_stat), PFS_statements_digest_stat, MYF(MY_ZEROFILL)); if (unlikely(statements_digest_stat_array == NULL)) @@ -87,7 +89,8 @@ int init_digest(const PFS_global_param *param) size_t digest_memory_size= pfs_max_digest_length * sizeof(unsigned char); statements_digest_token_array= - PFS_MALLOC_ARRAY(digest_max, + PFS_MALLOC_ARRAY(& builtin_memory_digest_tokens, + digest_max, digest_memory_size, unsigned char, MYF(MY_ZEROFILL)); @@ -111,9 +114,16 @@ int init_digest(const PFS_global_param *param) /** Cleanup table EVENTS_STATEMENTS_SUMMARY_BY_DIGEST. */ void cleanup_digest(void) { - /* Free memory allocated to statements_digest_stat_array. */ - pfs_free(statements_digest_stat_array); - pfs_free(statements_digest_token_array); + PFS_FREE_ARRAY(& builtin_memory_digest, + digest_max, + sizeof(PFS_statements_digest_stat), + statements_digest_stat_array); + + PFS_FREE_ARRAY(& builtin_memory_digest_tokens, + digest_max, + (pfs_max_digest_length * sizeof(unsigned char)), + statements_digest_token_array); + statements_digest_stat_array= NULL; statements_digest_token_array= NULL; } @@ -140,14 +150,13 @@ C_MODE_END Initialize the digest hash. @return 0 on success */ -int init_digest_hash(void) +int init_digest_hash(const PFS_global_param *param) { - if ((! digest_hash_inited) && (digest_max > 0)) + if ((! digest_hash_inited) && (param->m_digest_sizing != 0)) { lf_hash_init(&digest_hash, sizeof(PFS_statements_digest_stat*), LF_HASH_UNIQUE, 0, 0, digest_hash_get_key, &my_charset_bin); - digest_hash.size= (int32)digest_max; digest_hash_inited= true; } return 0; @@ -207,7 +216,7 @@ find_or_create_digest(PFS_thread *thread, memcpy(hash_key.m_schema_name, schema_name, schema_name_length); int res; - ulong safe_index; + size_t safe_index; uint retry_count= 0; const uint retry_max= 3; PFS_statements_digest_stat **entry; @@ -235,7 +244,7 @@ search: if (digest_full) { - /* digest_stat array is full. Add stat at index 0 and return. */ + /* digest_stat array is full. Add stat at index 0 and return. */ pfs= &statements_digest_stat_array[0]; digest_lost++; @@ -245,7 +254,7 @@ search: return & pfs->m_stat; } - safe_index= PFS_atomic::add_u32(& digest_index, 1); + safe_index= PFS_atomic::add_u32(& digest_index.m_u32, 1); if (safe_index >= digest_max) { /* The digest array is now full. */ @@ -318,7 +327,7 @@ void purge_digest(PFS_thread* thread, PFS_digest_key *hash_key) return; } -void PFS_statements_digest_stat::reset_data(unsigned char *token_array, uint length) +void PFS_statements_digest_stat::reset_data(unsigned char *token_array, size_t length) { m_digest_storage.reset(token_array, length); m_stat.reset(); @@ -337,6 +346,8 @@ void PFS_statements_digest_stat::reset_index(PFS_thread *thread) void reset_esms_by_digest() { + uint index; + if (statements_digest_stat_array == NULL) return; @@ -345,7 +356,7 @@ void reset_esms_by_digest() return; /* Reset statements_digest_stat_array. */ - for (size_t index= 0; index < digest_max; index++) + for (index= 0; index < digest_max; index++) { statements_digest_stat_array[index].reset_index(thread); statements_digest_stat_array[index].reset_data(statements_digest_token_array + index * pfs_max_digest_length, pfs_max_digest_length); @@ -355,7 +366,7 @@ void reset_esms_by_digest() Reset index which indicates where the next calculated digest information to be inserted in statements_digest_stat_array. */ - digest_index= 1; + digest_index.m_u32= 1; digest_full= false; } diff --git a/storage/perfschema/pfs_digest.h b/storage/perfschema/pfs_digest.h index 76d6c33d984..1f760c6dc24 100644 --- a/storage/perfschema/pfs_digest.h +++ b/storage/perfschema/pfs_digest.h @@ -58,7 +58,7 @@ struct PFS_ALIGNED PFS_statements_digest_stat ulonglong m_last_seen; /** Reset data for this record. */ - void reset_data(unsigned char* token_array, uint length); + void reset_data(unsigned char* token_array, size_t length); /** Reset data and remove index for this record. */ void reset_index(PFS_thread *thread); }; @@ -66,7 +66,7 @@ struct PFS_ALIGNED PFS_statements_digest_stat int init_digest(const PFS_global_param *param); void cleanup_digest(); -int init_digest_hash(void); +int init_digest_hash(const PFS_global_param *param); void cleanup_digest_hash(void); PFS_statement_stat* find_or_create_digest(PFS_thread *thread, const sql_digest_storage *digest_storage, @@ -81,3 +81,4 @@ extern PFS_statements_digest_stat *statements_digest_stat_array; extern LF_HASH digest_hash; #endif + diff --git a/storage/perfschema/pfs_engine_table.cc b/storage/perfschema/pfs_engine_table.cc index d114c2286d4..f16d84adac7 100644 --- a/storage/perfschema/pfs_engine_table.cc +++ b/storage/perfschema/pfs_engine_table.cc @@ -19,9 +19,10 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "hostname.h" /* For Host_entry */ #include "pfs_engine_table.h" +#include "pfs_buffer_container.h" #include "table_events_waits.h" #include "table_setup_actors.h" @@ -62,6 +63,14 @@ #include "table_esms_by_account_by_event_name.h" #include "table_esms_global_by_event_name.h" #include "table_esms_by_digest.h" +#include "table_esms_by_program.h" + +#include "table_events_transactions.h" +#include "table_ets_by_thread_by_event_name.h" +#include "table_ets_by_host_by_event_name.h" +#include "table_ets_by_user_by_event_name.h" +#include "table_ets_by_account_by_event_name.h" +#include "table_ets_global_by_event_name.h" #include "table_users.h" #include "table_accounts.h" @@ -72,6 +81,39 @@ #include "table_socket_summary_by_event_name.h" #include "table_session_connect_attrs.h" #include "table_session_account_connect_attrs.h" +#include "table_mems_global_by_event_name.h" +#include "table_mems_by_account_by_event_name.h" +#include "table_mems_by_host_by_event_name.h" +#include "table_mems_by_thread_by_event_name.h" +#include "table_mems_by_user_by_event_name.h" + +/* For replication related perfschema tables. */ +#include "table_replication_connection_configuration.h" +#include "table_replication_group_members.h" +#include "table_replication_connection_status.h" +#include "table_replication_applier_configuration.h" +#include "table_replication_applier_status.h" +#include "table_replication_applier_status_by_coordinator.h" +#include "table_replication_applier_status_by_worker.h" +#include "table_replication_group_member_stats.h" + +#include "table_prepared_stmt_instances.h" + +#include "table_md_locks.h" +#include "table_table_handles.h" + +#include "table_uvar_by_thread.h" + +#include "table_status_by_account.h" +#include "table_status_by_host.h" +#include "table_status_by_thread.h" +#include "table_status_by_user.h" +#include "table_global_status.h" +#include "table_session_status.h" + +#include "table_variables_by_thread.h" +#include "table_global_variables.h" +#include "table_session_variables.h" /* For show status */ #include "pfs_column_values.h" @@ -84,12 +126,105 @@ #include "sql_base.h" // close_thread_tables #include "lock.h" // MYSQL_LOCK_IGNORE_TIMEOUT +#include "log.h" /** @addtogroup Performance_schema_engine @{ */ +bool PFS_table_context::initialize(void) +{ + if (m_restore) + { + /* Restore context from TLS. */ + PFS_table_context *context= static_cast<PFS_table_context *>(my_get_thread_local(m_thr_key)); + DBUG_ASSERT(context != NULL); + + if(context) + { + m_last_version= context->m_current_version; + m_map= context->m_map; + DBUG_ASSERT(m_map_size == context->m_map_size); + m_map_size= context->m_map_size; + m_word_size= context->m_word_size; + } + } + else + { + /* Check that TLS is not in use. */ + PFS_table_context *context= static_cast<PFS_table_context *>(my_get_thread_local(m_thr_key)); + //DBUG_ASSERT(context == NULL); + + context= this; + + /* Initialize a new context, store in TLS. */ + m_last_version= m_current_version; + m_map= NULL; + m_word_size= sizeof(ulong) * 8; + + /* Allocate a bitmap to record which threads are materialized. */ + if (m_map_size > 0) + { + THD *thd= current_thd; + ulong words= m_map_size / m_word_size + (m_map_size % m_word_size > 0); + m_map= (ulong *)thd->mem_calloc(words * m_word_size); + } + + /* Write to TLS. */ + my_set_thread_local(m_thr_key, static_cast<void *>(context)); + } + + m_initialized= (m_map_size > 0) ? (m_map != NULL) : true; + + return m_initialized; +} + +/* Constructor for global or single thread tables, map size = 0. */ +PFS_table_context::PFS_table_context(ulonglong current_version, bool restore, thread_local_key_t key) : + m_thr_key(key), m_current_version(current_version), m_last_version(0), + m_map(NULL), m_map_size(0), m_word_size(sizeof(ulong)), + m_restore(restore), m_initialized(false), m_last_item(0) +{ + initialize(); +} + +/* Constructor for by-thread or aggregate tables, map size = max thread/user/host/account. */ +PFS_table_context::PFS_table_context(ulonglong current_version, ulong map_size, bool restore, thread_local_key_t key) : + m_thr_key(key), m_current_version(current_version), m_last_version(0), + m_map(NULL), m_map_size(map_size), m_word_size(sizeof(ulong)), + m_restore(restore), m_initialized(false), m_last_item(0) +{ + initialize(); +} + +PFS_table_context::~PFS_table_context(void) +{ + /* Clear TLS after final use. */ // TODO: How is that determined? +// if (m_restore) +// { +// my_set_thread_local(m_thr_key, NULL); +// } +} + +void PFS_table_context::set_item(ulong n) +{ + if (n == m_last_item) + return; + ulong word= n / m_word_size; + ulong bit= n % m_word_size; + m_map[word] |= (1 << bit); + m_last_item= n; +} + +bool PFS_table_context::is_item_set(ulong n) +{ + ulong word= n / m_word_size; + ulong bit= n % m_word_size; + return (m_map[word] & (1 << bit)); +} + + static PFS_engine_table_share *all_shares[]= { &table_cond_instances::m_share, @@ -138,6 +273,16 @@ static PFS_engine_table_share *all_shares[]= &table_esms_by_host_by_event_name::m_share, &table_esms_global_by_event_name::m_share, &table_esms_by_digest::m_share, + &table_esms_by_program::m_share, + + &table_events_transactions_current::m_share, + &table_events_transactions_history::m_share, + &table_events_transactions_history_long::m_share, + &table_ets_by_thread_by_event_name::m_share, + &table_ets_by_account_by_event_name::m_share, + &table_ets_by_user_by_event_name::m_share, + &table_ets_by_host_by_event_name::m_share, + &table_ets_global_by_event_name::m_share, &table_users::m_share, &table_accounts::m_share, @@ -146,8 +291,41 @@ static PFS_engine_table_share *all_shares[]= &table_socket_instances::m_share, &table_socket_summary_by_instance::m_share, &table_socket_summary_by_event_name::m_share, + &table_session_connect_attrs::m_share, &table_session_account_connect_attrs::m_share, + + &table_mems_global_by_event_name::m_share, + &table_mems_by_account_by_event_name::m_share, + &table_mems_by_host_by_event_name::m_share, + &table_mems_by_thread_by_event_name::m_share, + &table_mems_by_user_by_event_name::m_share, + &table_table_handles::m_share, + &table_metadata_locks::m_share, + + &table_replication_connection_configuration::m_share, + &table_replication_group_members::m_share, + &table_replication_connection_status::m_share, + &table_replication_applier_configuration::m_share, + &table_replication_applier_status::m_share, + &table_replication_applier_status_by_coordinator::m_share, + &table_replication_applier_status_by_worker::m_share, + &table_replication_group_member_stats::m_share, + + &table_prepared_stmt_instances::m_share, + + &table_uvar_by_thread::m_share, + &table_status_by_account::m_share, + &table_status_by_host::m_share, + &table_status_by_thread::m_share, + &table_status_by_user::m_share, + &table_global_status::m_share, + &table_session_status::m_share, + + &table_variables_by_thread::m_share, + &table_global_variables::m_share, + &table_session_variables::m_share, + NULL }; @@ -220,7 +398,7 @@ void PFS_engine_table_share::check_one_table(THD *thd) thd->lex= &dummy_lex; lex_start(thd); - if (! open_and_lock_tables(thd, &tables, FALSE, MYSQL_LOCK_IGNORE_TIMEOUT)) + if (! open_and_lock_tables(thd, &tables, MYSQL_LOCK_IGNORE_TIMEOUT)) { PFS_check_intact checker; @@ -256,11 +434,7 @@ void PFS_engine_table_share::delete_all_locks(void) ha_rows PFS_engine_table_share::get_row_count(void) const { - /* If available, count the exact number or records */ - if (m_get_row_count) - return m_get_row_count(); - /* Otherwise, return an estimate */ - return m_records; + return m_get_row_count(); } int PFS_engine_table_share::write_row(TABLE *table, unsigned char *buf, @@ -307,7 +481,7 @@ static int compare_table_names(const char *name1, const char *name2) to be simply my_strcasecmp(system_charset_info, name1, name2). */ if (lower_case_table_names) - return strcasecmp(name1, name2); + return native_strcasecmp(name1, name2); return strcmp(name1, name2); } @@ -470,6 +644,13 @@ void PFS_engine_table::get_normalizer(PFS_instr_class *instr_class) } } +void PFS_engine_table::set_field_long(Field *f, long value) +{ + DBUG_ASSERT(f->real_type() == MYSQL_TYPE_LONG); + Field_long *f2= (Field_long*) f; + f2->store(value, false); +} + void PFS_engine_table::set_field_ulong(Field *f, ulong value) { DBUG_ASSERT(f->real_type() == MYSQL_TYPE_LONG); @@ -477,6 +658,13 @@ void PFS_engine_table::set_field_ulong(Field *f, ulong value) f2->store(value, true); } +void PFS_engine_table::set_field_longlong(Field *f, longlong value) +{ + DBUG_ASSERT(f->real_type() == MYSQL_TYPE_LONGLONG); + Field_longlong *f2= (Field_longlong*) f; + f2->store(value, false); +} + void PFS_engine_table::set_field_ulonglong(Field *f, ulonglong value) { DBUG_ASSERT(f->real_type() == MYSQL_TYPE_LONGLONG); @@ -508,6 +696,14 @@ void PFS_engine_table::set_field_longtext_utf8(Field *f, const char* str, f2->store(str, len, &my_charset_utf8_bin); } +void PFS_engine_table::set_field_blob(Field *f, const char* val, + uint len) +{ + DBUG_ASSERT(f->real_type() == MYSQL_TYPE_BLOB); + Field_blob *f2= (Field_blob*) f; + f2->store(val, len, &my_charset_utf8_bin); +} + void PFS_engine_table::set_field_enum(Field *f, ulonglong value) { DBUG_ASSERT(f->real_type() == MYSQL_TYPE_ENUM); @@ -525,6 +721,13 @@ void PFS_engine_table::set_field_timestamp(Field *f, ulonglong value) f2->store_timestamp(& tm); } +void PFS_engine_table::set_field_double(Field *f, double value) +{ + DBUG_ASSERT(f->real_type() == MYSQL_TYPE_DOUBLE); + Field_double *f2= (Field_double*) f; + f2->store(value); +} + ulonglong PFS_engine_table::get_field_enum(Field *f) { DBUG_ASSERT(f->real_type() == MYSQL_TYPE_ENUM); @@ -620,7 +823,7 @@ void initialize_performance_schema_acl(bool bootstrap) */ if (! bootstrap) { - ACL_internal_schema_registry::register_schema(&PERFORMANCE_SCHEMA_str, + ACL_internal_schema_registry::register_schema(PERFORMANCE_SCHEMA_str, &pfs_internal_access); } } @@ -640,6 +843,19 @@ PFS_readonly_acl::check(ulong want_access, ulong *save_priv) const return ACL_INTERNAL_ACCESS_CHECK_GRANT; } + +PFS_readonly_world_acl pfs_readonly_world_acl; + +ACL_internal_access_result +PFS_readonly_world_acl::check(ulong want_access, ulong *save_priv) const +{ + ACL_internal_access_result res= PFS_readonly_acl::check(want_access, save_priv); + if (res == ACL_INTERNAL_ACCESS_CHECK_GRANT) + res= ACL_INTERNAL_ACCESS_GRANTED; + return res; +} + + PFS_truncatable_acl pfs_truncatable_acl; ACL_internal_access_result @@ -655,6 +871,19 @@ PFS_truncatable_acl::check(ulong want_access, ulong *save_priv) const return ACL_INTERNAL_ACCESS_CHECK_GRANT; } + +PFS_truncatable_world_acl pfs_truncatable_world_acl; + +ACL_internal_access_result +PFS_truncatable_world_acl::check(ulong want_access, ulong *save_priv) const +{ + ACL_internal_access_result res= PFS_truncatable_acl::check(want_access, save_priv); + if (res == ACL_INTERNAL_ACCESS_CHECK_GRANT) + res= ACL_INTERNAL_ACCESS_GRANTED; + return res; +} + + PFS_updatable_acl pfs_updatable_acl; ACL_internal_access_result @@ -743,33 +972,33 @@ bool pfs_show_status(handlerton *hton, THD *thd, { switch (i){ case 0: - name= "events_waits_current.row_size"; + name= "events_waits_current.size"; size= sizeof(PFS_events_waits); break; case 1: - name= "events_waits_current.row_count"; - size= WAIT_STACK_SIZE * thread_max; + name= "events_waits_current.count"; + size= WAIT_STACK_SIZE * global_thread_container.get_row_count(); break; case 2: - name= "events_waits_history.row_size"; + name= "events_waits_history.size"; size= sizeof(PFS_events_waits); break; case 3: - name= "events_waits_history.row_count"; - size= events_waits_history_per_thread * thread_max; + name= "events_waits_history.count"; + size= events_waits_history_per_thread * global_thread_container.get_row_count(); break; case 4: name= "events_waits_history.memory"; - size= events_waits_history_per_thread * thread_max + size= events_waits_history_per_thread * global_thread_container.get_row_count() * sizeof(PFS_events_waits); total_memory+= size; break; case 5: - name= "events_waits_history_long.row_size"; + name= "events_waits_history_long.size"; size= sizeof(PFS_events_waits); break; case 6: - name= "events_waits_history_long.row_count"; + name= "events_waits_history_long.count"; size= events_waits_history_long_size; break; case 7: @@ -778,11 +1007,11 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 8: - name= "(pfs_mutex_class).row_size"; + name= "(pfs_mutex_class).size"; size= sizeof(PFS_mutex_class); break; case 9: - name= "(pfs_mutex_class).row_count"; + name= "(pfs_mutex_class).count"; size= mutex_class_max; break; case 10: @@ -791,11 +1020,11 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 11: - name= "(pfs_rwlock_class).row_size"; + name= "(pfs_rwlock_class).size"; size= sizeof(PFS_rwlock_class); break; case 12: - name= "(pfs_rwlock_class).row_count"; + name= "(pfs_rwlock_class).count"; size= rwlock_class_max; break; case 13: @@ -804,11 +1033,11 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 14: - name= "(pfs_cond_class).row_size"; + name= "(pfs_cond_class).size"; size= sizeof(PFS_cond_class); break; case 15: - name= "(pfs_cond_class).row_count"; + name= "(pfs_cond_class).count"; size= cond_class_max; break; case 16: @@ -817,11 +1046,11 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 17: - name= "(pfs_thread_class).row_size"; + name= "(pfs_thread_class).size"; size= sizeof(PFS_thread_class); break; case 18: - name= "(pfs_thread_class).row_count"; + name= "(pfs_thread_class).count"; size= thread_class_max; break; case 19: @@ -830,11 +1059,11 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 20: - name= "(pfs_file_class).row_size"; + name= "(pfs_file_class).size"; size= sizeof(PFS_file_class); break; case 21: - name= "(pfs_file_class).row_count"; + name= "(pfs_file_class).count"; size= file_class_max; break; case 22: @@ -843,76 +1072,76 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 23: - name= "mutex_instances.row_size"; - size= sizeof(PFS_mutex); + name= "mutex_instances.size"; + size= global_mutex_container.get_row_size(); break; case 24: - name= "mutex_instances.row_count"; - size= mutex_max; + name= "mutex_instances.count"; + size= global_mutex_container.get_row_count(); break; case 25: name= "mutex_instances.memory"; - size= mutex_max * sizeof(PFS_mutex); + size= global_mutex_container.get_memory(); total_memory+= size; break; case 26: - name= "rwlock_instances.row_size"; - size= sizeof(PFS_rwlock); + name= "rwlock_instances.size"; + size= global_rwlock_container.get_row_size(); break; case 27: - name= "rwlock_instances.row_count"; - size= rwlock_max; + name= "rwlock_instances.count"; + size= global_rwlock_container.get_row_count(); break; case 28: name= "rwlock_instances.memory"; - size= rwlock_max * sizeof(PFS_rwlock); + size= global_rwlock_container.get_memory(); total_memory+= size; break; case 29: - name= "cond_instances.row_size"; - size= sizeof(PFS_cond); + name= "cond_instances.size"; + size= global_cond_container.get_row_size(); break; case 30: - name= "cond_instances.row_count"; - size= cond_max; + name= "cond_instances.count"; + size= global_cond_container.get_row_count(); break; case 31: name= "cond_instances.memory"; - size= cond_max * sizeof(PFS_cond); + size= global_cond_container.get_memory(); total_memory+= size; break; case 32: - name= "threads.row_size"; - size= sizeof(PFS_thread); + name= "threads.size"; + size= global_thread_container.get_row_size(); break; case 33: - name= "threads.row_count"; - size= thread_max; + name= "threads.count"; + size= global_thread_container.get_row_count(); break; case 34: name= "threads.memory"; - size= thread_max * sizeof(PFS_thread); + size= global_thread_container.get_memory(); total_memory+= size; break; case 35: - name= "file_instances.row_size"; - size= sizeof(PFS_file); + name= "file_instances.size"; + size= global_file_container.get_row_size(); break; case 36: - name= "file_instances.row_count"; - size= file_max; + name= "file_instances.count"; + size= global_file_container.get_row_count(); break; case 37: name= "file_instances.memory"; - size= file_max * sizeof(PFS_file); + size= global_file_container.get_memory(); total_memory+= size; break; case 38: - name= "(pfs_file_handle).row_size"; + name= "(pfs_file_handle).size"; size= sizeof(PFS_file*); break; case 39: - name= "(pfs_file_handle).row_count"; + name= "(pfs_file_handle).count"; size= file_handle_max; break; case 40: @@ -921,154 +1150,154 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 41: - name= "events_waits_summary_by_thread_by_event_name.row_size"; + name= "events_waits_summary_by_thread_by_event_name.size"; size= sizeof(PFS_single_stat); break; case 42: - name= "events_waits_summary_by_thread_by_event_name.row_count"; - size= thread_max * wait_class_max; + name= "events_waits_summary_by_thread_by_event_name.count"; + size= global_thread_container.get_row_count() * wait_class_max; break; case 43: name= "events_waits_summary_by_thread_by_event_name.memory"; - size= thread_max * wait_class_max * sizeof(PFS_single_stat); + size= global_thread_container.get_row_count() * wait_class_max * sizeof(PFS_single_stat); total_memory+= size; break; case 44: - name= "(pfs_table_share).row_size"; - size= sizeof(PFS_table_share); + name= "(pfs_table_share).size"; + size= global_table_share_container.get_row_size(); break; case 45: - name= "(pfs_table_share).row_count"; - size= table_share_max; + name= "(pfs_table_share).count"; + size= global_table_share_container.get_row_count(); break; case 46: name= "(pfs_table_share).memory"; - size= table_share_max * sizeof(PFS_table_share); + size= global_table_share_container.get_memory(); total_memory+= size; break; case 47: - name= "(pfs_table).row_size"; - size= sizeof(PFS_table); + name= "(pfs_table).size"; + size= global_table_container.get_row_size(); break; case 48: - name= "(pfs_table).row_count"; - size= table_max; + name= "(pfs_table).count"; + size= global_table_container.get_row_count(); break; case 49: name= "(pfs_table).memory"; - size= table_max * sizeof(PFS_table); + size= global_table_container.get_memory(); total_memory+= size; break; case 50: - name= "setup_actors.row_size"; - size= sizeof(PFS_setup_actor); + name= "setup_actors.size"; + size= global_setup_actor_container.get_row_size(); break; case 51: - name= "setup_actors.row_count"; - size= setup_actor_max; + name= "setup_actors.count"; + size= global_setup_actor_container.get_row_count(); break; case 52: name= "setup_actors.memory"; - size= setup_actor_max * sizeof(PFS_setup_actor); + size= global_setup_actor_container.get_memory(); total_memory+= size; break; case 53: - name= "setup_objects.row_size"; - size= sizeof(PFS_setup_object); + name= "setup_objects.size"; + size= global_setup_object_container.get_row_size(); break; case 54: - name= "setup_objects.row_count"; - size= setup_object_max; + name= "setup_objects.count"; + size= global_setup_object_container.get_row_count(); break; case 55: name= "setup_objects.memory"; - size= setup_object_max * sizeof(PFS_setup_object); + size= global_setup_object_container.get_memory(); total_memory+= size; break; case 56: - name= "(pfs_account).row_size"; - size= sizeof(PFS_account); + name= "(pfs_account).size"; + size= global_account_container.get_row_size(); break; case 57: - name= "(pfs_account).row_count"; - size= account_max; + name= "(pfs_account).count"; + size= global_account_container.get_row_count(); break; case 58: name= "(pfs_account).memory"; - size= account_max * sizeof(PFS_account); + size= global_account_container.get_memory(); total_memory+= size; break; case 59: - name= "events_waits_summary_by_account_by_event_name.row_size"; + name= "events_waits_summary_by_account_by_event_name.size"; size= sizeof(PFS_single_stat); break; case 60: - name= "events_waits_summary_by_account_by_event_name.row_count"; - size= account_max * wait_class_max; + name= "events_waits_summary_by_account_by_event_name.count"; + size= global_account_container.get_row_count() * wait_class_max; break; case 61: name= "events_waits_summary_by_account_by_event_name.memory"; - size= account_max * wait_class_max * sizeof(PFS_single_stat); + size= global_account_container.get_row_count() * wait_class_max * sizeof(PFS_single_stat); total_memory+= size; break; case 62: - name= "events_waits_summary_by_user_by_event_name.row_size"; + name= "events_waits_summary_by_user_by_event_name.size"; size= sizeof(PFS_single_stat); break; case 63: - name= "events_waits_summary_by_user_by_event_name.row_count"; - size= user_max * wait_class_max; + name= "events_waits_summary_by_user_by_event_name.count"; + size= global_user_container.get_row_count() * wait_class_max; break; case 64: name= "events_waits_summary_by_user_by_event_name.memory"; - size= user_max * wait_class_max * sizeof(PFS_single_stat); + size= global_user_container.get_row_count() * wait_class_max * sizeof(PFS_single_stat); total_memory+= size; break; case 65: - name= "events_waits_summary_by_host_by_event_name.row_size"; + name= "events_waits_summary_by_host_by_event_name.size"; size= sizeof(PFS_single_stat); break; case 66: - name= "events_waits_summary_by_host_by_event_name.row_count"; - size= host_max * wait_class_max; + name= "events_waits_summary_by_host_by_event_name.count"; + size= global_host_container.get_row_count() * wait_class_max; break; case 67: name= "events_waits_summary_by_host_by_event_name.memory"; - size= host_max * wait_class_max * sizeof(PFS_single_stat); + size= global_host_container.get_row_count() * wait_class_max * sizeof(PFS_single_stat); total_memory+= size; break; case 68: - name= "(pfs_user).row_size"; - size= sizeof(PFS_user); + name= "(pfs_user).size"; + size= global_user_container.get_row_size(); break; case 69: - name= "(pfs_user).row_count"; - size= user_max; + name= "(pfs_user).count"; + size= global_user_container.get_row_count(); break; case 70: name= "(pfs_user).memory"; - size= user_max * sizeof(PFS_user); + size= global_user_container.get_memory(); total_memory+= size; break; case 71: - name= "(pfs_host).row_size"; - size= sizeof(PFS_host); + name= "(pfs_host).size"; + size= global_host_container.get_row_size(); break; case 72: - name= "(pfs_host).row_count"; - size= host_max; + name= "(pfs_host).count"; + size= global_host_container.get_row_count(); break; case 73: name= "(pfs_host).memory"; - size= host_max * sizeof(PFS_host); + size= global_host_container.get_memory(); total_memory+= size; break; case 74: - name= "(pfs_stage_class).row_size"; + name= "(pfs_stage_class).size"; size= sizeof(PFS_stage_class); break; case 75: - name= "(pfs_stage_class).row_count"; + name= "(pfs_stage_class).count"; size= stage_class_max; break; case 76: @@ -1077,25 +1306,25 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 77: - name= "events_stages_history.row_size"; + name= "events_stages_history.size"; size= sizeof(PFS_events_stages); break; case 78: - name= "events_stages_history.row_count"; - size= events_stages_history_per_thread * thread_max; + name= "events_stages_history.count"; + size= events_stages_history_per_thread * global_thread_container.get_row_count(); break; case 79: name= "events_stages_history.memory"; - size= events_stages_history_per_thread * thread_max + size= events_stages_history_per_thread * global_thread_container.get_row_count() * sizeof(PFS_events_stages); total_memory+= size; break; case 80: - name= "events_stages_history_long.row_size"; + name= "events_stages_history_long.size"; size= sizeof(PFS_events_stages); break; case 81: - name= "events_stages_history_long.row_count"; + name= "events_stages_history_long.count"; size= events_stages_history_long_size; break; case 82: @@ -1104,24 +1333,24 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 83: - name= "events_stages_summary_by_thread_by_event_name.row_size"; + name= "events_stages_summary_by_thread_by_event_name.size"; size= sizeof(PFS_stage_stat); break; case 84: - name= "events_stages_summary_by_thread_by_event_name.row_count"; - size= thread_max * stage_class_max; + name= "events_stages_summary_by_thread_by_event_name.count"; + size= global_thread_container.get_row_count() * stage_class_max; break; case 85: name= "events_stages_summary_by_thread_by_event_name.memory"; - size= thread_max * stage_class_max * sizeof(PFS_stage_stat); + size= global_thread_container.get_row_count() * stage_class_max * sizeof(PFS_stage_stat); total_memory+= size; break; case 86: - name= "events_stages_summary_global_by_event_name.row_size"; + name= "events_stages_summary_global_by_event_name.size"; size= sizeof(PFS_stage_stat); break; case 87: - name= "events_stages_summary_global_by_event_name.row_count"; + name= "events_stages_summary_global_by_event_name.count"; size= stage_class_max; break; case 88: @@ -1130,50 +1359,50 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 89: - name= "events_stages_summary_by_account_by_event_name.row_size"; + name= "events_stages_summary_by_account_by_event_name.size"; size= sizeof(PFS_stage_stat); break; case 90: - name= "events_stages_summary_by_account_by_event_name.row_count"; - size= account_max * stage_class_max; + name= "events_stages_summary_by_account_by_event_name.count"; + size= global_account_container.get_row_count() * stage_class_max; break; case 91: name= "events_stages_summary_by_account_by_event_name.memory"; - size= account_max * stage_class_max * sizeof(PFS_stage_stat); + size= global_account_container.get_row_count() * stage_class_max * sizeof(PFS_stage_stat); total_memory+= size; break; case 92: - name= "events_stages_summary_by_user_by_event_name.row_size"; + name= "events_stages_summary_by_user_by_event_name.size"; size= sizeof(PFS_stage_stat); break; case 93: - name= "events_stages_summary_by_user_by_event_name.row_count"; - size= user_max * stage_class_max; + name= "events_stages_summary_by_user_by_event_name.count"; + size= global_user_container.get_row_count() * stage_class_max; break; case 94: name= "events_stages_summary_by_user_by_event_name.memory"; - size= user_max * stage_class_max * sizeof(PFS_stage_stat); + size= global_user_container.get_row_count() * stage_class_max * sizeof(PFS_stage_stat); total_memory+= size; break; case 95: - name= "events_stages_summary_by_host_by_event_name.row_size"; + name= "events_stages_summary_by_host_by_event_name.size"; size= sizeof(PFS_stage_stat); break; case 96: - name= "events_stages_summary_by_host_by_event_name.row_count"; - size= host_max * stage_class_max; + name= "events_stages_summary_by_host_by_event_name.count"; + size= global_host_container.get_row_count() * stage_class_max; break; case 97: name= "events_stages_summary_by_host_by_event_name.memory"; - size= host_max * stage_class_max * sizeof(PFS_stage_stat); + size= global_host_container.get_row_count() * stage_class_max * sizeof(PFS_stage_stat); total_memory+= size; break; case 98: - name= "(pfs_statement_class).row_size"; + name= "(pfs_statement_class).size"; size= sizeof(PFS_statement_class); break; case 99: - name= "(pfs_statement_class).row_count"; + name= "(pfs_statement_class).count"; size= statement_class_max; break; case 100: @@ -1182,51 +1411,51 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 101: - name= "events_statements_history.row_size"; + name= "events_statements_history.size"; size= sizeof(PFS_events_statements); break; case 102: - name= "events_statements_history.row_count"; - size= events_statements_history_per_thread * thread_max; + name= "events_statements_history.count"; + size= events_statements_history_per_thread * global_thread_container.get_row_count(); break; case 103: name= "events_statements_history.memory"; - size= events_statements_history_per_thread * thread_max + size= events_statements_history_per_thread * global_thread_container.get_row_count() * sizeof(PFS_events_statements); total_memory+= size; break; case 104: - name= "events_statements_history_long.row_size"; + name= "events_statements_history_long.size"; size= sizeof(PFS_events_statements); break; case 105: - name= "events_statements_history_long.row_count"; + name= "events_statements_history_long.count"; size= events_statements_history_long_size; break; case 106: name= "events_statements_history_long.memory"; - size= events_statements_history_long_size * sizeof(PFS_events_statements); + size= events_statements_history_long_size * (sizeof(PFS_events_statements)); total_memory+= size; break; case 107: - name= "events_statements_summary_by_thread_by_event_name.row_size"; + name= "events_statements_summary_by_thread_by_event_name.size"; size= sizeof(PFS_statement_stat); break; case 108: - name= "events_statements_summary_by_thread_by_event_name.row_count"; - size= thread_max * statement_class_max; + name= "events_statements_summary_by_thread_by_event_name.count"; + size= global_thread_container.get_row_count() * statement_class_max; break; case 109: name= "events_statements_summary_by_thread_by_event_name.memory"; - size= thread_max * statement_class_max * sizeof(PFS_statement_stat); + size= global_thread_container.get_row_count() * statement_class_max * sizeof(PFS_statement_stat); total_memory+= size; break; case 110: - name= "events_statements_summary_global_by_event_name.row_size"; + name= "events_statements_summary_global_by_event_name.size"; size= sizeof(PFS_statement_stat); break; case 111: - name= "events_statements_summary_global_by_event_name.row_count"; + name= "events_statements_summary_global_by_event_name.count"; size= statement_class_max; break; case 112: @@ -1235,63 +1464,63 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 113: - name= "events_statements_summary_by_account_by_event_name.row_size"; + name= "events_statements_summary_by_account_by_event_name.size"; size= sizeof(PFS_statement_stat); break; case 114: - name= "events_statements_summary_by_account_by_event_name.row_count"; - size= account_max * statement_class_max; + name= "events_statements_summary_by_account_by_event_name.count"; + size= global_account_container.get_row_count() * statement_class_max; break; case 115: name= "events_statements_summary_by_account_by_event_name.memory"; - size= account_max * statement_class_max * sizeof(PFS_statement_stat); + size= global_account_container.get_row_count() * statement_class_max * sizeof(PFS_statement_stat); total_memory+= size; break; case 116: - name= "events_statements_summary_by_user_by_event_name.row_size"; + name= "events_statements_summary_by_user_by_event_name.size"; size= sizeof(PFS_statement_stat); break; case 117: - name= "events_statements_summary_by_user_by_event_name.row_count"; - size= user_max * statement_class_max; + name= "events_statements_summary_by_user_by_event_name.count"; + size= global_user_container.get_row_count() * statement_class_max; break; case 118: name= "events_statements_summary_by_user_by_event_name.memory"; - size= user_max * statement_class_max * sizeof(PFS_statement_stat); + size= global_user_container.get_row_count() * statement_class_max * sizeof(PFS_statement_stat); total_memory+= size; break; case 119: - name= "events_statements_summary_by_host_by_event_name.row_size"; + name= "events_statements_summary_by_host_by_event_name.size"; size= sizeof(PFS_statement_stat); break; case 120: - name= "events_statements_summary_by_host_by_event_name.row_count"; - size= host_max * statement_class_max; + name= "events_statements_summary_by_host_by_event_name.count"; + size= global_host_container.get_row_count() * statement_class_max; break; case 121: name= "events_statements_summary_by_host_by_event_name.memory"; - size= host_max * statement_class_max * sizeof(PFS_statement_stat); + size= global_host_container.get_row_count() * statement_class_max * sizeof(PFS_statement_stat); total_memory+= size; break; case 122: - name= "events_statements_current.row_size"; + name= "events_statements_current.size"; size= sizeof(PFS_events_statements); break; case 123: - name= "events_statements_current.row_count"; - size= thread_max * statement_stack_max; + name= "events_statements_current.count"; + size= global_thread_container.get_row_count() * statement_stack_max; break; case 124: name= "events_statements_current.memory"; - size= thread_max * statement_stack_max * sizeof(PFS_events_statements); + size= global_thread_container.get_row_count() * statement_stack_max * sizeof(PFS_events_statements); total_memory+= size; break; case 125: - name= "(pfs_socket_class).row_size"; + name= "(pfs_socket_class).size"; size= sizeof(PFS_socket_class); break; case 126: - name= "(pfs_socket_class).row_count"; + name= "(pfs_socket_class).count"; size= socket_class_max; break; case 127: @@ -1300,110 +1529,144 @@ bool pfs_show_status(handlerton *hton, THD *thd, total_memory+= size; break; case 128: - name= "socket_instances.row_size"; - size= sizeof(PFS_socket); + name= "socket_instances.size"; + size= global_socket_container.get_row_size(); break; case 129: - name= "socket_instances.row_count"; - size= socket_max; + name= "socket_instances.count"; + size= global_socket_container.get_row_count(); break; case 130: name= "socket_instances.memory"; - size= socket_max * sizeof(PFS_socket); + size= global_socket_container.get_memory(); total_memory+= size; break; case 131: - name= "events_statements_summary_by_digest.row_size"; + name= "events_statements_summary_by_digest.size"; size= sizeof(PFS_statements_digest_stat); break; case 132: - name= "events_statements_summary_by_digest.row_count"; + name= "events_statements_summary_by_digest.count"; size= digest_max; break; case 133: name= "events_statements_summary_by_digest.memory"; - size= digest_max * sizeof(PFS_statements_digest_stat); + size= digest_max * (sizeof(PFS_statements_digest_stat)); total_memory+= size; break; case 134: - name= "session_connect_attrs.row_size"; - size= thread_max; + name= "events_statements_summary_by_program.size"; + size= global_program_container.get_row_size(); break; case 135: - name= "session_connect_attrs.row_count"; - size= session_connect_attrs_size_per_thread; + name= "events_statements_summary_by_program.count"; + size= global_program_container.get_row_count(); break; case 136: + name= "events_statements_summary_by_program.memory"; + size= global_program_container.get_memory(); + total_memory+= size; + break; + case 137: + name= "session_connect_attrs.size"; + size= global_thread_container.get_row_count(); + break; + case 138: + name= "session_connect_attrs.count"; + size= session_connect_attrs_size_per_thread; + break; + case 139: name= "session_connect_attrs.memory"; - size= thread_max * session_connect_attrs_size_per_thread; + size= global_thread_container.get_row_count() * session_connect_attrs_size_per_thread; + total_memory+= size; + break; + case 140: + name= "prepared_statements_instances.size"; + size= global_prepared_stmt_container.get_row_size(); + break; + case 141: + name= "prepared_statements_instances.count"; + size= global_prepared_stmt_container.get_row_count(); + break; + case 142: + name= "prepared_statements_instances.memory"; + size= global_prepared_stmt_container.get_memory(); total_memory+= size; break; - case 137: + case 143: name= "(account_hash).count"; size= account_hash.count; break; - case 138: + case 144: name= "(account_hash).size"; size= account_hash.size; break; - case 139: + case 145: name= "(digest_hash).count"; size= digest_hash.count; break; - case 140: + case 146: name= "(digest_hash).size"; size= digest_hash.size; break; - case 141: + case 147: name= "(filename_hash).count"; size= filename_hash.count; break; - case 142: + case 148: name= "(filename_hash).size"; size= filename_hash.size; break; - case 143: + case 149: name= "(host_hash).count"; size= host_hash.count; break; - case 144: + case 150: name= "(host_hash).size"; size= host_hash.size; break; - case 145: + case 151: name= "(setup_actor_hash).count"; size= setup_actor_hash.count; break; - case 146: + case 152: name= "(setup_actor_hash).size"; size= setup_actor_hash.size; break; - case 147: + case 153: name= "(setup_object_hash).count"; size= setup_object_hash.count; break; - case 148: + case 154: name= "(setup_object_hash).size"; size= setup_object_hash.size; break; - case 149: + case 155: name= "(table_share_hash).count"; size= table_share_hash.count; break; - case 150: + case 156: name= "(table_share_hash).size"; size= table_share_hash.size; break; - case 151: + case 157: name= "(user_hash).count"; size= user_hash.count; break; - case 152: + case 158: name= "(user_hash).size"; size= user_hash.size; break; - case 153: + case 159: + name= "(program_hash).count"; + size= program_hash.count; + break; + case 160: + name= "(program_hash).size"; + size= program_hash.size; + break; + case 161: /* This is not a performance_schema buffer, the data is maintained in the server, @@ -1415,75 +1678,309 @@ bool pfs_show_status(handlerton *hton, THD *thd, name= "host_cache.size"; size= sizeof(Host_entry); break; - case 154: - name= "(history_long_statements_digest_token_array).row_count"; + + case 162: + name= "(pfs_memory_class).row_size"; + size= sizeof(PFS_memory_class); + break; + case 163: + name= "(pfs_memory_class).row_count"; + size= memory_class_max; + break; + case 164: + name= "(pfs_memory_class).memory"; + size= memory_class_max * sizeof(PFS_memory_class); + total_memory+= size; + break; + + case 165: + name= "memory_summary_by_thread_by_event_name.row_size"; + size= sizeof(PFS_memory_stat); + break; + case 166: + name= "memory_summary_by_thread_by_event_name.row_count"; + size= global_thread_container.get_row_count() * memory_class_max; + break; + case 167: + name= "memory_summary_by_thread_by_event_name.memory"; + size= global_thread_container.get_row_count() * memory_class_max * sizeof(PFS_memory_stat); + total_memory+= size; + break; + case 168: + name= "memory_summary_global_by_event_name.row_size"; + size= sizeof(PFS_memory_stat); + break; + case 169: + name= "memory_summary_global_by_event_name.row_count"; + size= memory_class_max; + break; + case 170: + name= "memory_summary_global_by_event_name.memory"; + size= memory_class_max * sizeof(PFS_memory_stat); + total_memory+= size; + break; + case 171: + name= "memory_summary_by_account_by_event_name.row_size"; + size= sizeof(PFS_memory_stat); + break; + case 172: + name= "memory_summary_by_account_by_event_name.row_count"; + size= global_account_container.get_row_count() * memory_class_max; + break; + case 173: + name= "memory_summary_by_account_by_event_name.memory"; + size= global_account_container.get_row_count() * memory_class_max * sizeof(PFS_memory_stat); + total_memory+= size; + break; + case 174: + name= "memory_summary_by_user_by_event_name.row_size"; + size= sizeof(PFS_memory_stat); + break; + case 175: + name= "memory_summary_by_user_by_event_name.row_count"; + size= global_user_container.get_row_count() * memory_class_max; + break; + case 176: + name= "memory_summary_by_user_by_event_name.memory"; + size= global_user_container.get_row_count() * memory_class_max * sizeof(PFS_memory_stat); + total_memory+= size; + break; + case 177: + name= "memory_summary_by_host_by_event_name.row_size"; + size= sizeof(PFS_memory_stat); + break; + case 178: + name= "memory_summary_by_host_by_event_name.row_count"; + size= global_host_container.get_row_count() * memory_class_max; + break; + case 179: + name= "memory_summary_by_host_by_event_name.memory"; + size= global_host_container.get_row_count() * memory_class_max * sizeof(PFS_memory_stat); + total_memory+= size; + break; + case 180: + name= "metadata_locks.row_size"; + size= global_mdl_container.get_row_size(); + break; + case 181: + name= "metadata_locks.row_count"; + size= global_mdl_container.get_row_count(); + break; + case 182: + name= "metadata_locks.memory"; + size= global_mdl_container.get_memory(); + total_memory+= size; + break; + case 183: + name= "events_transactions_history.size"; + size= sizeof(PFS_events_transactions); + break; + case 184: + name= "events_transactions_history.count"; + size= events_transactions_history_per_thread * global_thread_container.get_row_count(); + break; + case 185: + name= "events_transactions_history.memory"; + size= events_transactions_history_per_thread * global_thread_container.get_row_count() + * sizeof(PFS_events_transactions); + total_memory+= size; + break; + case 186: + name= "events_transactions_history_long.size"; + size= sizeof(PFS_events_transactions); + break; + case 187: + name= "events_transactions_history_long.count"; + size= events_transactions_history_long_size; + break; + case 188: + name= "events_transactions_history_long.memory"; + size= events_transactions_history_long_size * sizeof(PFS_events_transactions); + total_memory+= size; + break; + case 189: + name= "events_transactions_summary_by_thread_by_event_name.size"; + size= sizeof(PFS_transaction_stat); + break; + case 190: + name= "events_transactions_summary_by_thread_by_event_name.count"; + size= global_thread_container.get_row_count() * transaction_class_max; + break; + case 191: + name= "events_transactions_summary_by_thread_by_event_name.memory"; + size= global_thread_container.get_row_count() * transaction_class_max * sizeof(PFS_transaction_stat); + total_memory+= size; + break; + case 192: + name= "events_transactions_summary_by_account_by_event_name.size"; + size= sizeof(PFS_transaction_stat); + break; + case 193: + name= "events_transactions_summary_by_account_by_event_name.count"; + size= global_account_container.get_row_count() * transaction_class_max; + break; + case 194: + name= "events_transactions_summary_by_account_by_event_name.memory"; + size= global_account_container.get_row_count() * transaction_class_max * sizeof(PFS_transaction_stat); + total_memory+= size; + break; + case 195: + name= "events_transactions_summary_by_user_by_event_name.size"; + size= sizeof(PFS_transaction_stat); + break; + case 196: + name= "events_transactions_summary_by_user_by_event_name.count"; + size= global_user_container.get_row_count() * transaction_class_max; + break; + case 197: + name= "events_transactions_summary_by_user_by_event_name.memory"; + size= global_user_container.get_row_count() * transaction_class_max * sizeof(PFS_transaction_stat); + total_memory+= size; + break; + case 198: + name= "events_transactions_summary_by_host_by_event_name.size"; + size= sizeof(PFS_transaction_stat); + break; + case 199: + name= "events_transactions_summary_by_host_by_event_name.count"; + size= global_host_container.get_row_count() * transaction_class_max; + break; + case 200: + name= "events_transactions_summary_by_host_by_event_name.memory"; + size= global_host_container.get_row_count() * transaction_class_max * sizeof(PFS_transaction_stat); + total_memory+= size; + break; + case 201: + name= "table_lock_waits_summary_by_table.size"; + size= global_table_share_lock_container.get_row_size(); + break; + case 202: + name= "table_lock_waits_summary_by_table.count"; + size= global_table_share_lock_container.get_row_count(); + break; + case 203: + name= "table_lock_waits_summary_by_table.memory"; + size= global_table_share_lock_container.get_memory(); + total_memory+= size; + break; + case 204: + name= "table_io_waits_summary_by_index_usage.size"; + size= global_table_share_index_container.get_row_size(); + break; + case 205: + name= "table_io_waits_summary_by_index_usage.count"; + size= global_table_share_index_container.get_row_count(); + break; + case 206: + name= "table_io_waits_summary_by_index_usage.memory"; + size= global_table_share_index_container.get_memory(); + total_memory+= size; + break; + case 207: + name= "(history_long_statements_digest_token_array).count"; size= events_statements_history_long_size; break; - case 155: - name= "(history_long_statements_digest_token_array).row_size"; + case 208: + name= "(history_long_statements_digest_token_array).size"; size= pfs_max_digest_length; break; - case 156: + case 209: name= "(history_long_statements_digest_token_array).memory"; size= events_statements_history_long_size * pfs_max_digest_length; total_memory+= size; break; - case 157: - name= "(history_statements_digest_token_array).row_count"; - size= thread_max * events_statements_history_per_thread; + case 210: + name= "(history_statements_digest_token_array).count"; + size= global_thread_container.get_row_count() * events_statements_history_per_thread; break; - case 158: - name= "(history_statements_digest_token_array).row_size"; + case 211: + name= "(history_statements_digest_token_array).size"; size= pfs_max_digest_length; break; - case 159: + case 212: name= "(history_statements_digest_token_array).memory"; - size= thread_max * events_statements_history_per_thread * pfs_max_digest_length; + size= global_thread_container.get_row_count() * events_statements_history_per_thread * pfs_max_digest_length; total_memory+= size; break; - case 160: - name= "(current_statements_digest_token_array).row_count"; - size= thread_max * statement_stack_max; + case 213: + name= "(current_statements_digest_token_array).count"; + size= global_thread_container.get_row_count() * statement_stack_max; break; - case 161: - name= "(current_statements_digest_token_array).row_size"; + case 214: + name= "(current_statements_digest_token_array).size"; size= pfs_max_digest_length; break; - case 162: + case 215: name= "(current_statements_digest_token_array).memory"; - size= thread_max * statement_stack_max * pfs_max_digest_length; + size= global_thread_container.get_row_count() * statement_stack_max * pfs_max_digest_length; total_memory+= size; break; - case 163: - name= "(statements_digest_token_array).row_count"; + case 216: + name= "(history_long_statements_text_array).count"; + size= events_statements_history_long_size; + break; + case 217: + name= "(history_long_statements_text_array).size"; + size= pfs_max_sqltext; + break; + case 218: + name= "(history_long_statements_text_array).memory"; + size= events_statements_history_long_size * pfs_max_sqltext; + total_memory+= size; + break; + case 219: + name= "(history_statements_text_array).count"; + size= global_thread_container.get_row_count() * events_statements_history_per_thread; + break; + case 220: + name= "(history_statements_text_array).size"; + size= pfs_max_sqltext; + break; + case 221: + name= "(history_statements_text_array).memory"; + size= global_thread_container.get_row_count() * events_statements_history_per_thread * pfs_max_sqltext; + total_memory+= size; + break; + case 222: + name= "(current_statements_text_array).count"; + size= global_thread_container.get_row_count() * statement_stack_max; + break; + case 223: + name= "(current_statements_text_array).size"; + size= pfs_max_sqltext; + break; + case 224: + name= "(current_statements_text_array).memory"; + size= global_thread_container.get_row_count() * statement_stack_max * pfs_max_sqltext; + total_memory+= size; + break; + case 225: + name= "(statements_digest_token_array).count"; size= digest_max; break; - case 164: - name= "(statements_digest_token_array).row_size"; + case 226: + name= "(statements_digest_token_array).size"; size= pfs_max_digest_length; break; - case 165: + case 227: name= "(statements_digest_token_array).memory"; size= digest_max * pfs_max_digest_length; total_memory+= size; break; - /* This case must be last, for aggregation in total_memory. */ - case 166: + case 228: name= "performance_schema.memory"; size= total_memory; - /* This will fail if something is not advertised here */ - DBUG_ASSERT(size == pfs_allocated_memory); break; default: goto end; break; } - buflen= longlong10_to_str(size, buf, 10) - buf; + buflen= (uint)(longlong10_to_str(size, buf, 10) - buf); if (print(thd, PERFORMANCE_SCHEMA_str.str, PERFORMANCE_SCHEMA_str.length, name, strlen(name), diff --git a/storage/perfschema/pfs_engine_table.h b/storage/perfschema/pfs_engine_table.h index 981d72ee19e..280551df4d3 100644 --- a/storage/perfschema/pfs_engine_table.h +++ b/storage/perfschema/pfs_engine_table.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,13 +16,23 @@ #ifndef PFS_ENGINE_TABLE_H #define PFS_ENGINE_TABLE_H -#include "sql_acl.h" /* struct ACL_* */ +#include "auth_common.h" /* struct ACL_* */ /** @file storage/perfschema/pfs_engine_table.h Performance schema tables (declarations). */ #include "pfs_instr_class.h" +extern thread_local_key_t THR_PFS_VG; // global_variables +extern thread_local_key_t THR_PFS_SV; // session_variables +extern thread_local_key_t THR_PFS_VBT; // variables_by_thread +extern thread_local_key_t THR_PFS_SG; // global_status +extern thread_local_key_t THR_PFS_SS; // session_status +extern thread_local_key_t THR_PFS_SBT; // status_by_thread +extern thread_local_key_t THR_PFS_SBU; // status_by_user +extern thread_local_key_t THR_PFS_SBH; // status_by_host +extern thread_local_key_t THR_PFS_SBA; // status_by_account + class Field; struct PFS_engine_table_share; struct time_normalizer; @@ -33,6 +43,36 @@ struct time_normalizer; */ /** + Store and retrieve table state information during a query. +*/ +class PFS_table_context +{ +public: + PFS_table_context(ulonglong current_version, bool restore, thread_local_key_t key); + PFS_table_context(ulonglong current_version, ulong map_size, bool restore, thread_local_key_t key); +~PFS_table_context(void); + + bool initialize(void); + bool is_initialized(void) { return m_initialized; } + ulonglong current_version(void) { return m_current_version; } + ulonglong last_version(void) { return m_last_version; } + bool versions_match(void) { return m_last_version == m_current_version; } + void set_item(ulong n); + bool is_item_set(ulong n); + thread_local_key_t m_thr_key; + +private: + ulonglong m_current_version; + ulonglong m_last_version; + ulong *m_map; + ulong m_map_size; + ulong m_word_size; + bool m_restore; + bool m_initialized; + ulong m_last_item; +}; + +/** An abstract PERFORMANCE_SCHEMA table. Every table implemented in the performance schema schema and storage engine derives from this class. @@ -81,12 +121,24 @@ public: {} /** + Helper, assign a value to a long field. + @param f the field to set + @param value the value to assign + */ + static void set_field_long(Field *f, long value); + /** Helper, assign a value to a ulong field. @param f the field to set @param value the value to assign */ static void set_field_ulong(Field *f, ulong value); /** + Helper, assign a value to a longlong field. + @param f the field to set + @param value the value to assign + */ + static void set_field_longlong(Field *f, longlong value); + /** Helper, assign a value to a ulonglong field. @param f the field to set @param value the value to assign @@ -114,6 +166,13 @@ public: */ static void set_field_longtext_utf8(Field *f, const char *str, uint len); /** + Helper, assign a value to a blob field. + @param f the field to set + @param val the value to assign + @param len the length of the string to assign + */ + static void set_field_blob(Field *f, const char *val, uint len); + /** Helper, assign a value to an enum field. @param f the field to set @param value the value to assign @@ -126,6 +185,12 @@ public: */ static void set_field_timestamp(Field *f, ulonglong value); /** + Helper, assign a value to a double field. + @param f the field to set + @param value the value to assign + */ + static void set_field_double(Field *f, double value); + /** Helper, read a value from an enum field. @param f the field to read @return the field value @@ -175,7 +240,6 @@ protected: */ virtual int delete_row_values(TABLE *table, const unsigned char *buf, Field **fields); - /** Constructor. @param share table share @@ -233,13 +297,6 @@ struct PFS_engine_table_share pfs_delete_all_rows_t m_delete_all_rows; /** Get rows count function. */ pfs_get_row_count_t m_get_row_count; - /** - Number or records. - This number does not need to be precise, - it is used by the optimizer to decide if the table - has 0, 1, or many records. - */ - ha_rows m_records; /** Length of the m_pos position structure. */ uint m_ref_length; /** The lock, stored on behalf of the SQL layer. */ @@ -248,6 +305,8 @@ struct PFS_engine_table_share TABLE_FIELD_DEF *m_field_def; /** Schema integrity flag. */ bool m_checked; + /** Table is available even if the Performance Schema is disabled. */ + bool m_perpetual; }; /** @@ -344,6 +403,45 @@ public: /** Singleton instance of PFS_unknown_acl. */ extern PFS_unknown_acl pfs_unknown_acl; + +/** + Privileges for world readable tables. +*/ +class PFS_readonly_world_acl : public PFS_readonly_acl +{ +public: + PFS_readonly_world_acl() + {} + + ~PFS_readonly_world_acl() + {} + virtual ACL_internal_access_result check(ulong want_access, ulong *save_priv) const; +}; + + +/** Singleton instance of PFS_readonly_world_acl */ +extern PFS_readonly_world_acl pfs_readonly_world_acl; + + +/** +Privileges for world readable truncatable tables. +*/ +class PFS_truncatable_world_acl : public PFS_truncatable_acl +{ +public: + PFS_truncatable_world_acl() + {} + + ~PFS_truncatable_world_acl() + {} + virtual ACL_internal_access_result check(ulong want_access, ulong *save_priv) const; +}; + + +/** Singleton instance of PFS_readonly_world_acl */ +extern PFS_truncatable_world_acl pfs_truncatable_world_acl; + + /** Position of a cursor, for simple iterations. */ struct PFS_simple_index { @@ -360,6 +458,13 @@ struct PFS_simple_index /** Set this index at a given position. + @param index an index + */ + void set_at(uint index) + { m_index= index; } + + /** + Set this index at a given position. @param other a position */ void set_at(const struct PFS_simple_index *other) @@ -396,6 +501,15 @@ struct PFS_double_index /** Set this index at a given position. + */ + void set_at(uint index_1, uint index_2) + { + m_index_1= index_1; + m_index_2= index_2; + } + + /** + Set this index at a given position. @param other a position */ void set_at(const struct PFS_double_index *other) @@ -437,6 +551,16 @@ struct PFS_triple_index /** Set this index at a given position. + */ + void set_at(uint index_1, uint index_2, uint index_3) + { + m_index_1= index_1; + m_index_2= index_2; + m_index_3= index_3; + } + + /** + Set this index at a given position. @param other a position */ void set_at(const struct PFS_triple_index *other) diff --git a/storage/perfschema/pfs_events.h b/storage/perfschema/pfs_events.h index 97fb7e08d63..454fea195fd 100644 --- a/storage/perfschema/pfs_events.h +++ b/storage/perfschema/pfs_events.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,6 +40,8 @@ struct PFS_events ulonglong m_nesting_event_id; /** NESTING_EVENT_TYPE */ enum_event_type m_nesting_event_type; + /** NESTING_EVENT_LEVEL */ + uint m_nesting_event_level; /** Instrument metadata. */ PFS_instr_class *m_class; /** diff --git a/storage/perfschema/pfs_events_stages.cc b/storage/perfschema/pfs_events_stages.cc index 7351c95c9cb..a777a06bfa1 100644 --- a/storage/perfschema/pfs_events_stages.cc +++ b/storage/perfschema/pfs_events_stages.cc @@ -28,22 +28,24 @@ #include "pfs_user.h" #include "pfs_events_stages.h" #include "pfs_atomic.h" +#include "pfs_buffer_container.h" +#include "pfs_builtin_memory.h" #include "m_string.h" -ulong events_stages_history_long_size= 0; +PFS_ALIGNED ulong events_stages_history_long_size= 0; /** Consumer flag for table EVENTS_STAGES_CURRENT. */ -bool flag_events_stages_current= false; +PFS_ALIGNED bool flag_events_stages_current= false; /** Consumer flag for table EVENTS_STAGES_HISTORY. */ -bool flag_events_stages_history= false; +PFS_ALIGNED bool flag_events_stages_history= false; /** Consumer flag for table EVENTS_STAGES_HISTORY_LONG. */ -bool flag_events_stages_history_long= false; +PFS_ALIGNED bool flag_events_stages_history_long= false; /** True if EVENTS_STAGES_HISTORY_LONG circular buffer is full. */ -bool events_stages_history_long_full= false; +PFS_ALIGNED bool events_stages_history_long_full= false; /** Index in EVENTS_STAGES_HISTORY_LONG circular buffer. */ -volatile uint32 events_stages_history_long_index= 0; +PFS_ALIGNED PFS_cacheline_uint32 events_stages_history_long_index; /** EVENTS_STAGES_HISTORY_LONG circular buffer. */ -PFS_events_stages *events_stages_history_long_array= NULL; +PFS_ALIGNED PFS_events_stages *events_stages_history_long_array= NULL; /** Initialize table EVENTS_STAGES_HISTORY_LONG. @@ -53,14 +55,16 @@ int init_events_stages_history_long(uint events_stages_history_long_sizing) { events_stages_history_long_size= events_stages_history_long_sizing; events_stages_history_long_full= false; - PFS_atomic::store_u32(&events_stages_history_long_index, 0); + PFS_atomic::store_u32(&events_stages_history_long_index.m_u32, 0); if (events_stages_history_long_size == 0) return 0; events_stages_history_long_array= - PFS_MALLOC_ARRAY(events_stages_history_long_size, sizeof(PFS_events_stages), - PFS_events_stages, MYF(MY_ZEROFILL)); + PFS_MALLOC_ARRAY(& builtin_memory_stages_history_long, + events_stages_history_long_size, + sizeof(PFS_events_stages), PFS_events_stages, + MYF(MY_ZEROFILL)); return (events_stages_history_long_array ? 0 : 1); } @@ -68,7 +72,9 @@ int init_events_stages_history_long(uint events_stages_history_long_sizing) /** Cleanup table EVENTS_STAGES_HISTORY_LONG. */ void cleanup_events_stages_history_long(void) { - pfs_free(events_stages_history_long_array); + PFS_FREE_ARRAY(& builtin_memory_stages_history_long, + events_stages_history_long_size, sizeof(PFS_events_stages), + events_stages_history_long_array); events_stages_history_long_array= NULL; } @@ -122,7 +128,7 @@ void insert_events_stages_history_long(PFS_events_stages *stage) DBUG_ASSERT(events_stages_history_long_array != NULL); - uint index= PFS_atomic::add_u32(&events_stages_history_long_index, 1); + uint index= PFS_atomic::add_u32(&events_stages_history_long_index.m_u32, 1); index= index % events_stages_history_long_size; if (index == 0) @@ -132,40 +138,38 @@ void insert_events_stages_history_long(PFS_events_stages *stage) copy_events_stages(&events_stages_history_long_array[index], stage); } +static void fct_reset_events_stages_current(PFS_thread *pfs) +{ + pfs->m_stage_current.m_class= NULL; +} + /** Reset table EVENTS_STAGES_CURRENT data. */ void reset_events_stages_current(void) { - PFS_thread *pfs_thread= thread_array; - PFS_thread *pfs_thread_last= thread_array + thread_max; + global_thread_container.apply_all(fct_reset_events_stages_current); +} - for ( ; pfs_thread < pfs_thread_last; pfs_thread++) - { - pfs_thread->m_stage_current.m_class= NULL; - } +static void fct_reset_events_stages_history(PFS_thread *pfs_thread) +{ + PFS_events_stages *pfs= pfs_thread->m_stages_history; + PFS_events_stages *pfs_last= pfs + events_stages_history_per_thread; + + pfs_thread->m_stages_history_index= 0; + pfs_thread->m_stages_history_full= false; + for ( ; pfs < pfs_last; pfs++) + pfs->m_class= NULL; } /** Reset table EVENTS_STAGES_HISTORY data. */ void reset_events_stages_history(void) { - PFS_thread *pfs_thread= thread_array; - PFS_thread *pfs_thread_last= thread_array + thread_max; - - for ( ; pfs_thread < pfs_thread_last; pfs_thread++) - { - PFS_events_stages *pfs= pfs_thread->m_stages_history; - PFS_events_stages *pfs_last= pfs + events_stages_history_per_thread; - - pfs_thread->m_stages_history_index= 0; - pfs_thread->m_stages_history_full= false; - for ( ; pfs < pfs_last; pfs++) - pfs->m_class= NULL; - } + global_thread_container.apply_all(fct_reset_events_stages_history); } /** Reset table EVENTS_STAGES_HISTORY_LONG data. */ void reset_events_stages_history_long(void) { - PFS_atomic::store_u32(&events_stages_history_long_index, 0); + PFS_atomic::store_u32(&events_stages_history_long_index.m_u32, 0); events_stages_history_long_full= false; PFS_events_stages *pfs= events_stages_history_long_array; @@ -174,70 +178,53 @@ void reset_events_stages_history_long(void) pfs->m_class= NULL; } +static void fct_reset_events_stages_by_thread(PFS_thread *thread) +{ + PFS_account *account= sanitize_account(thread->m_account); + PFS_user *user= sanitize_user(thread->m_user); + PFS_host *host= sanitize_host(thread->m_host); + aggregate_thread_stages(thread, account, user, host); +} + /** Reset table EVENTS_STAGES_SUMMARY_BY_THREAD_BY_EVENT_NAME data. */ void reset_events_stages_by_thread() { - PFS_thread *thread= thread_array; - PFS_thread *thread_last= thread_array + thread_max; - PFS_account *account; - PFS_user *user; - PFS_host *host; + global_thread_container.apply(fct_reset_events_stages_by_thread); +} - for ( ; thread < thread_last; thread++) - { - if (thread->m_lock.is_populated()) - { - account= sanitize_account(thread->m_account); - user= sanitize_user(thread->m_user); - host= sanitize_host(thread->m_host); - aggregate_thread_stages(thread, account, user, host); - } - } +static void fct_reset_events_stages_by_account(PFS_account *pfs) +{ + PFS_user *user= sanitize_user(pfs->m_user); + PFS_host *host= sanitize_host(pfs->m_host); + pfs->aggregate_stages(user, host); } /** Reset table EVENTS_STAGES_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME data. */ void reset_events_stages_by_account() { - PFS_account *pfs= account_array; - PFS_account *pfs_last= account_array + account_max; - PFS_user *user; - PFS_host *host; + global_account_container.apply(fct_reset_events_stages_by_account); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - { - user= sanitize_user(pfs->m_user); - host= sanitize_host(pfs->m_host); - pfs->aggregate_stages(user, host); - } - } +static void fct_reset_events_stages_by_user(PFS_user *pfs) +{ + pfs->aggregate_stages(); } /** Reset table EVENTS_STAGES_SUMMARY_BY_USER_BY_EVENT_NAME data. */ void reset_events_stages_by_user() { - PFS_user *pfs= user_array; - PFS_user *pfs_last= user_array + user_max; + global_user_container.apply(fct_reset_events_stages_by_user); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->aggregate_stages(); - } +static void fct_reset_events_stages_by_host(PFS_host *pfs) +{ + pfs->aggregate_stages(); } /** Reset table EVENTS_STAGES_SUMMARY_BY_HOST_BY_EVENT_NAME data. */ void reset_events_stages_by_host() { - PFS_host *pfs= host_array; - PFS_host *pfs_last= host_array + host_max; - - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->aggregate_stages(); - } + global_host_container.apply(fct_reset_events_stages_by_host); } /** Reset table EVENTS_STAGES_GLOBAL_BY_EVENT_NAME data. */ diff --git a/storage/perfschema/pfs_events_stages.h b/storage/perfschema/pfs_events_stages.h index 43231796be5..f51904f0338 100644 --- a/storage/perfschema/pfs_events_stages.h +++ b/storage/perfschema/pfs_events_stages.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,7 +31,7 @@ struct PFS_host; /** A stage record. */ struct PFS_events_stages : public PFS_events { - /* No specific attributes */ + PSI_stage_progress m_progress; }; void insert_events_stages_history(PFS_thread *thread, PFS_events_stages *stage); @@ -42,7 +42,7 @@ extern bool flag_events_stages_history; extern bool flag_events_stages_history_long; extern bool events_stages_history_long_full; -extern volatile uint32 events_stages_history_long_index; +extern PFS_ALIGNED PFS_cacheline_uint32 events_stages_history_long_index; extern PFS_events_stages *events_stages_history_long_array; extern ulong events_stages_history_long_size; diff --git a/storage/perfschema/pfs_events_statements.cc b/storage/perfschema/pfs_events_statements.cc index cecd0167c38..d755f72f6d9 100644 --- a/storage/perfschema/pfs_events_statements.cc +++ b/storage/perfschema/pfs_events_statements.cc @@ -28,23 +28,26 @@ #include "pfs_user.h" #include "pfs_events_statements.h" #include "pfs_atomic.h" +#include "pfs_buffer_container.h" +#include "pfs_builtin_memory.h" #include "m_string.h" -size_t events_statements_history_long_size= 0; +PFS_ALIGNED size_t events_statements_history_long_size= 0; /** Consumer flag for table EVENTS_STATEMENTS_CURRENT. */ -bool flag_events_statements_current= false; +PFS_ALIGNED bool flag_events_statements_current= false; /** Consumer flag for table EVENTS_STATEMENTS_HISTORY. */ -bool flag_events_statements_history= false; +PFS_ALIGNED bool flag_events_statements_history= false; /** Consumer flag for table EVENTS_STATEMENTS_HISTORY_LONG. */ -bool flag_events_statements_history_long= false; +PFS_ALIGNED bool flag_events_statements_history_long= false; /** True if EVENTS_STATEMENTS_HISTORY_LONG circular buffer is full. */ -bool events_statements_history_long_full= false; +PFS_ALIGNED bool events_statements_history_long_full= false; /** Index in EVENTS_STATEMENTS_HISTORY_LONG circular buffer. */ -volatile uint32 events_statements_history_long_index= 0; +PFS_ALIGNED PFS_cacheline_uint32 events_statements_history_long_index; /** EVENTS_STATEMENTS_HISTORY_LONG circular buffer. */ -PFS_events_statements *events_statements_history_long_array= NULL; +PFS_ALIGNED PFS_events_statements *events_statements_history_long_array= NULL; static unsigned char *h_long_stmts_digest_token_array= NULL; +static char *h_long_stmts_text_array= NULL; /** Initialize table EVENTS_STATEMENTS_HISTORY_LONG. @@ -54,29 +57,32 @@ int init_events_statements_history_long(size_t events_statements_history_long_si { events_statements_history_long_size= events_statements_history_long_sizing; events_statements_history_long_full= false; - PFS_atomic::store_u32(&events_statements_history_long_index, 0); + PFS_atomic::store_u32(&events_statements_history_long_index.m_u32, 0); if (events_statements_history_long_size == 0) return 0; events_statements_history_long_array= - PFS_MALLOC_ARRAY(events_statements_history_long_size, sizeof(PFS_events_statements), + PFS_MALLOC_ARRAY(& builtin_memory_statements_history_long, + events_statements_history_long_size, sizeof(PFS_events_statements), PFS_events_statements, MYF(MY_ZEROFILL)); if (events_statements_history_long_array == NULL) - { - cleanup_events_statements_history_long(); - return 1; - } + { + cleanup_events_statements_history_long(); + return 1; + } if (pfs_max_digest_length > 0) { - /* Size of each digest token array. */ + /* Size of each digest text array. */ size_t digest_text_size= pfs_max_digest_length * sizeof(unsigned char); h_long_stmts_digest_token_array= - PFS_MALLOC_ARRAY(events_statements_history_long_size, digest_text_size, + PFS_MALLOC_ARRAY(& builtin_memory_statements_history_long_tokens, + events_statements_history_long_size, digest_text_size, unsigned char, MYF(MY_ZEROFILL)); + if (h_long_stmts_digest_token_array == NULL) { cleanup_events_statements_history_long(); @@ -84,10 +90,28 @@ int init_events_statements_history_long(size_t events_statements_history_long_si } } + if (pfs_max_sqltext > 0) + { + /* Size of each sql text array. */ + size_t sqltext_size= pfs_max_sqltext * sizeof(char); + + h_long_stmts_text_array= + PFS_MALLOC_ARRAY(& builtin_memory_statements_history_long_sqltext, + events_statements_history_long_size, sqltext_size, + char, MYF(MY_ZEROFILL)); + + if (h_long_stmts_text_array == NULL) + { + cleanup_events_statements_history_long(); + return 1; + } + } + for (size_t index= 0; index < events_statements_history_long_size; index++) { events_statements_history_long_array[index].m_digest_storage.reset(h_long_stmts_digest_token_array + index * pfs_max_digest_length, pfs_max_digest_length); + events_statements_history_long_array[index].m_sqltext= h_long_stmts_text_array + index * pfs_max_sqltext; } return 0; @@ -96,17 +120,44 @@ int init_events_statements_history_long(size_t events_statements_history_long_si /** Cleanup table EVENTS_STATEMENTS_HISTORY_LONG. */ void cleanup_events_statements_history_long(void) { - pfs_free(events_statements_history_long_array); - pfs_free(h_long_stmts_digest_token_array); + PFS_FREE_ARRAY(& builtin_memory_statements_history_long, + events_statements_history_long_size, + sizeof(PFS_events_statements), + events_statements_history_long_array); + + PFS_FREE_ARRAY(& builtin_memory_statements_history_long_tokens, + events_statements_history_long_size, + (pfs_max_digest_length * sizeof(unsigned char)), + h_long_stmts_digest_token_array); + + PFS_FREE_ARRAY(& builtin_memory_statements_history_long_sqltext, + events_statements_history_long_size, + (pfs_max_sqltext * sizeof(char)), + h_long_stmts_text_array); + events_statements_history_long_array= NULL; h_long_stmts_digest_token_array= NULL; + h_long_stmts_text_array= NULL; } static inline void copy_events_statements(PFS_events_statements *dest, - const PFS_events_statements *source) + const PFS_events_statements *source) { - /* Copy all attributes except DIGEST */ - memcpy(dest, source, my_offsetof(PFS_events_statements, m_digest_storage)); + /* Copy all attributes except SQL TEXT and DIGEST */ + memcpy(dest, source, my_offsetof(PFS_events_statements, m_sqltext)); + + /* Copy SQL TEXT */ + int sqltext_length= source->m_sqltext_length; + + if (sqltext_length > 0) + { + memcpy(dest->m_sqltext, source->m_sqltext, sqltext_length); + dest->m_sqltext_length= sqltext_length; + } + else + { + dest->m_sqltext_length= 0; + } /* Copy DIGEST */ dest->m_digest_storage.copy(& source->m_digest_storage); @@ -156,7 +207,7 @@ void insert_events_statements_history_long(PFS_events_statements *statement) DBUG_ASSERT(events_statements_history_long_array != NULL); - uint index= PFS_atomic::add_u32(&events_statements_history_long_index, 1); + uint index= PFS_atomic::add_u32(&events_statements_history_long_index.m_u32, 1); index= index % events_statements_history_long_size; if (index == 0) @@ -166,44 +217,42 @@ void insert_events_statements_history_long(PFS_events_statements *statement) copy_events_statements(&events_statements_history_long_array[index], statement); } +static void fct_reset_events_statements_current(PFS_thread *pfs_thread) +{ + PFS_events_statements *pfs_stmt= & pfs_thread->m_statement_stack[0]; + PFS_events_statements *pfs_stmt_last= pfs_stmt + statement_stack_max; + + for ( ; pfs_stmt < pfs_stmt_last; pfs_stmt++) + pfs_stmt->m_class= NULL; +} + /** Reset table EVENTS_STATEMENTS_CURRENT data. */ void reset_events_statements_current(void) { - PFS_thread *pfs_thread= thread_array; - PFS_thread *pfs_thread_last= thread_array + thread_max; + global_thread_container.apply_all(fct_reset_events_statements_current); +} - for ( ; pfs_thread < pfs_thread_last; pfs_thread++) - { - PFS_events_statements *pfs_stmt= & pfs_thread->m_statement_stack[0]; - PFS_events_statements *pfs_stmt_last= pfs_stmt + statement_stack_max; +static void fct_reset_events_statements_history(PFS_thread *pfs_thread) +{ + PFS_events_statements *pfs= pfs_thread->m_statements_history; + PFS_events_statements *pfs_last= pfs + events_statements_history_per_thread; - for ( ; pfs_stmt < pfs_stmt_last; pfs_stmt++) - pfs_stmt->m_class= NULL; - } + pfs_thread->m_statements_history_index= 0; + pfs_thread->m_statements_history_full= false; + for ( ; pfs < pfs_last; pfs++) + pfs->m_class= NULL; } /** Reset table EVENTS_STATEMENTS_HISTORY data. */ void reset_events_statements_history(void) { - PFS_thread *pfs_thread= thread_array; - PFS_thread *pfs_thread_last= thread_array + thread_max; - - for ( ; pfs_thread < pfs_thread_last; pfs_thread++) - { - PFS_events_statements *pfs= pfs_thread->m_statements_history; - PFS_events_statements *pfs_last= pfs + events_statements_history_per_thread; - - pfs_thread->m_statements_history_index= 0; - pfs_thread->m_statements_history_full= false; - for ( ; pfs < pfs_last; pfs++) - pfs->m_class= NULL; - } + global_thread_container.apply_all(fct_reset_events_statements_history); } /** Reset table EVENTS_STATEMENTS_HISTORY_LONG data. */ void reset_events_statements_history_long(void) { - PFS_atomic::store_u32(&events_statements_history_long_index, 0); + PFS_atomic::store_u32(&events_statements_history_long_index.m_u32, 0); events_statements_history_long_full= false; PFS_events_statements *pfs= events_statements_history_long_array; @@ -212,70 +261,53 @@ void reset_events_statements_history_long(void) pfs->m_class= NULL; } +static void fct_reset_events_statements_by_thread(PFS_thread *thread) +{ + PFS_account *account= sanitize_account(thread->m_account); + PFS_user *user= sanitize_user(thread->m_user); + PFS_host *host= sanitize_host(thread->m_host); + aggregate_thread_statements(thread, account, user, host); +} + /** Reset table EVENTS_STATEMENTS_SUMMARY_BY_THREAD_BY_EVENT_NAME data. */ void reset_events_statements_by_thread() { - PFS_thread *thread= thread_array; - PFS_thread *thread_last= thread_array + thread_max; - PFS_account *account; - PFS_user *user; - PFS_host *host; + global_thread_container.apply(fct_reset_events_statements_by_thread); +} - for ( ; thread < thread_last; thread++) - { - if (thread->m_lock.is_populated()) - { - account= sanitize_account(thread->m_account); - user= sanitize_user(thread->m_user); - host= sanitize_host(thread->m_host); - aggregate_thread_statements(thread, account, user, host); - } - } +static void fct_reset_events_statements_by_account(PFS_account *pfs) +{ + PFS_user *user= sanitize_user(pfs->m_user); + PFS_host *host= sanitize_host(pfs->m_host); + pfs->aggregate_statements(user, host); } /** Reset table EVENTS_STATEMENTS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME data. */ void reset_events_statements_by_account() { - PFS_account *pfs= account_array; - PFS_account *pfs_last= account_array + account_max; - PFS_user *user; - PFS_host *host; + global_account_container.apply(fct_reset_events_statements_by_account); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - { - user= sanitize_user(pfs->m_user); - host= sanitize_host(pfs->m_host); - pfs->aggregate_statements(user, host); - } - } +static void fct_reset_events_statements_by_user(PFS_user *pfs) +{ + pfs->aggregate_statements(); } /** Reset table EVENTS_STATEMENTS_SUMMARY_BY_USER_BY_EVENT_NAME data. */ void reset_events_statements_by_user() { - PFS_user *pfs= user_array; - PFS_user *pfs_last= user_array + user_max; + global_user_container.apply(fct_reset_events_statements_by_user); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->aggregate_statements(); - } +static void fct_reset_events_statements_by_host(PFS_host *pfs) +{ + pfs->aggregate_statements(); } /** Reset table EVENTS_STATEMENTS_SUMMARY_BY_HOST_BY_EVENT_NAME data. */ void reset_events_statements_by_host() { - PFS_host *pfs= host_array; - PFS_host *pfs_last= host_array + host_max; - - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->aggregate_statements(); - } + global_host_container.apply(fct_reset_events_statements_by_host); } /** Reset table EVENTS_STATEMENTS_GLOBAL_BY_EVENT_NAME data. */ diff --git a/storage/perfschema/pfs_events_statements.h b/storage/perfschema/pfs_events_statements.h index d3fd79ea195..9815e02305f 100644 --- a/storage/perfschema/pfs_events_statements.h +++ b/storage/perfschema/pfs_events_statements.h @@ -33,18 +33,20 @@ struct PFS_host; /** A statement record. */ struct PFS_events_statements : public PFS_events { + enum_object_type m_sp_type; + char m_schema_name[NAME_LEN]; + uint m_schema_name_length; + char m_object_name[NAME_LEN]; + uint m_object_name_length; + /** Database name. */ char m_current_schema_name[NAME_LEN]; /** Length of @c m_current_schema_name. */ uint m_current_schema_name_length; - /** SQL_TEXT */ - char m_sqltext[COL_INFO_SIZE]; - /** Length of @ m_info. */ - uint m_sqltext_length; /** Locked time. */ ulonglong m_lock_time; - + /** Diagnostics area, message text. */ char m_message_text[MYSQL_ERRMSG_SIZE+1]; /** Diagnostics area, error number. */ @@ -95,6 +97,14 @@ struct PFS_events_statements : public PFS_events uint m_sqltext_cs_number; /** + SQL_TEXT. + This pointer is immutable, + and always point to pre allocated memory. + */ + char *m_sqltext; + /** Length of @ m_info. */ + uint m_sqltext_length; + /** Statement digest. This underlying token array storage pointer is immutable, and always point to pre allocated memory. @@ -105,12 +115,14 @@ struct PFS_events_statements : public PFS_events void insert_events_statements_history(PFS_thread *thread, PFS_events_statements *statement); void insert_events_statements_history_long(PFS_events_statements *statement); +extern ulong nested_statement_lost; + extern bool flag_events_statements_current; extern bool flag_events_statements_history; extern bool flag_events_statements_history_long; extern bool events_statements_history_long_full; -extern volatile uint32 events_statements_history_long_index; +extern PFS_ALIGNED PFS_cacheline_uint32 events_statements_history_long_index; extern PFS_events_statements *events_statements_history_long_array; extern size_t events_statements_history_long_size; diff --git a/storage/perfschema/pfs_events_transactions.cc b/storage/perfschema/pfs_events_transactions.cc new file mode 100644 index 00000000000..d6906ec73b2 --- /dev/null +++ b/storage/perfschema/pfs_events_transactions.cc @@ -0,0 +1,260 @@ +/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/pfs_events_transactions.cc + Events transactions data structures (implementation). +*/ + +#include "my_global.h" +#include "my_sys.h" +#include "pfs_global.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_account.h" +#include "pfs_host.h" +#include "pfs_user.h" +#include "pfs_events_transactions.h" +#include "pfs_atomic.h" +#include "pfs_buffer_container.h" +#include "pfs_builtin_memory.h" +#include "m_string.h" + +PFS_ALIGNED ulong events_transactions_history_long_size= 0; +/** Consumer flag for table EVENTS_TRANSACTIONS_CURRENT. */ +PFS_ALIGNED bool flag_events_transactions_current= false; +/** Consumer flag for table EVENTS_TRANSACTIONS_HISTORY. */ +PFS_ALIGNED bool flag_events_transactions_history= false; +/** Consumer flag for table EVENTS_TRANSACTIONS_HISTORY_LONG. */ +PFS_ALIGNED bool flag_events_transactions_history_long= false; + +/** True if EVENTS_TRANSACTIONS_HISTORY_LONG circular buffer is full. */ +PFS_ALIGNED bool events_transactions_history_long_full= false; +/** Index in EVENTS_TRANSACTIONS_HISTORY_LONG circular buffer. */ +PFS_ALIGNED PFS_cacheline_uint32 events_transactions_history_long_index; +/** EVENTS_TRANSACTIONS_HISTORY_LONG circular buffer. */ +PFS_ALIGNED PFS_events_transactions *events_transactions_history_long_array= NULL; + +/** + Initialize table EVENTS_TRANSACTIONS_HISTORY_LONG. + @param events_transactions_history_long_sizing table sizing +*/ +int init_events_transactions_history_long(uint events_transactions_history_long_sizing) +{ + events_transactions_history_long_size= events_transactions_history_long_sizing; + events_transactions_history_long_full= false; + PFS_atomic::store_u32(&events_transactions_history_long_index.m_u32, 0); + + if (events_transactions_history_long_size == 0) + return 0; + + events_transactions_history_long_array= + PFS_MALLOC_ARRAY(& builtin_memory_transactions_history_long, + events_transactions_history_long_size, + sizeof(PFS_events_transactions), PFS_events_transactions, + MYF(MY_ZEROFILL)); + + return (events_transactions_history_long_array ? 0 : 1); +} + +/** Cleanup table EVENTS_TRANSACTIONS_HISTORY_LONG. */ +void cleanup_events_transactions_history_long(void) +{ + PFS_FREE_ARRAY(& builtin_memory_transactions_history_long, + events_transactions_history_long_size, sizeof(PFS_events_transactions), + events_transactions_history_long_array); + events_transactions_history_long_array= NULL; +} + +static inline void copy_events_transactions(PFS_events_transactions *dest, + const PFS_events_transactions *source) +{ + memcpy(dest, source, sizeof(PFS_events_transactions)); +} + +/** + Insert a transaction record in table EVENTS_TRANSACTIONS_HISTORY. + @param thread thread that executed the wait + @param transaction record to insert +*/ +void insert_events_transactions_history(PFS_thread *thread, PFS_events_transactions *transaction) +{ + if (unlikely(events_transactions_history_per_thread == 0)) + return; + + DBUG_ASSERT(thread->m_transactions_history != NULL); + + uint index= thread->m_transactions_history_index; + + /* + A concurrent thread executing TRUNCATE TABLE EVENTS_TRANSACTIONS_CURRENT + could alter the data that this thread is inserting, + causing a potential race condition. + We are not testing for this and insert a possibly empty record, + to make this thread (the writer) faster. + This is ok, the readers of m_transactions_history will filter this out. + */ + copy_events_transactions(&thread->m_transactions_history[index], transaction); + + index++; + if (index >= events_transactions_history_per_thread) + { + index= 0; + thread->m_transactions_history_full= true; + } + thread->m_transactions_history_index= index; +} + +/** + Insert a transaction record in table EVENTS_TRANSACTIONS_HISTORY_LONG. + @param transaction record to insert +*/ +void insert_events_transactions_history_long(PFS_events_transactions *transaction) +{ + if (unlikely(events_transactions_history_long_size == 0)) + return ; + + DBUG_ASSERT(events_transactions_history_long_array != NULL); + + uint index= PFS_atomic::add_u32(&events_transactions_history_long_index.m_u32, 1); + + index= index % events_transactions_history_long_size; + if (index == 0) + events_transactions_history_long_full= true; + + /* See related comment in insert_events_transactions_history. */ + copy_events_transactions(&events_transactions_history_long_array[index], transaction); +} + +static void fct_reset_events_transactions_current(PFS_thread *pfs) +{ + pfs->m_transaction_current.m_class= NULL; +} + +/** Reset table EVENTS_TRANSACTIONS_CURRENT data. */ +void reset_events_transactions_current(void) +{ + global_thread_container.apply_all(fct_reset_events_transactions_current); +} + +static void fct_reset_events_transactions_history(PFS_thread *pfs_thread) +{ + PFS_events_transactions *pfs= pfs_thread->m_transactions_history; + PFS_events_transactions *pfs_last= pfs + events_transactions_history_per_thread; + + pfs_thread->m_transactions_history_index= 0; + pfs_thread->m_transactions_history_full= false; + for ( ; pfs < pfs_last; pfs++) + pfs->m_class= NULL; +} + +/** Reset table EVENTS_TRANSACTIONS_HISTORY data. */ +void reset_events_transactions_history(void) +{ + global_thread_container.apply_all(fct_reset_events_transactions_history); +} + +/** Reset table EVENTS_TRANSACTIONS_HISTORY_LONG data. */ +void reset_events_transactions_history_long(void) +{ + PFS_atomic::store_u32(&events_transactions_history_long_index.m_u32, 0); + events_transactions_history_long_full= false; + + PFS_events_transactions *pfs= events_transactions_history_long_array; + PFS_events_transactions *pfs_last= pfs + events_transactions_history_long_size; + for ( ; pfs < pfs_last; pfs++) + pfs->m_class= NULL; +} + +static void fct_reset_events_transactions_by_thread(PFS_thread *thread) +{ + PFS_account *account= sanitize_account(thread->m_account); + PFS_user *user= sanitize_user(thread->m_user); + PFS_host *host= sanitize_host(thread->m_host); + aggregate_thread_transactions(thread, account, user, host); +} + +/** Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME data. */ +void reset_events_transactions_by_thread() +{ + global_thread_container.apply(fct_reset_events_transactions_by_thread); +} + +static void fct_reset_events_transactions_by_account(PFS_account *pfs) +{ + PFS_user *user= sanitize_user(pfs->m_user); + PFS_host *host= sanitize_host(pfs->m_host); + pfs->aggregate_transactions(user, host); +} + +/** Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME data. */ +void reset_events_transactions_by_account() +{ + global_account_container.apply(fct_reset_events_transactions_by_account); +} + +static void fct_reset_events_transactions_by_user(PFS_user *pfs) +{ + pfs->aggregate_transactions(); +} + +/** Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME data. */ +void reset_events_transactions_by_user() +{ + global_user_container.apply(fct_reset_events_transactions_by_user); +} + +static void fct_reset_events_transactions_by_host(PFS_host *pfs) +{ + pfs->aggregate_transactions(); +} + +/** Reset table EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME data. */ +void reset_events_transactions_by_host() +{ + global_host_container.apply(fct_reset_events_transactions_by_host); +} + +/** Reset table EVENTS_TRANSACTIONS_GLOBAL_BY_EVENT_NAME data. */ +void reset_events_transactions_global() +{ + global_transaction_stat.reset(); +} + +/** + Check if the XID consists of printable characters, ASCII 32 - 127. + @param xid XID structure + @param offset offset into XID.data[] + @param length number of bytes to process + @return true if all bytes are in printable range +*/ +bool xid_printable(PSI_xid *xid, size_t offset, size_t length) +{ + if (xid->is_null()) + return false; + + DBUG_ASSERT(offset + length <= MYSQL_XIDDATASIZE); + + unsigned char *c= (unsigned char*)&xid->data + offset; + + for (size_t i= 0; i < length; i++, c++) + { + if(*c < 32 || *c > 127) + return false; + } + + return true; +} + diff --git a/storage/perfschema/pfs_events_transactions.h b/storage/perfschema/pfs_events_transactions.h new file mode 100644 index 00000000000..7edea1821df --- /dev/null +++ b/storage/perfschema/pfs_events_transactions.h @@ -0,0 +1,124 @@ +/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef PFS_EVENTS_TRANSACTIONS_H +#define PFS_EVENTS_TRANSACTIONS_H + +/** + @file storage/perfschema/pfs_events_transactions.h + Events transactions data structures (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_events.h" +#include "rpl_gtid.h" +#include "mysql/plugin.h" /* MYSQL_XIDDATASIZE */ + +struct PFS_thread; +struct PFS_account; +struct PFS_user; +struct PFS_host; + +/** + struct PSI_xid is binary compatible with the XID structure as + in the X/Open CAE Specification, Distributed Transaction Processing: + The XA Specification, X/Open Company Ltd., 1991. + http://www.opengroup.org/bookstore/catalog/c193.htm + + A value of -1 in formatID means that the XID is null. + Max length for bqual and gtrid is 64 bytes each. + + @see XID in sql/handler.h + @see MYSQL_XID in mysql/plugin.h +*/ +struct PSI_xid +{ + /** Format identifier. */ + long formatID; + /** GTRID length, value 1-64. */ + long gtrid_length; + /** BQUAL length, value 1-64. */ + long bqual_length; + /** XID raw data, not \0-terminated */ + char data[MYSQL_XIDDATASIZE]; + + PSI_xid() {null();} + bool is_null() { return formatID == -1; } + void null() { formatID= -1; gtrid_length= 0; bqual_length= 0;} +}; +typedef struct PSI_xid PSI_xid; + +/** A transaction record. */ +struct PFS_events_transactions : public PFS_events +{ + /** Source identifier, mapped from internal format. */ + rpl_sid m_sid; + /** InnoDB transaction ID. */ + ulonglong m_trxid; + /** Status */ + enum_transaction_state m_state; + /** Global Transaction ID specifier. */ + Gtid_specification m_gtid_spec; + /** True if XA transaction. */ + my_bool m_xa; + /** XA transaction ID. */ + PSI_xid m_xid; + /** XA status */ + enum_xa_transaction_state m_xa_state; + /** Transaction isolation level. */ + enum_isolation_level m_isolation_level; + /** True if read-only transaction, otherwise read-write. */ + my_bool m_read_only; + /** True if autocommit transaction. */ + my_bool m_autocommit; + /** Total number of savepoints. */ + ulonglong m_savepoint_count; + /** Number of rollback_to_savepoint. */ + ulonglong m_rollback_to_savepoint_count; + /** Number of release_savepoint. */ + ulonglong m_release_savepoint_count; +}; + +bool xid_printable(PSI_xid *xid, size_t offset, size_t length); + +void insert_events_transactions_history(PFS_thread *thread, PFS_events_transactions *transaction); +void insert_events_transactions_history_long(PFS_events_transactions *transaction); + +extern bool flag_events_transactions_current; +extern bool flag_events_transactions_history; +extern bool flag_events_transactions_history_long; + +extern bool events_transactions_history_long_full; +extern PFS_cacheline_uint32 events_transactions_history_long_index; +extern PFS_events_transactions *events_transactions_history_long_array; +extern ulong events_transactions_history_long_size; + +int init_events_transactions_history_long(uint events_transactions_history_long_sizing); +void cleanup_events_transactions_history_long(); + +void reset_events_transactions_current(); +void reset_events_transactions_history(); +void reset_events_transactions_history_long(); +void reset_events_transactions_by_thread(); +void reset_events_transactions_by_account(); +void reset_events_transactions_by_user(); +void reset_events_transactions_by_host(); +void reset_events_transactions_global(); +void aggregate_account_transactions(PFS_account *account); +void aggregate_user_transactions(PFS_user *user); +void aggregate_host_transactions(PFS_host *host); + +#endif + diff --git a/storage/perfschema/pfs_events_waits.cc b/storage/perfschema/pfs_events_waits.cc index 1120ac2a445..18f2c9f5527 100644 --- a/storage/perfschema/pfs_events_waits.cc +++ b/storage/perfschema/pfs_events_waits.cc @@ -28,26 +28,28 @@ #include "pfs_account.h" #include "pfs_events_waits.h" #include "pfs_atomic.h" +#include "pfs_buffer_container.h" +#include "pfs_builtin_memory.h" #include "m_string.h" -ulong events_waits_history_long_size= 0; +PFS_ALIGNED ulong events_waits_history_long_size= 0; /** Consumer flag for table EVENTS_WAITS_CURRENT. */ -bool flag_events_waits_current= false; +PFS_ALIGNED bool flag_events_waits_current= false; /** Consumer flag for table EVENTS_WAITS_HISTORY. */ -bool flag_events_waits_history= false; +PFS_ALIGNED bool flag_events_waits_history= false; /** Consumer flag for table EVENTS_WAITS_HISTORY_LONG. */ -bool flag_events_waits_history_long= false; +PFS_ALIGNED bool flag_events_waits_history_long= false; /** Consumer flag for the global instrumentation. */ -bool flag_global_instrumentation= false; +PFS_ALIGNED bool flag_global_instrumentation= false; /** Consumer flag for the per thread instrumentation. */ -bool flag_thread_instrumentation= false; +PFS_ALIGNED bool flag_thread_instrumentation= false; /** True if EVENTS_WAITS_HISTORY_LONG circular buffer is full. */ -bool events_waits_history_long_full= false; +PFS_ALIGNED bool events_waits_history_long_full= false; /** Index in EVENTS_WAITS_HISTORY_LONG circular buffer. */ -volatile uint32 events_waits_history_long_index= 0; +PFS_ALIGNED PFS_cacheline_uint32 events_waits_history_long_index; /** EVENTS_WAITS_HISTORY_LONG circular buffer. */ -PFS_events_waits *events_waits_history_long_array= NULL; +PFS_ALIGNED PFS_events_waits *events_waits_history_long_array= NULL; /** Initialize table EVENTS_WAITS_HISTORY_LONG. @@ -57,14 +59,16 @@ int init_events_waits_history_long(uint events_waits_history_long_sizing) { events_waits_history_long_size= events_waits_history_long_sizing; events_waits_history_long_full= false; - PFS_atomic::store_u32(&events_waits_history_long_index, 0); + PFS_atomic::store_u32(&events_waits_history_long_index.m_u32, 0); if (events_waits_history_long_size == 0) return 0; events_waits_history_long_array= - PFS_MALLOC_ARRAY(events_waits_history_long_size, sizeof(PFS_events_waits), - PFS_events_waits, MYF(MY_ZEROFILL)); + PFS_MALLOC_ARRAY(& builtin_memory_waits_history_long, + events_waits_history_long_size, + sizeof(PFS_events_waits), PFS_events_waits, + MYF(MY_ZEROFILL)); return (events_waits_history_long_array ? 0 : 1); } @@ -72,7 +76,9 @@ int init_events_waits_history_long(uint events_waits_history_long_sizing) /** Cleanup table EVENTS_WAITS_HISTORY_LONG. */ void cleanup_events_waits_history_long(void) { - pfs_free(events_waits_history_long_array); + PFS_FREE_ARRAY(& builtin_memory_waits_history_long, + events_waits_history_long_size, sizeof(PFS_events_waits), + events_waits_history_long_array); events_waits_history_long_array= NULL; } @@ -122,7 +128,7 @@ void insert_events_waits_history_long(PFS_events_waits *wait) if (unlikely(events_waits_history_long_size == 0)) return; - uint index= PFS_atomic::add_u32(&events_waits_history_long_index, 1); + uint index= PFS_atomic::add_u32(&events_waits_history_long_index.m_u32, 1); index= index % events_waits_history_long_size; if (index == 0) @@ -132,44 +138,43 @@ void insert_events_waits_history_long(PFS_events_waits *wait) copy_events_waits(&events_waits_history_long_array[index], wait); } +static void fct_reset_events_waits_current(PFS_thread *pfs_thread) +{ + PFS_events_waits *pfs_wait= pfs_thread->m_events_waits_stack; + PFS_events_waits *pfs_wait_last= pfs_wait + WAIT_STACK_SIZE; + + for ( ; pfs_wait < pfs_wait_last; pfs_wait++) + pfs_wait->m_wait_class= NO_WAIT_CLASS; +} + + /** Reset table EVENTS_WAITS_CURRENT data. */ void reset_events_waits_current(void) { - PFS_thread *pfs_thread= thread_array; - PFS_thread *pfs_thread_last= thread_array + thread_max; + global_thread_container.apply_all(fct_reset_events_waits_current); +} - for ( ; pfs_thread < pfs_thread_last; pfs_thread++) - { - PFS_events_waits *pfs_wait= pfs_thread->m_events_waits_stack; - PFS_events_waits *pfs_wait_last= pfs_wait + WAIT_STACK_SIZE; +static void fct_reset_events_waits_history(PFS_thread *pfs_thread) +{ + PFS_events_waits *wait= pfs_thread->m_waits_history; + PFS_events_waits *wait_last= wait + events_waits_history_per_thread; - for ( ; pfs_wait < pfs_wait_last; pfs_wait++) - pfs_wait->m_wait_class= NO_WAIT_CLASS; - } + pfs_thread->m_waits_history_index= 0; + pfs_thread->m_waits_history_full= false; + for ( ; wait < wait_last; wait++) + wait->m_wait_class= NO_WAIT_CLASS; } /** Reset table EVENTS_WAITS_HISTORY data. */ void reset_events_waits_history(void) { - PFS_thread *pfs_thread= thread_array; - PFS_thread *pfs_thread_last= thread_array + thread_max; - - for ( ; pfs_thread < pfs_thread_last; pfs_thread++) - { - PFS_events_waits *wait= pfs_thread->m_waits_history; - PFS_events_waits *wait_last= wait + events_waits_history_per_thread; - - pfs_thread->m_waits_history_index= 0; - pfs_thread->m_waits_history_full= false; - for ( ; wait < wait_last; wait++) - wait->m_wait_class= NO_WAIT_CLASS; - } + global_thread_container.apply_all(fct_reset_events_waits_history); } /** Reset table EVENTS_WAITS_HISTORY_LONG data. */ void reset_events_waits_history_long(void) { - PFS_atomic::store_u32(&events_waits_history_long_index, 0); + PFS_atomic::store_u32(&events_waits_history_long_index.m_u32, 0); events_waits_history_long_full= false; PFS_events_waits *wait= events_waits_history_long_array; @@ -178,141 +183,112 @@ void reset_events_waits_history_long(void) wait->m_wait_class= NO_WAIT_CLASS; } +static void fct_reset_events_waits_by_thread(PFS_thread *thread) +{ + PFS_account *account= sanitize_account(thread->m_account); + PFS_user *user= sanitize_user(thread->m_user); + PFS_host *host= sanitize_host(thread->m_host); + aggregate_thread_waits(thread, account, user, host); +} + /** Reset table EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME data. */ void reset_events_waits_by_thread() { - PFS_thread *thread= thread_array; - PFS_thread *thread_last= thread_array + thread_max; - PFS_account *account; - PFS_user *user; - PFS_host *host; + global_thread_container.apply(fct_reset_events_waits_by_thread); +} - for ( ; thread < thread_last; thread++) - { - if (thread->m_lock.is_populated()) - { - account= sanitize_account(thread->m_account); - user= sanitize_user(thread->m_user); - host= sanitize_host(thread->m_host); - aggregate_thread_waits(thread, account, user, host); - } - } +static void fct_reset_events_waits_by_account(PFS_account *pfs) +{ + PFS_user *user= sanitize_user(pfs->m_user); + PFS_host *host= sanitize_host(pfs->m_host); + pfs->aggregate_waits(user, host); } /** Reset table EVENTS_WAITS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME data. */ void reset_events_waits_by_account() { - PFS_account *pfs= account_array; - PFS_account *pfs_last= account_array + account_max; - PFS_user *user; - PFS_host *host; + global_account_container.apply(fct_reset_events_waits_by_account); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - { - user= sanitize_user(pfs->m_user); - host= sanitize_host(pfs->m_host); - pfs->aggregate_waits(user, host); - } - } +static void fct_reset_events_waits_by_user(PFS_user *pfs) +{ + pfs->aggregate_waits(); } /** Reset table EVENTS_WAITS_SUMMARY_BY_USER_BY_EVENT_NAME data. */ void reset_events_waits_by_user() { - PFS_user *pfs= user_array; - PFS_user *pfs_last= user_array + user_max; + global_user_container.apply(fct_reset_events_waits_by_user); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->aggregate_waits(); - } +static void fct_reset_events_waits_by_host(PFS_host *pfs) +{ + pfs->aggregate_waits(); } /** Reset table EVENTS_WAITS_SUMMARY_BY_HOST_BY_EVENT_NAME data. */ void reset_events_waits_by_host() { - PFS_host *pfs= host_array; - PFS_host *pfs_last= host_array + host_max; + global_host_container.apply(fct_reset_events_waits_by_host); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->aggregate_waits(); - } +static void fct_reset_table_waits_by_table(PFS_table_share *pfs) +{ + pfs->aggregate(); } void reset_table_waits_by_table() { - PFS_table_share *pfs= table_share_array; - PFS_table_share *pfs_last= pfs + table_share_max; + global_table_share_container.apply(fct_reset_table_waits_by_table); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->aggregate(); - } +static void fct_reset_table_io_waits_by_table(PFS_table_share *pfs) +{ + pfs->aggregate_io(); } void reset_table_io_waits_by_table() { - PFS_table_share *pfs= table_share_array; - PFS_table_share *pfs_last= pfs + table_share_max; + global_table_share_container.apply(fct_reset_table_io_waits_by_table); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->aggregate_io(); - } +static void fct_reset_table_lock_waits_by_table(PFS_table_share *pfs) +{ + pfs->aggregate_lock(); } void reset_table_lock_waits_by_table() { - PFS_table_share *pfs= table_share_array; - PFS_table_share *pfs_last= pfs + table_share_max; + global_table_share_container.apply(fct_reset_table_lock_waits_by_table); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->aggregate_lock(); - } +void fct_reset_table_waits_by_table_handle(PFS_table *pfs) +{ + pfs->sanitized_aggregate(); } void reset_table_waits_by_table_handle() { - PFS_table *pfs= table_array; - PFS_table *pfs_last= pfs + table_max; + global_table_container.apply(fct_reset_table_waits_by_table_handle); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->sanitized_aggregate(); - } +void fct_reset_table_io_waits_by_table_handle(PFS_table *pfs) +{ + pfs->sanitized_aggregate_io(); } void reset_table_io_waits_by_table_handle() { - PFS_table *pfs= table_array; - PFS_table *pfs_last= pfs + table_max; + global_table_container.apply(fct_reset_table_io_waits_by_table_handle); +} - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->sanitized_aggregate_io(); - } +void fct_reset_table_lock_waits_by_table_handle(PFS_table *pfs) +{ + pfs->sanitized_aggregate_lock(); } void reset_table_lock_waits_by_table_handle() { - PFS_table *pfs= table_array; - PFS_table *pfs_last= pfs + table_max; - - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - pfs->sanitized_aggregate_lock(); - } + global_table_container.apply(fct_reset_table_lock_waits_by_table_handle); } diff --git a/storage/perfschema/pfs_events_waits.h b/storage/perfschema/pfs_events_waits.h index a7f7a095b9f..4b39994bf75 100644 --- a/storage/perfschema/pfs_events_waits.h +++ b/storage/perfschema/pfs_events_waits.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -37,6 +37,7 @@ struct PFS_table_share; struct PFS_account; struct PFS_user; struct PFS_host; +struct PFS_metadata_lock; /** Class of a wait event. */ enum events_waits_class @@ -48,7 +49,8 @@ enum events_waits_class WAIT_CLASS_TABLE, WAIT_CLASS_FILE, WAIT_CLASS_SOCKET, - WAIT_CLASS_IDLE + WAIT_CLASS_IDLE, + WAIT_CLASS_METADATA }; /** A wait event record. */ @@ -66,8 +68,6 @@ struct PFS_events_waits : public PFS_events - TRUNCATE EVENTS_WAITS_HISTORY_LONG */ events_waits_class m_wait_class; - /** Executing thread. */ - PFS_thread *m_thread; /** Object type */ enum_object_type m_object_type; /** Table share, for table operations only. */ @@ -76,6 +76,8 @@ struct PFS_events_waits : public PFS_events PFS_file *m_weak_file; /** Socket, for socket operations only. */ PFS_socket *m_weak_socket; + /** Metadata lock, for mdl operations only. */ + PFS_metadata_lock *m_weak_metadata_lock; /** For weak pointers, target object version. */ uint32 m_weak_version; /** Address in memory of the object instance waited on. */ @@ -83,8 +85,9 @@ struct PFS_events_waits : public PFS_events /** Operation performed. */ enum_operation_type m_operation; /** - Number of bytes read/written. - This member is populated for file READ/WRITE operations only. + Number of bytes/rows read/written. + This member is populated for FILE READ/WRITE operations, with a number of bytes. + This member is populated for TABLE IO operations, with a number of rows. */ size_t m_number_of_bytes; /** @@ -116,7 +119,7 @@ extern bool flag_global_instrumentation; extern bool flag_thread_instrumentation; extern bool events_waits_history_long_full; -extern volatile uint32 events_waits_history_long_index; +extern PFS_ALIGNED PFS_cacheline_uint32 events_waits_history_long_index; extern PFS_events_waits *events_waits_history_long_array; extern ulong events_waits_history_long_size; diff --git a/storage/perfschema/pfs_global.cc b/storage/perfschema/pfs_global.cc index 1e2070129e0..6ffc4a38ef7 100644 --- a/storage/perfschema/pfs_global.cc +++ b/storage/perfschema/pfs_global.cc @@ -21,7 +21,7 @@ #include "my_global.h" #include "my_sys.h" #include "pfs_global.h" -#include "my_net.h" +#include "pfs_builtin_memory.h" #include <stdlib.h> #include <string.h> @@ -29,24 +29,26 @@ #ifdef HAVE_UNISTD_H #include <unistd.h> #endif - -#ifdef __WIN__ - #include <winsock2.h> -#else - #include <arpa/inet.h> +#ifdef _WIN32 +#include <winsock2.h> +#endif +#ifdef HAVE_ARPA_INET_H +#include <arpa/inet.h> +#endif +#ifdef HAVE_NETINET_IN_H +#include <netinet/in.h> #endif bool pfs_initialized= false; -size_t pfs_allocated_memory= 0; /** Memory allocation for the performance schema. - The memory used internally in the performance schema implementation - is allocated once during startup, and considered static thereafter. + The memory used internally in the performance schema implementation. + It is allocated at startup, or during runtime with scalable buffers. */ -void *pfs_malloc(size_t size, myf flags) +void *pfs_malloc(PFS_builtin_memory_class *klass, size_t size, myf flags) { - DBUG_ASSERT(! pfs_initialized); + DBUG_ASSERT(klass != NULL); DBUG_ASSERT(size > 0); void *ptr= NULL; @@ -80,13 +82,14 @@ void *pfs_malloc(size_t size, myf flags) return NULL; #endif - pfs_allocated_memory+= size; + klass->count_alloc(size); + if (flags & MY_ZEROFILL) memset(ptr, 0, size); return ptr; } -void pfs_free(void *ptr) +void pfs_free(PFS_builtin_memory_class *klass, size_t size, void *ptr) { if (ptr == NULL) return; @@ -108,40 +111,46 @@ void pfs_free(void *ptr) #endif /* HAVE_ALIGNED_MALLOC */ #endif /* HAVE_MEMALIGN */ #endif /* HAVE_POSIX_MEMALIGN */ -} -void pfs_print_error(const char *format, ...) -{ - va_list args; - va_start(args, format); - /* - Printing to anything else, like the error log, would generate even more - recursive calls to the performance schema implementation - (file io is instrumented), so that could lead to catastrophic results. - Printing to something safe, and low level: stderr only. - */ - vfprintf(stderr, format, args); - va_end(args); - fflush(stderr); + klass->count_free(size); } /** Array allocation for the performance schema. Checks for overflow of n * size before allocating. - @param n number of array elements + @param klass performance schema memory class + @param n number of array elements @param size element size @param flags malloc flags @return pointer to memory on success, else NULL */ -void *pfs_malloc_array(size_t n, size_t size, myf flags) +void *pfs_malloc_array(PFS_builtin_memory_class *klass, size_t n, size_t size, myf flags) { + DBUG_ASSERT(klass != NULL); DBUG_ASSERT(n > 0); DBUG_ASSERT(size > 0); size_t array_size= n * size; /* Check for overflow before allocating. */ if (is_overflow(array_size, n, size)) return NULL; - return pfs_malloc(array_size, flags); + return pfs_malloc(klass, array_size, flags); +} + +/** + Free array allocated by @sa pfs_malloc_array. + @param klass performance schema memory class + @param n number of array elements + @param size element size + @param ptr pointer to memory +*/ +void pfs_free_array(PFS_builtin_memory_class *klass, size_t n, size_t size, void *ptr) +{ + if (ptr == NULL) + return; + size_t array_size= n * size; + /* Overflow should have been detected by pfs_malloc_array. */ + DBUG_ASSERT(!is_overflow(array_size, n, size)); + return pfs_free(klass, array_size, ptr); } /** @@ -159,6 +168,22 @@ bool is_overflow(size_t product, size_t n1, size_t n2) return false; } +void pfs_print_error(const char *format, ...) +{ + va_list args; + va_start(args, format); + /* + Printing to anything else, like the error log, would generate even more + recursive calls to the performance schema implementation + (file io is instrumented), so that could lead to catastrophic results. + Printing to something safe, and low level: stderr only. + */ + vfprintf(stderr, format, args); + va_end(args); + fflush(stderr); +} + + /** Convert raw ip address into readable format. Do not do a reverse DNS lookup. */ uint pfs_get_socket_address(char *host, @@ -181,7 +206,7 @@ uint pfs_get_socket_address(char *host, if (host_len < INET_ADDRSTRLEN+1) return 0; struct sockaddr_in *sa4= (struct sockaddr_in *)(src_addr); - #ifdef __WIN__ + #ifdef _WIN32 /* Older versions of Windows do not support inet_ntop() */ getnameinfo((struct sockaddr *)sa4, sizeof(struct sockaddr_in), host, host_len, NULL, 0, NI_NUMERICHOST); @@ -198,7 +223,7 @@ uint pfs_get_socket_address(char *host, if (host_len < INET6_ADDRSTRLEN+1) return 0; struct sockaddr_in6 *sa6= (struct sockaddr_in6 *)(src_addr); - #ifdef __WIN__ + #ifdef _WIN32 /* Older versions of Windows do not support inet_ntop() */ getnameinfo((struct sockaddr *)sa6, sizeof(struct sockaddr_in6), host, host_len, NULL, 0, NI_NUMERICHOST); diff --git a/storage/perfschema/pfs_global.h b/storage/perfschema/pfs_global.h index e69b304f4c4..31a385c5aef 100644 --- a/storage/perfschema/pfs_global.h +++ b/storage/perfschema/pfs_global.h @@ -26,8 +26,6 @@ /** True when the performance schema is initialized. */ extern bool pfs_initialized; -/** Total memory allocated by the performance schema, in bytes. */ -extern size_t pfs_allocated_memory; #if defined(HAVE_POSIX_MEMALIGN) || defined(HAVE_MEMALIGN) || defined(HAVE_ALIGNED_MALLOC) #define PFS_ALIGNEMENT 64 @@ -41,23 +39,74 @@ extern size_t pfs_allocated_memory; #define PFS_ALIGNED #endif /* HAVE_POSIX_MEMALIGN || HAVE_MEMALIGN || HAVE_ALIGNED_MALLOC */ -void *pfs_malloc(size_t size, myf flags); +#ifdef CPU_LEVEL1_DCACHE_LINESIZE +#define PFS_CACHE_LINE_SIZE CPU_LEVEL1_DCACHE_LINESIZE +#else +#define PFS_CACHE_LINE_SIZE 128 +#endif + +/** + A uint32 variable, guaranteed to be alone in a CPU cache line. + This is for performance, for variables accessed very frequently. +*/ +struct PFS_cacheline_uint32 +{ + uint32 m_u32; + char m_full_cache_line[PFS_CACHE_LINE_SIZE - sizeof(uint32)]; + + PFS_cacheline_uint32() + : m_u32(0) + {} +}; + +/** + A uint64 variable, guaranteed to be alone in a CPU cache line. + This is for performance, for variables accessed very frequently. +*/ +struct PFS_cacheline_uint64 +{ + uint64 m_u64; + char m_full_cache_line[PFS_CACHE_LINE_SIZE - sizeof(uint64)]; + + PFS_cacheline_uint64() + : m_u64(0) + {} +}; + +struct PFS_builtin_memory_class; + +/** Memory allocation for the performance schema. */ +void *pfs_malloc(PFS_builtin_memory_class *klass, size_t size, myf flags); /** Allocate an array of structures with overflow check. */ -void *pfs_malloc_array(size_t n, size_t size, myf flags); +void *pfs_malloc_array(PFS_builtin_memory_class *klass, size_t n, size_t size, myf flags); /** Helper, to allocate an array of structures. + @param k memory class @param n number of elements in the array @param s size of array element @param T type of an element @param f flags to use when allocating memory */ -#define PFS_MALLOC_ARRAY(n, s, T, f) \ - reinterpret_cast<T*>(pfs_malloc_array((n), (s), (f))) +#define PFS_MALLOC_ARRAY(k, n, s, T, f) \ + reinterpret_cast<T*>(pfs_malloc_array((k), (n), (s), (f))) /** Free memory allocated with @sa pfs_malloc. */ -void pfs_free(void *ptr); +void pfs_free(PFS_builtin_memory_class *klass, size_t size, void *ptr); + +/** Free memory allocated with @sa pfs_malloc_array. */ +void pfs_free_array(PFS_builtin_memory_class *klass, size_t n, size_t size, void *ptr); + +/** + Helper, to free an array of structures. + @param k memory class + @param n number of elements in the array + @param s size of array element + @param p the array to free +*/ +#define PFS_FREE_ARRAY(k, n, s, p) \ + pfs_free_array((k), (n), (s), (p)) /** Detect multiplication overflow. */ bool is_overflow(size_t product, size_t n1, size_t n2); @@ -79,7 +128,7 @@ inline uint randomized_index(const void *ptr, uint max_size) static uint seed1= 0; static uint seed2= 0; uint result; - register intptr value; + intptr value; if (unlikely(max_size == 0)) return 0; diff --git a/storage/perfschema/pfs_host.cc b/storage/perfschema/pfs_host.cc index 99e6820cdff..fd08b5c6cd8 100644 --- a/storage/perfschema/pfs_host.cc +++ b/storage/perfschema/pfs_host.cc @@ -27,21 +27,13 @@ #include "pfs_host.h" #include "pfs_global.h" #include "pfs_instr_class.h" +#include "pfs_buffer_container.h" /** @addtogroup Performance_schema_buffers @{ */ -ulong host_max; -ulong host_lost; - -PFS_host *host_array= NULL; - -static PFS_single_stat *host_instr_class_waits_array= NULL; -static PFS_stage_stat *host_instr_class_stages_array= NULL; -static PFS_statement_stat *host_instr_class_statements_array= NULL; - LF_HASH host_hash; static bool host_hash_inited= false; @@ -52,59 +44,8 @@ static bool host_hash_inited= false; */ int init_host(const PFS_global_param *param) { - uint index; - - host_max= param->m_host_sizing; - - host_array= NULL; - host_instr_class_waits_array= NULL; - host_instr_class_stages_array= NULL; - host_instr_class_statements_array= NULL; - uint waits_sizing= host_max * wait_class_max; - uint stages_sizing= host_max * stage_class_max; - uint statements_sizing= host_max * statement_class_max; - - if (host_max > 0) - { - host_array= PFS_MALLOC_ARRAY(host_max, sizeof(PFS_host), PFS_host, - MYF(MY_ZEROFILL)); - if (unlikely(host_array == NULL)) - return 1; - } - - if (waits_sizing > 0) - { - host_instr_class_waits_array= - PFS_connection_slice::alloc_waits_slice(waits_sizing); - if (unlikely(host_instr_class_waits_array == NULL)) - return 1; - } - - if (stages_sizing > 0) - { - host_instr_class_stages_array= - PFS_connection_slice::alloc_stages_slice(stages_sizing); - if (unlikely(host_instr_class_stages_array == NULL)) - return 1; - } - - if (statements_sizing > 0) - { - host_instr_class_statements_array= - PFS_connection_slice::alloc_statements_slice(statements_sizing); - if (unlikely(host_instr_class_statements_array == NULL)) - return 1; - } - - for (index= 0; index < host_max; index++) - { - host_array[index].m_instr_class_waits_stats= - &host_instr_class_waits_array[index * wait_class_max]; - host_array[index].m_instr_class_stages_stats= - &host_instr_class_stages_array[index * stage_class_max]; - host_array[index].m_instr_class_statements_stats= - &host_instr_class_statements_array[index * statement_class_max]; - } + if (global_host_container.init(param->m_host_sizing)) + return 1; return 0; } @@ -112,15 +53,7 @@ int init_host(const PFS_global_param *param) /** Cleanup all the host buffers. */ void cleanup_host(void) { - pfs_free(host_array); - host_array= NULL; - pfs_free(host_instr_class_waits_array); - host_instr_class_waits_array= NULL; - pfs_free(host_instr_class_stages_array); - host_instr_class_stages_array= NULL; - pfs_free(host_instr_class_statements_array); - host_instr_class_statements_array= NULL; - host_max= 0; + global_host_container.cleanup(); } C_MODE_START @@ -144,13 +77,12 @@ C_MODE_END Initialize the host hash. @return 0 on success */ -int init_host_hash(void) +int init_host_hash(const PFS_global_param *param) { - if ((! host_hash_inited) && (host_max > 0)) + if ((! host_hash_inited) && (param->m_host_sizing != 0)) { lf_hash_init(&host_hash, sizeof(PFS_host*), LF_HASH_UNIQUE, 0, 0, host_hash_get_key, &my_charset_bin); - host_hash.size= host_max; host_hash_inited= true; } return 0; @@ -196,16 +128,12 @@ static void set_host_key(PFS_host_key *key, PFS_host *find_or_create_host(PFS_thread *thread, const char *hostname, uint hostname_length) { - if (host_max == 0) - { - host_lost++; - return NULL; - } + static PFS_ALIGNED PFS_cacheline_uint32 monotonic; LF_PINS *pins= get_host_hash_pins(thread); if (unlikely(pins == NULL)) { - host_lost++; + global_host_container.m_lost++; return NULL; } @@ -213,8 +141,10 @@ PFS_host *find_or_create_host(PFS_thread *thread, set_host_key(&key, hostname, hostname_length); PFS_host **entry; + PFS_host *pfs; uint retry_count= 0; const uint retry_max= 3; + pfs_dirty_state dirty_state; search: entry= reinterpret_cast<PFS_host**> @@ -231,68 +161,55 @@ search: lf_hash_search_unpin(pins); - PFS_scan scan; - uint random= randomized_index(hostname, host_max); - - for (scan.init(random, host_max); - scan.has_pass(); - scan.next_pass()) + pfs= global_host_container.allocate(& dirty_state); + if (pfs != NULL) { - PFS_host *pfs= host_array + scan.first(); - PFS_host *pfs_last= host_array + scan.last(); - for ( ; pfs < pfs_last; pfs++) + pfs->m_key= key; + if (hostname_length > 0) + pfs->m_hostname= &pfs->m_key.m_hash_key[0]; + else + pfs->m_hostname= NULL; + pfs->m_hostname_length= hostname_length; + + pfs->init_refcount(); + pfs->reset_stats(); + pfs->m_disconnected_count= 0; + + int res; + pfs->m_lock.dirty_to_allocated(& dirty_state); + res= lf_hash_insert(&host_hash, pins, &pfs); + if (likely(res == 0)) { - if (pfs->m_lock.is_free()) + return pfs; + } + + global_host_container.deallocate(pfs); + + if (res > 0) + { + if (++retry_count > retry_max) { - if (pfs->m_lock.free_to_dirty()) - { - pfs->m_key= key; - if (hostname_length > 0) - pfs->m_hostname= &pfs->m_key.m_hash_key[0]; - else - pfs->m_hostname= NULL; - pfs->m_hostname_length= hostname_length; - - pfs->init_refcount(); - pfs->reset_stats(); - pfs->m_disconnected_count= 0; - - int res; - res= lf_hash_insert(&host_hash, pins, &pfs); - if (likely(res == 0)) - { - pfs->m_lock.dirty_to_allocated(); - return pfs; - } - - pfs->m_lock.dirty_to_free(); - - if (res > 0) - { - if (++retry_count > retry_max) - { - host_lost++; - return NULL; - } - goto search; - } - - host_lost++; - return NULL; - } + global_host_container.m_lost++; + return NULL; } + goto search; } + + global_host_container.m_lost++; + return NULL; } - host_lost++; return NULL; } -void PFS_host::aggregate() +void PFS_host::aggregate(bool alive) { aggregate_waits(); aggregate_stages(); aggregate_statements(); + aggregate_transactions(); + aggregate_memory(alive); + aggregate_status(); aggregate_stats(); } @@ -304,24 +221,67 @@ void PFS_host::aggregate_waits() void PFS_host::aggregate_stages() { + if (read_instr_class_stages_stats() == NULL) + return; + /* Aggregate EVENTS_STAGES_SUMMARY_BY_HOST_BY_EVENT_NAME to: - EVENTS_STAGES_SUMMARY_GLOBAL_BY_EVENT_NAME */ - aggregate_all_stages(m_instr_class_stages_stats, + aggregate_all_stages(write_instr_class_stages_stats(), global_instr_class_stages_array); } void PFS_host::aggregate_statements() { + if (read_instr_class_statements_stats() == NULL) + return; + /* Aggregate EVENTS_STATEMENTS_SUMMARY_BY_HOST_BY_EVENT_NAME to: - EVENTS_STATEMENTS_SUMMARY_GLOBAL_BY_EVENT_NAME */ - aggregate_all_statements(m_instr_class_statements_stats, + aggregate_all_statements(write_instr_class_statements_stats(), global_instr_class_statements_array); } +void PFS_host::aggregate_transactions() +{ + if (read_instr_class_transactions_stats() == NULL) + return; + + /* + Aggregate EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME to: + - EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME + */ + aggregate_all_transactions(write_instr_class_transactions_stats(), + &global_transaction_stat); +} + +void PFS_host::aggregate_memory(bool alive) +{ + if (read_instr_class_memory_stats() == NULL) + return; + + /* + Aggregate MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME to: + - MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME + */ + aggregate_all_memory(alive, + write_instr_class_memory_stats(), + global_instr_class_memory_array); +} + +void PFS_host::aggregate_status() +{ + /* + Aggregate STATUS_BY_HOST to: + - GLOBAL_STATUS + */ + m_status_stats.aggregate_to(& global_status_var); + m_status_stats.reset(); +} + void PFS_host::aggregate_stats() { /* No parent to aggregate to, clean the stats */ @@ -333,12 +293,24 @@ void PFS_host::release() dec_refcount(); } +void PFS_host::carry_memory_stat_delta(PFS_memory_stat_delta *delta, uint index) +{ + PFS_memory_stat *event_name_array; + PFS_memory_stat *stat; + PFS_memory_stat_delta delta_buffer; + PFS_memory_stat_delta *remaining_delta; + + event_name_array= write_instr_class_memory_stats(); + stat= & event_name_array[index]; + remaining_delta= stat->apply_delta(delta, &delta_buffer); + + if (remaining_delta != NULL) + carry_global_memory_stat_delta(remaining_delta, index); +} + PFS_host *sanitize_host(PFS_host *unsafe) { - if ((&host_array[0] <= unsafe) && - (unsafe < &host_array[host_max])) - return unsafe; - return NULL; + return global_host_container.sanitize(unsafe); } void purge_host(PFS_thread *thread, PFS_host *host) @@ -358,13 +330,33 @@ void purge_host(PFS_thread *thread, PFS_host *host) { lf_hash_delete(&host_hash, pins, host->m_key.m_hash_key, host->m_key.m_key_length); - host->m_lock.allocated_to_free(); + host->aggregate(false); + global_host_container.deallocate(host); } } lf_hash_search_unpin(pins); } +class Proc_purge_host + : public PFS_buffer_processor<PFS_host> +{ +public: + Proc_purge_host(PFS_thread *thread) + : m_thread(thread) + {} + + virtual void operator()(PFS_host *pfs) + { + pfs->aggregate(true); + if (pfs->get_refcount() == 0) + purge_host(m_thread, pfs); + } + +private: + PFS_thread *m_thread; +}; + /** Purge non connected hosts, reset stats of connected hosts. */ void purge_all_host(void) { @@ -372,18 +364,8 @@ void purge_all_host(void) if (unlikely(thread == NULL)) return; - PFS_host *pfs= host_array; - PFS_host *pfs_last= host_array + host_max; - - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - { - pfs->aggregate(); - if (pfs->get_refcount() == 0) - purge_host(thread, pfs); - } - } + Proc_purge_host proc(thread); + global_host_container.apply(proc); } /** @} */ diff --git a/storage/perfschema/pfs_host.h b/storage/perfschema/pfs_host.h index 9c039cf919f..10dfdef0c6c 100644 --- a/storage/perfschema/pfs_host.h +++ b/storage/perfschema/pfs_host.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,6 +33,7 @@ struct PFS_thread; @{ */ +/** Hash key for a host. */ struct PFS_host_key { /** @@ -44,6 +45,7 @@ struct PFS_host_key uint m_key_length; }; +/** Per host statistics. */ struct PFS_ALIGNED PFS_host : PFS_connection_slice { public: @@ -67,13 +69,18 @@ public: PFS_atomic::add_32(& m_refcount, -1); } - void aggregate(void); + void aggregate(bool alive); void aggregate_waits(void); void aggregate_stages(void); void aggregate_statements(void); + void aggregate_transactions(void); + void aggregate_memory(bool alive); + void aggregate_status(void); void aggregate_stats(void); void release(void); + void carry_memory_stat_delta(PFS_memory_stat_delta *delta, uint index); + /* Internal lock. */ pfs_lock m_lock; PFS_host_key m_key; @@ -88,7 +95,7 @@ private: int init_host(const PFS_global_param *param); void cleanup_host(void); -int init_host_hash(void); +int init_host_hash(const PFS_global_param *param); void cleanup_host_hash(void); PFS_host *find_or_create_host(PFS_thread *thread, @@ -97,14 +104,7 @@ PFS_host *find_or_create_host(PFS_thread *thread, PFS_host *sanitize_host(PFS_host *unsafe); void purge_all_host(void); -/* For iterators and show status. */ - -extern ulong host_max; -extern ulong host_lost; - -/* Exposing the data directly, for iterators. */ - -extern PFS_host *host_array; +/* For show status. */ extern LF_HASH host_hash; diff --git a/storage/perfschema/pfs_instr.cc b/storage/perfschema/pfs_instr.cc index e842aa7fa6e..cf31d6730a1 100644 --- a/storage/perfschema/pfs_instr.cc +++ b/storage/perfschema/pfs_instr.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,115 +30,45 @@ #include "pfs_account.h" #include "pfs_global.h" #include "pfs_instr_class.h" +#include "pfs_buffer_container.h" +#include "pfs_builtin_memory.h" + +ulong nested_statement_lost= 0; /** @addtogroup Performance_schema_buffers @{ */ -/** Size of the mutex instances array. @sa mutex_array */ -ulong mutex_max; -/** True when @c mutex_array is full. */ -bool mutex_full; -/** Number of mutexes instance lost. @sa mutex_array */ -ulong mutex_lost; -/** Size of the rwlock instances array. @sa rwlock_array */ -ulong rwlock_max; -/** True when @c rwlock_array is full. */ -bool rwlock_full; -/** Number or rwlock instances lost. @sa rwlock_array */ -ulong rwlock_lost; -/** Size of the conditions instances array. @sa cond_array */ -ulong cond_max; -/** True when @c cond_array is full. */ -bool cond_full; -/** Number of conditions instances lost. @sa cond_array */ -ulong cond_lost; -/** Size of the thread instances array. @sa thread_array */ -ulong thread_max; -/** True when @c thread_array is full. */ -bool thread_full; -/** Number or thread instances lost. @sa thread_array */ -ulong thread_lost; -/** Size of the file instances array. @sa file_array */ -ulong file_max; -/** True when @c file_array is full. */ -bool file_full; -/** Number of file instances lost. @sa file_array */ -ulong file_lost; /** Size of the file handle array. @sa file_handle_array. Signed value, for easier comparisons with a file descriptor number. */ -long file_handle_max; +long file_handle_max= 0; /** True when @c file_handle_array is full. */ bool file_handle_full; /** Number of file handle lost. @sa file_handle_array */ -ulong file_handle_lost; -/** Size of the table instances array. @sa table_array */ -ulong table_max; -/** True when @c table_array is full. */ -bool table_full; -/** Number of table instances lost. @sa table_array */ -ulong table_lost; -/** Size of the socket instances array. @sa socket_array */ -ulong socket_max; -/** True when @c socket_array is full. */ -bool socket_full; -/** Number of socket instances lost. @sa socket_array */ -ulong socket_lost; +ulong file_handle_lost= 0; /** Number of EVENTS_WAITS_HISTORY records per thread. */ -ulong events_waits_history_per_thread; +ulong events_waits_history_per_thread= 0; /** Number of EVENTS_STAGES_HISTORY records per thread. */ -ulong events_stages_history_per_thread; +ulong events_stages_history_per_thread= 0; /** Number of EVENTS_STATEMENTS_HISTORY records per thread. */ -ulong events_statements_history_per_thread; -uint statement_stack_max; +ulong events_statements_history_per_thread= 0; +uint statement_stack_max= 0; size_t pfs_max_digest_length= 0; +size_t pfs_max_sqltext= 0; /** Number of locker lost. @sa LOCKER_STACK_SIZE. */ ulong locker_lost= 0; -/** Number of statement lost. @sa STATEMENT_STACK_SIZE. */ +/** Number of statements lost. @sa STATEMENT_STACK_SIZE. */ ulong statement_lost= 0; /** Size of connection attribute storage per thread */ ulong session_connect_attrs_size_per_thread; /** Number of connection attributes lost */ ulong session_connect_attrs_lost= 0; -/** - Mutex instrumentation instances array. - @sa mutex_max - @sa mutex_lost -*/ -PFS_mutex *mutex_array= NULL; - -/** - RWLock instrumentation instances array. - @sa rwlock_max - @sa rwlock_lost -*/ -PFS_rwlock *rwlock_array= NULL; - -/** - Condition instrumentation instances array. - @sa cond_max - @sa cond_lost -*/ -PFS_cond *cond_array= NULL; - -/** - Thread instrumentation instances array. - @sa thread_max - @sa thread_lost -*/ -PFS_thread *thread_array= NULL; - -/** - File instrumentation instances array. - @sa file_max - @sa file_lost - @sa filename_hash -*/ -PFS_file *file_array= NULL; +/** Number of EVENTS_TRANSACTIONS_HISTORY records per thread. */ +ulong events_transactions_history_per_thread= 0; /** File instrumentation handle array. @@ -147,39 +77,11 @@ PFS_file *file_array= NULL; */ PFS_file **file_handle_array= NULL; -/** - Table instrumentation instances array. - @sa table_max - @sa table_lost -*/ -PFS_table *table_array= NULL; - -/** - Socket instrumentation instances array. - @sa socket_max - @sa socket_lost -*/ -PFS_socket *socket_array= NULL; - PFS_stage_stat *global_instr_class_stages_array= NULL; PFS_statement_stat *global_instr_class_statements_array= NULL; +PFS_memory_stat *global_instr_class_memory_array= NULL; -static volatile uint64 thread_internal_id_counter= 0; - -static uint thread_instr_class_waits_sizing; -static uint thread_instr_class_stages_sizing; -static uint thread_instr_class_statements_sizing; -static PFS_single_stat *thread_instr_class_waits_array= NULL; -static PFS_stage_stat *thread_instr_class_stages_array= NULL; -static PFS_statement_stat *thread_instr_class_statements_array= NULL; - -static PFS_events_waits *thread_waits_history_array= NULL; -static PFS_events_stages *thread_stages_history_array= NULL; -static PFS_events_statements *thread_statements_history_array= NULL; -static PFS_events_statements *thread_statements_stack_array= NULL; -static unsigned char *current_stmts_digest_token_array= NULL; -static unsigned char *history_stmts_digest_token_array= NULL; -static char *thread_session_connect_attrs_array= NULL; +static PFS_ALIGNED PFS_cacheline_uint64 thread_internal_id_counter; /** Hash table for instrumented files. */ LF_HASH filename_hash; @@ -193,291 +95,76 @@ static bool filename_hash_inited= false; */ int init_instruments(const PFS_global_param *param) { - PFS_events_statements *pfs_stmt; - unsigned char *pfs_tokens; - - uint thread_waits_history_sizing; - uint thread_stages_history_sizing; - uint thread_statements_history_sizing; - uint thread_statements_stack_sizing; - uint thread_session_connect_attrs_sizing; uint index; /* Make sure init_event_name_sizing is called */ DBUG_ASSERT(wait_class_max != 0); - mutex_max= param->m_mutex_sizing; - mutex_full= false; - mutex_lost= 0; - rwlock_max= param->m_rwlock_sizing; - rwlock_full= false; - rwlock_lost= 0; - cond_max= param->m_cond_sizing; - cond_full= false; - cond_lost= 0; - file_max= param->m_file_sizing; - file_full= false; - file_lost= 0; file_handle_max= param->m_file_handle_sizing; file_handle_full= false; file_handle_lost= 0; pfs_max_digest_length= param->m_max_digest_length; - - table_max= param->m_table_sizing; - table_full= false; - table_lost= 0; - thread_max= param->m_thread_sizing; - thread_full= false; - thread_lost= 0; - socket_max= param->m_socket_sizing; - socket_full= false; - socket_lost= 0; + pfs_max_sqltext= param->m_max_sql_text_length; events_waits_history_per_thread= param->m_events_waits_history_sizing; - thread_waits_history_sizing= param->m_thread_sizing - * events_waits_history_per_thread; - - thread_instr_class_waits_sizing= param->m_thread_sizing - * wait_class_max; events_stages_history_per_thread= param->m_events_stages_history_sizing; - thread_stages_history_sizing= param->m_thread_sizing - * events_stages_history_per_thread; events_statements_history_per_thread= param->m_events_statements_history_sizing; - thread_statements_history_sizing= param->m_thread_sizing - * events_statements_history_per_thread; - - statement_stack_max= 1; - thread_statements_stack_sizing= param->m_thread_sizing * statement_stack_max; - thread_instr_class_stages_sizing= param->m_thread_sizing - * param->m_stage_class_sizing; + statement_stack_max= param->m_statement_stack_sizing; - thread_instr_class_statements_sizing= param->m_thread_sizing - * param->m_statement_class_sizing; + events_transactions_history_per_thread= param->m_events_transactions_history_sizing; session_connect_attrs_size_per_thread= param->m_session_connect_attrs_sizing; - thread_session_connect_attrs_sizing= param->m_thread_sizing - * session_connect_attrs_size_per_thread; session_connect_attrs_lost= 0; - size_t current_digest_tokens_sizing= param->m_thread_sizing * pfs_max_digest_length * statement_stack_max; - size_t history_digest_tokens_sizing= param->m_thread_sizing * pfs_max_digest_length * events_statements_history_per_thread; - - mutex_array= NULL; - rwlock_array= NULL; - cond_array= NULL; - file_array= NULL; file_handle_array= NULL; - table_array= NULL; - socket_array= NULL; - thread_array= NULL; - thread_waits_history_array= NULL; - thread_stages_history_array= NULL; - thread_statements_history_array= NULL; - thread_statements_stack_array= NULL; - current_stmts_digest_token_array= NULL; - history_stmts_digest_token_array= NULL; - thread_instr_class_waits_array= NULL; - thread_instr_class_stages_array= NULL; - thread_instr_class_statements_array= NULL; - thread_internal_id_counter= 0; - - if (mutex_max > 0) - { - mutex_array= PFS_MALLOC_ARRAY(mutex_max, sizeof(PFS_mutex), PFS_mutex, MYF(MY_ZEROFILL)); - if (unlikely(mutex_array == NULL)) - return 1; - } - - if (rwlock_max > 0) - { - rwlock_array= PFS_MALLOC_ARRAY(rwlock_max, sizeof(PFS_rwlock), PFS_rwlock, MYF(MY_ZEROFILL)); - if (unlikely(rwlock_array == NULL)) - return 1; - } - - if (cond_max > 0) - { - cond_array= PFS_MALLOC_ARRAY(cond_max, sizeof(PFS_cond), PFS_cond, MYF(MY_ZEROFILL)); - if (unlikely(cond_array == NULL)) - return 1; - } - - if (file_max > 0) - { - file_array= PFS_MALLOC_ARRAY(file_max, sizeof(PFS_file), PFS_file, MYF(MY_ZEROFILL)); - if (unlikely(file_array == NULL)) - return 1; - } - - if (file_handle_max > 0) - { - file_handle_array= PFS_MALLOC_ARRAY(file_handle_max, sizeof(PFS_file*), PFS_file*, MYF(MY_ZEROFILL)); - if (unlikely(file_handle_array == NULL)) - return 1; - } - - if (table_max > 0) - { - table_array= PFS_MALLOC_ARRAY(table_max, sizeof(PFS_table), PFS_table, MYF(MY_ZEROFILL)); - if (unlikely(table_array == NULL)) - return 1; - } - - if (socket_max > 0) - { - socket_array= PFS_MALLOC_ARRAY(socket_max, sizeof(PFS_socket), PFS_socket, MYF(MY_ZEROFILL)); - if (unlikely(socket_array == NULL)) - return 1; - } - - if (thread_max > 0) - { - thread_array= PFS_MALLOC_ARRAY(thread_max, sizeof(PFS_thread), PFS_thread, MYF(MY_ZEROFILL)); - if (unlikely(thread_array == NULL)) - return 1; - } - - if (thread_waits_history_sizing > 0) - { - thread_waits_history_array= - PFS_MALLOC_ARRAY(thread_waits_history_sizing, sizeof(PFS_events_waits), PFS_events_waits, - MYF(MY_ZEROFILL)); - if (unlikely(thread_waits_history_array == NULL)) - return 1; - } - - if (thread_instr_class_waits_sizing > 0) - { - thread_instr_class_waits_array= - PFS_MALLOC_ARRAY(thread_instr_class_waits_sizing, - sizeof(PFS_single_stat), PFS_single_stat, MYF(MY_ZEROFILL)); - if (unlikely(thread_instr_class_waits_array == NULL)) - return 1; - - for (index= 0; index < thread_instr_class_waits_sizing; index++) - thread_instr_class_waits_array[index].reset(); - } - - if (thread_stages_history_sizing > 0) - { - thread_stages_history_array= - PFS_MALLOC_ARRAY(thread_stages_history_sizing, sizeof(PFS_events_stages), PFS_events_stages, - MYF(MY_ZEROFILL)); - if (unlikely(thread_stages_history_array == NULL)) - return 1; - } - - if (thread_instr_class_stages_sizing > 0) - { - thread_instr_class_stages_array= - PFS_MALLOC_ARRAY(thread_instr_class_stages_sizing, - sizeof(PFS_stage_stat), PFS_stage_stat, MYF(MY_ZEROFILL)); - if (unlikely(thread_instr_class_stages_array == NULL)) - return 1; - for (index= 0; index < thread_instr_class_stages_sizing; index++) - thread_instr_class_stages_array[index].reset(); - } + thread_internal_id_counter.m_u64= 0; - if (thread_statements_history_sizing > 0) - { - thread_statements_history_array= - PFS_MALLOC_ARRAY(thread_statements_history_sizing, sizeof(PFS_events_statements), - PFS_events_statements, MYF(MY_ZEROFILL)); - if (unlikely(thread_statements_history_array == NULL)) - return 1; - } + if (global_mutex_container.init(param->m_mutex_sizing)) + return 1; - if (thread_statements_stack_sizing > 0) - { - thread_statements_stack_array= - PFS_MALLOC_ARRAY(thread_statements_stack_sizing, sizeof(PFS_events_statements), - PFS_events_statements, MYF(MY_ZEROFILL)); - if (unlikely(thread_statements_stack_array == NULL)) - return 1; - } + if (global_rwlock_container.init(param->m_rwlock_sizing)) + return 1; - if (thread_instr_class_statements_sizing > 0) - { - thread_instr_class_statements_array= - PFS_MALLOC_ARRAY(thread_instr_class_statements_sizing, - sizeof(PFS_statement_stat), PFS_statement_stat, MYF(MY_ZEROFILL)); - if (unlikely(thread_instr_class_statements_array == NULL)) - return 1; - - for (index= 0; index < thread_instr_class_statements_sizing; index++) - thread_instr_class_statements_array[index].reset(); - } + if (global_cond_container.init(param->m_cond_sizing)) + return 1; - if (thread_session_connect_attrs_sizing > 0) - { - thread_session_connect_attrs_array= - (char *)pfs_malloc(thread_session_connect_attrs_sizing, MYF(MY_ZEROFILL)); - if (unlikely(thread_session_connect_attrs_array == NULL)) - return 1; - } - - if (current_digest_tokens_sizing > 0) - { - current_stmts_digest_token_array= - (unsigned char *)pfs_malloc(current_digest_tokens_sizing, MYF(MY_ZEROFILL)); - if (unlikely(current_stmts_digest_token_array == NULL)) - return 1; - } + if (global_file_container.init(param->m_file_sizing)) + return 1; - if (history_digest_tokens_sizing > 0) + if (file_handle_max > 0) { - history_stmts_digest_token_array= - (unsigned char *)pfs_malloc(history_digest_tokens_sizing, MYF(MY_ZEROFILL)); - if (unlikely(history_stmts_digest_token_array == NULL)) + file_handle_array= PFS_MALLOC_ARRAY(& builtin_memory_file_handle, + file_handle_max, + sizeof(PFS_file*), PFS_file*, + MYF(MY_ZEROFILL)); + if (unlikely(file_handle_array == NULL)) return 1; } - for (index= 0; index < thread_max; index++) - { - thread_array[index].m_waits_history= - &thread_waits_history_array[index * events_waits_history_per_thread]; - thread_array[index].m_instr_class_waits_stats= - &thread_instr_class_waits_array[index * wait_class_max]; - thread_array[index].m_stages_history= - &thread_stages_history_array[index * events_stages_history_per_thread]; - thread_array[index].m_instr_class_stages_stats= - &thread_instr_class_stages_array[index * stage_class_max]; - thread_array[index].m_statements_history= - &thread_statements_history_array[index * events_statements_history_per_thread]; - thread_array[index].m_statement_stack= - &thread_statements_stack_array[index * statement_stack_max]; - thread_array[index].m_instr_class_statements_stats= - &thread_instr_class_statements_array[index * statement_class_max]; - thread_array[index].m_session_connect_attrs= - &thread_session_connect_attrs_array[index * session_connect_attrs_size_per_thread]; - } - - for (index= 0; index < thread_statements_stack_sizing; index++) - { - pfs_stmt= & thread_statements_stack_array[index]; + if (global_table_container.init(param->m_table_sizing)) + return 1; - pfs_tokens= & current_stmts_digest_token_array[index * pfs_max_digest_length]; - pfs_stmt->m_digest_storage.reset(pfs_tokens, pfs_max_digest_length); - } + if (global_socket_container.init(param->m_socket_sizing)) + return 1; - for (index= 0; index < thread_statements_history_sizing; index++) - { - pfs_stmt= & thread_statements_history_array[index]; + if (global_mdl_container.init(param->m_metadata_lock_sizing)) + return 1; - pfs_tokens= & history_stmts_digest_token_array[index * pfs_max_digest_length]; - pfs_stmt->m_digest_storage.reset(pfs_tokens, pfs_max_digest_length); - } + if (global_thread_container.init(param->m_thread_sizing)) + return 1; if (stage_class_max > 0) { global_instr_class_stages_array= - PFS_MALLOC_ARRAY(stage_class_max, - sizeof(PFS_stage_stat), PFS_stage_stat, MYF(MY_ZEROFILL)); + PFS_MALLOC_ARRAY(& builtin_memory_global_stages, + stage_class_max, + sizeof(PFS_stage_stat), PFS_stage_stat, + MYF(MY_ZEROFILL)); if (unlikely(global_instr_class_stages_array == NULL)) return 1; @@ -488,8 +175,10 @@ int init_instruments(const PFS_global_param *param) if (statement_class_max > 0) { global_instr_class_statements_array= - PFS_MALLOC_ARRAY(statement_class_max, - sizeof(PFS_statement_stat), PFS_statement_stat, MYF(MY_ZEROFILL)); + PFS_MALLOC_ARRAY(& builtin_memory_global_statements, + statement_class_max, + sizeof(PFS_statement_stat), PFS_statement_stat, + MYF(MY_ZEROFILL)); if (unlikely(global_instr_class_statements_array == NULL)) return 1; @@ -497,56 +186,59 @@ int init_instruments(const PFS_global_param *param) global_instr_class_statements_array[index].reset(); } + if (memory_class_max > 0) + { + global_instr_class_memory_array= + PFS_MALLOC_ARRAY(& builtin_memory_global_memory, + memory_class_max, + sizeof(PFS_memory_stat), PFS_memory_stat, + MYF(MY_ZEROFILL)); + if (unlikely(global_instr_class_memory_array == NULL)) + return 1; + + for (index= 0; index < memory_class_max; index++) + global_instr_class_memory_array[index].reset(); + } + return 0; } /** Cleanup all the instruments buffers. */ void cleanup_instruments(void) { - pfs_free(mutex_array); - mutex_array= NULL; - mutex_max= 0; - pfs_free(rwlock_array); - rwlock_array= NULL; - rwlock_max= 0; - pfs_free(cond_array); - cond_array= NULL; - cond_max= 0; - pfs_free(file_array); - file_array= NULL; - file_max= 0; - pfs_free(file_handle_array); + global_mutex_container.cleanup(); + global_rwlock_container.cleanup(); + global_cond_container.cleanup(); + global_file_container.cleanup(); + + PFS_FREE_ARRAY(& builtin_memory_file_handle, + file_handle_max, sizeof(PFS_file*), + file_handle_array); file_handle_array= NULL; file_handle_max= 0; - pfs_free(table_array); - table_array= NULL; - table_max= 0; - pfs_free(socket_array); - socket_array= NULL; - socket_max= 0; - pfs_free(thread_array); - thread_array= NULL; - thread_max= 0; - pfs_free(thread_waits_history_array); - thread_waits_history_array= NULL; - pfs_free(thread_stages_history_array); - thread_stages_history_array= NULL; - pfs_free(thread_statements_history_array); - thread_statements_history_array= NULL; - pfs_free(thread_statements_stack_array); - thread_statements_stack_array= NULL; - pfs_free(thread_instr_class_waits_array); - thread_instr_class_waits_array= NULL; - pfs_free(global_instr_class_stages_array); + + global_table_container.cleanup(); + global_socket_container.cleanup(); + global_mdl_container.cleanup(); + global_thread_container.cleanup(); + + PFS_FREE_ARRAY(& builtin_memory_global_stages, + stage_class_max, + sizeof(PFS_stage_stat), + global_instr_class_stages_array); global_instr_class_stages_array= NULL; - pfs_free(global_instr_class_statements_array); + + PFS_FREE_ARRAY(& builtin_memory_global_statements, + statement_class_max, + sizeof(PFS_statement_stat), + global_instr_class_statements_array); global_instr_class_statements_array= NULL; - pfs_free(thread_session_connect_attrs_array); - thread_session_connect_attrs_array=NULL; - pfs_free(current_stmts_digest_token_array); - current_stmts_digest_token_array= NULL; - pfs_free(history_stmts_digest_token_array); - history_stmts_digest_token_array= NULL; + + PFS_FREE_ARRAY(& builtin_memory_global_memory, + memory_class_max, + sizeof(PFS_memory_stat), + global_instr_class_memory_array); + global_instr_class_memory_array= NULL; } C_MODE_START @@ -571,13 +263,12 @@ C_MODE_END Initialize the file name hash. @return 0 on success */ -int init_file_hash(void) +int init_file_hash(const PFS_global_param *param) { - if ((! filename_hash_inited) && (file_max > 0)) + if ((! filename_hash_inited) && (param->m_file_sizing != 0)) { lf_hash_init(&filename_hash, sizeof(PFS_file*), LF_HASH_UNIQUE, 0, 0, filename_hash_get_key, &my_charset_bin); - filename_hash.size= file_max; filename_hash_inited= true; } return 0; @@ -593,75 +284,6 @@ void cleanup_file_hash(void) } } -void PFS_scan::init(uint random, uint max_size) -{ - m_pass= 0; - - if (max_size == 0) - { - /* Degenerated case, no buffer */ - m_pass_max= 0; - return; - } - - DBUG_ASSERT(random < max_size); - - if (PFS_MAX_ALLOC_RETRY < max_size) - { - /* - The buffer is big compared to PFS_MAX_ALLOC_RETRY, - scan it only partially. - */ - if (random + PFS_MAX_ALLOC_RETRY < max_size) - { - /* - Pass 1: [random, random + PFS_MAX_ALLOC_RETRY - 1] - Pass 2: not used. - */ - m_pass_max= 1; - m_first[0]= random; - m_last[0]= random + PFS_MAX_ALLOC_RETRY; - m_first[1]= 0; - m_last[1]= 0; - } - else - { - /* - Pass 1: [random, max_size - 1] - Pass 2: [0, ...] - The combined length of pass 1 and 2 is PFS_MAX_ALLOC_RETRY. - */ - m_pass_max= 2; - m_first[0]= random; - m_last[0]= max_size; - m_first[1]= 0; - m_last[1]= PFS_MAX_ALLOC_RETRY - (max_size - random); - } - } - else - { - /* - The buffer is small compared to PFS_MAX_ALLOC_RETRY, - scan it in full in two passes. - Pass 1: [random, max_size - 1] - Pass 2: [0, random - 1] - */ - m_pass_max= 2; - m_first[0]= random; - m_last[0]= max_size; - m_first[1]= 0; - m_last[1]= random; - } - - DBUG_ASSERT(m_first[0] < max_size); - DBUG_ASSERT(m_first[1] < max_size); - DBUG_ASSERT(m_last[1] <= max_size); - DBUG_ASSERT(m_last[1] <= max_size); - /* The combined length of all passes should not exceed PFS_MAX_ALLOC_RETRY. */ - DBUG_ASSERT((m_last[0] - m_first[0]) + - (m_last[1] - m_first[1]) <= PFS_MAX_ALLOC_RETRY); -} - /** Create instrumentation for a mutex instance. @param klass the mutex class @@ -670,76 +292,25 @@ void PFS_scan::init(uint random, uint max_size) */ PFS_mutex* create_mutex(PFS_mutex_class *klass, const void *identity) { - static uint PFS_ALIGNED mutex_monotonic_index= 0; - uint index; - uint attempts= 0; PFS_mutex *pfs; + pfs_dirty_state dirty_state; - if (mutex_full) + pfs= global_mutex_container.allocate(& dirty_state, klass->m_volatility); + if (pfs != NULL) { - /* - This is a safety plug. - When mutex_array is severely undersized, - do not spin to death for each call. - */ - mutex_lost++; - return NULL; - } - - while (++attempts <= mutex_max) - { - /* - Problem: - Multiple threads running concurrently may need to create a new - instrumented mutex, and find an empty slot in mutex_array[]. - With N1 threads running on a N2 core hardware: - - up to N2 hardware threads can run concurrently, - causing contention if looking at the same array[i] slot. - - up to N1 threads can run almost concurrently (with thread scheduling), - scanning maybe overlapping regions in the [0-mutex_max] array. - - Solution: - Instead of letting different threads compete on the same array[i] entry, - this code forces all threads to cooperate with the monotonic_index. - Only one thread will be allowed to test a given array[i] slot. - All threads do scan from the same region, starting at monotonic_index. - Serializing on monotonic_index ensures that when a slot is found occupied - in a given loop by a given thread, other threads will not attempt this - slot. - */ - index= PFS_atomic::add_u32(& mutex_monotonic_index, 1) % mutex_max; - pfs= mutex_array + index; - - if (pfs->m_lock.is_free()) - { - if (pfs->m_lock.free_to_dirty()) - { - pfs->m_identity= identity; - pfs->m_class= klass; - pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; - pfs->m_timed= klass->m_timed; - pfs->m_mutex_stat.reset(); - pfs->m_owner= NULL; - pfs->m_last_locked= 0; - pfs->m_lock.dirty_to_allocated(); - if (klass->is_singleton()) - klass->m_singleton= pfs; - return pfs; - } - } + pfs->m_identity= identity; + pfs->m_class= klass; + pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; + pfs->m_timed= klass->m_timed; + pfs->m_mutex_stat.reset(); + pfs->m_owner= NULL; + pfs->m_last_locked= 0; + pfs->m_lock.dirty_to_allocated(& dirty_state); + if (klass->is_singleton()) + klass->m_singleton= pfs; } - mutex_lost++; - /* - Race condition. - The mutex_array might not be full if a concurrent thread - called destroy_mutex() during the scan, leaving one - empty slot we did not find. - However, 99.999 percent full tables or 100 percent full tables - are treated the same here, we declare the array overloaded. - */ - mutex_full= true; - return NULL; + return pfs; } /** @@ -755,8 +326,8 @@ void destroy_mutex(PFS_mutex *pfs) pfs->m_mutex_stat.reset(); if (klass->is_singleton()) klass->m_singleton= NULL; - pfs->m_lock.allocated_to_free(); - mutex_full= false; + + global_mutex_container.deallocate(pfs); } /** @@ -767,47 +338,27 @@ void destroy_mutex(PFS_mutex *pfs) */ PFS_rwlock* create_rwlock(PFS_rwlock_class *klass, const void *identity) { - static uint PFS_ALIGNED rwlock_monotonic_index= 0; - uint index; - uint attempts= 0; PFS_rwlock *pfs; + pfs_dirty_state dirty_state; - if (rwlock_full) - { - rwlock_lost++; - return NULL; - } - - while (++attempts <= rwlock_max) + pfs= global_rwlock_container.allocate(& dirty_state); + if (pfs != NULL) { - /* See create_mutex() */ - index= PFS_atomic::add_u32(& rwlock_monotonic_index, 1) % rwlock_max; - pfs= rwlock_array + index; - - if (pfs->m_lock.is_free()) - { - if (pfs->m_lock.free_to_dirty()) - { - pfs->m_identity= identity; - pfs->m_class= klass; - pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; - pfs->m_timed= klass->m_timed; - pfs->m_rwlock_stat.reset(); - pfs->m_lock.dirty_to_allocated(); - pfs->m_writer= NULL; - pfs->m_readers= 0; - pfs->m_last_written= 0; - pfs->m_last_read= 0; - if (klass->is_singleton()) - klass->m_singleton= pfs; - return pfs; - } - } + pfs->m_identity= identity; + pfs->m_class= klass; + pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; + pfs->m_timed= klass->m_timed; + pfs->m_rwlock_stat.reset(); + pfs->m_writer= NULL; + pfs->m_readers= 0; + pfs->m_last_written= 0; + pfs->m_last_read= 0; + pfs->m_lock.dirty_to_allocated(& dirty_state); + if (klass->is_singleton()) + klass->m_singleton= pfs; } - rwlock_lost++; - rwlock_full= true; - return NULL; + return pfs; } /** @@ -823,8 +374,8 @@ void destroy_rwlock(PFS_rwlock *pfs) pfs->m_rwlock_stat.reset(); if (klass->is_singleton()) klass->m_singleton= NULL; - pfs->m_lock.allocated_to_free(); - rwlock_full= false; + + global_rwlock_container.deallocate(pfs); } /** @@ -835,45 +386,23 @@ void destroy_rwlock(PFS_rwlock *pfs) */ PFS_cond* create_cond(PFS_cond_class *klass, const void *identity) { - static uint PFS_ALIGNED cond_monotonic_index= 0; - uint index; - uint attempts= 0; PFS_cond *pfs; + pfs_dirty_state dirty_state; - if (cond_full) - { - cond_lost++; - return NULL; - } - - while (++attempts <= cond_max) + pfs= global_cond_container.allocate(& dirty_state); + if (pfs != NULL) { - /* See create_mutex() */ - index= PFS_atomic::add_u32(& cond_monotonic_index, 1) % cond_max; - pfs= cond_array + index; - - if (pfs->m_lock.is_free()) - { - if (pfs->m_lock.free_to_dirty()) - { - pfs->m_identity= identity; - pfs->m_class= klass; - pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; - pfs->m_timed= klass->m_timed; - pfs->m_cond_stat.m_signal_count= 0; - pfs->m_cond_stat.m_broadcast_count= 0; - pfs->m_wait_stat.reset(); - pfs->m_lock.dirty_to_allocated(); - if (klass->is_singleton()) - klass->m_singleton= pfs; - return pfs; - } - } + pfs->m_identity= identity; + pfs->m_class= klass; + pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; + pfs->m_timed= klass->m_timed; + pfs->m_cond_stat.reset(); + pfs->m_lock.dirty_to_allocated(& dirty_state); + if (klass->is_singleton()) + klass->m_singleton= pfs; } - cond_lost++; - cond_full= true; - return NULL; + return pfs; } /** @@ -886,17 +415,16 @@ void destroy_cond(PFS_cond *pfs) PFS_cond_class *klass= pfs->m_class; /* Aggregate to EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME */ klass->m_cond_stat.aggregate(& pfs->m_cond_stat); - pfs->m_wait_stat.reset(); + pfs->m_cond_stat.reset(); if (klass->is_singleton()) klass->m_singleton= NULL; - pfs->m_lock.allocated_to_free(); - cond_full= false; + + global_cond_container.deallocate(pfs); } PFS_thread* PFS_thread::get_current_thread() { - PFS_thread *pfs= my_pthread_getspecific_ptr(PFS_thread*, THR_PFS); - return pfs; + return static_cast<PFS_thread*>(my_get_thread_local(THR_PFS)); } void PFS_thread::reset_session_connect_attrs() @@ -912,6 +440,64 @@ void PFS_thread::reset_session_connect_attrs() } } +void PFS_thread::set_history_derived_flags() +{ + if (m_history) + { + m_flag_events_waits_history= flag_events_waits_history; + m_flag_events_waits_history_long= flag_events_waits_history_long; + m_flag_events_stages_history= flag_events_stages_history; + m_flag_events_stages_history_long= flag_events_stages_history_long; + m_flag_events_statements_history= flag_events_statements_history; + m_flag_events_statements_history_long= flag_events_statements_history_long; + m_flag_events_transactions_history= flag_events_transactions_history; + m_flag_events_transactions_history_long= flag_events_transactions_history_long; + } + else + { + m_flag_events_waits_history= false; + m_flag_events_waits_history_long= false; + m_flag_events_stages_history= false; + m_flag_events_stages_history_long= false; + m_flag_events_statements_history= false; + m_flag_events_statements_history_long= false; + m_flag_events_transactions_history= false; + m_flag_events_transactions_history_long= false; + } +} + +void PFS_thread::carry_memory_stat_delta(PFS_memory_stat_delta *delta, uint index) +{ + if (m_account != NULL) + { + m_account->carry_memory_stat_delta(delta, index); + return; + } + + if (m_user != NULL) + { + m_user->carry_memory_stat_delta(delta, index); + /* do not return, need to process m_host below */ + } + + if (m_host != NULL) + { + m_host->carry_memory_stat_delta(delta, index); + return; + } + + carry_global_memory_stat_delta(delta, index); +} + +void carry_global_memory_stat_delta(PFS_memory_stat_delta *delta, uint index) +{ + PFS_memory_stat *stat; + PFS_memory_stat_delta delta_buffer; + + stat= & global_instr_class_memory_array[index]; + (void) stat->apply_delta(delta, &delta_buffer); +} + /** Create instrumentation for a thread instance. @param klass the thread class @@ -924,158 +510,101 @@ void PFS_thread::reset_session_connect_attrs() PFS_thread* create_thread(PFS_thread_class *klass, const void *identity, ulonglong processlist_id) { - static uint PFS_ALIGNED thread_monotonic_index= 0; - uint index; - uint attempts= 0; PFS_thread *pfs; + pfs_dirty_state dirty_state; + + pfs= global_thread_container.allocate(& dirty_state); + if (pfs != NULL) + { + pfs->m_thread_internal_id= + PFS_atomic::add_u64(&thread_internal_id_counter.m_u64, 1); + pfs->m_parent_thread_internal_id= 0; + pfs->m_processlist_id= static_cast<ulong>(processlist_id); + pfs->m_thread_os_id= 0; + pfs->m_event_id= 1; + pfs->m_stmt_lock.set_allocated(); + pfs->m_session_lock.set_allocated(); + pfs->set_enabled(true); + pfs->set_history(true); + pfs->m_class= klass; + pfs->m_events_waits_current= & pfs->m_events_waits_stack[WAIT_STACK_BOTTOM]; + pfs->m_waits_history_full= false; + pfs->m_waits_history_index= 0; + pfs->m_stages_history_full= false; + pfs->m_stages_history_index= 0; + pfs->m_statements_history_full= false; + pfs->m_statements_history_index= 0; + pfs->m_transactions_history_full= false; + pfs->m_transactions_history_index= 0; + + pfs->reset_stats(); + pfs->reset_session_connect_attrs(); - if (thread_full) - { - thread_lost++; - return NULL; - } + pfs->m_filename_hash_pins= NULL; + pfs->m_table_share_hash_pins= NULL; + pfs->m_setup_actor_hash_pins= NULL; + pfs->m_setup_object_hash_pins= NULL; + pfs->m_user_hash_pins= NULL; + pfs->m_account_hash_pins= NULL; + pfs->m_host_hash_pins= NULL; + pfs->m_digest_hash_pins= NULL; + pfs->m_program_hash_pins= NULL; + + pfs->m_username_length= 0; + pfs->m_hostname_length= 0; + pfs->m_dbname_length= 0; + pfs->m_command= 0; + pfs->m_start_time= 0; + pfs->m_stage= 0; + pfs->m_stage_progress= NULL; + pfs->m_processlist_info[0]= '\0'; + pfs->m_processlist_info_length= 0; + pfs->m_connection_type= NO_VIO_TYPE; + + pfs->m_thd= NULL; + pfs->m_host= NULL; + pfs->m_user= NULL; + pfs->m_account= NULL; + set_thread_account(pfs); - while (++attempts <= thread_max) - { - /* See create_mutex() */ - index= PFS_atomic::add_u32(& thread_monotonic_index, 1) % thread_max; - pfs= thread_array + index; + /* + For child waits, by default, + - NESTING_EVENT_ID is NULL + - NESTING_EVENT_TYPE is NULL + */ + PFS_events_waits *child_wait= & pfs->m_events_waits_stack[0]; + child_wait->m_event_id= 0; - if (pfs->m_lock.is_free()) - { - if (pfs->m_lock.free_to_dirty()) - { - pfs->m_thread_internal_id= - PFS_atomic::add_u64(&thread_internal_id_counter, 1); - pfs->m_parent_thread_internal_id= 0; - pfs->m_processlist_id= processlist_id; - pfs->m_event_id= 1; - pfs->m_stmt_lock.set_allocated(); - pfs->m_session_lock.set_allocated(); - pfs->m_enabled= true; - pfs->m_class= klass; - pfs->m_events_waits_current= & pfs->m_events_waits_stack[WAIT_STACK_BOTTOM]; - pfs->m_waits_history_full= false; - pfs->m_waits_history_index= 0; - pfs->m_stages_history_full= false; - pfs->m_stages_history_index= 0; - pfs->m_statements_history_full= false; - pfs->m_statements_history_index= 0; - - pfs->reset_stats(); - pfs->reset_session_connect_attrs(); - - pfs->m_filename_hash_pins= NULL; - pfs->m_table_share_hash_pins= NULL; - pfs->m_setup_actor_hash_pins= NULL; - pfs->m_setup_object_hash_pins= NULL; - pfs->m_user_hash_pins= NULL; - pfs->m_account_hash_pins= NULL; - pfs->m_host_hash_pins= NULL; - pfs->m_digest_hash_pins= NULL; - - pfs->m_username_length= 0; - pfs->m_hostname_length= 0; - pfs->m_dbname_length= 0; - pfs->m_command= 0; - pfs->m_start_time= 0; - pfs->m_stage= 0; - pfs->m_processlist_info[0]= '\0'; - pfs->m_processlist_info_length= 0; - - pfs->m_host= NULL; - pfs->m_user= NULL; - pfs->m_account= NULL; - set_thread_account(pfs); - - PFS_events_waits *child_wait; - for (index= 0; index < WAIT_STACK_SIZE; index++) - { - child_wait= & pfs->m_events_waits_stack[index]; - child_wait->m_thread_internal_id= pfs->m_thread_internal_id; - child_wait->m_event_id= 0; - child_wait->m_end_event_id= 0; - child_wait->m_event_type= EVENT_TYPE_STATEMENT; - child_wait->m_wait_class= NO_WAIT_CLASS; - } - - PFS_events_stages *child_stage= & pfs->m_stage_current; - child_stage->m_thread_internal_id= pfs->m_thread_internal_id; - child_stage->m_event_id= 0; - child_stage->m_end_event_id= 0; - child_stage->m_event_type= EVENT_TYPE_STATEMENT; - child_stage->m_class= NULL; - child_stage->m_timer_start= 0; - child_stage->m_timer_end= 0; - child_stage->m_source_file= NULL; - child_stage->m_source_line= 0; - - PFS_events_statements *child_statement; - for (index= 0; index < statement_stack_max; index++) - { - child_statement= & pfs->m_statement_stack[index]; - child_statement->m_thread_internal_id= pfs->m_thread_internal_id; - child_statement->m_event_id= 0; - child_statement->m_end_event_id= 0; - child_statement->m_event_type= EVENT_TYPE_STATEMENT; - child_statement->m_class= NULL; - child_statement->m_timer_start= 0; - child_statement->m_timer_end= 0; - child_statement->m_lock_time= 0; - child_statement->m_source_file= NULL; - child_statement->m_source_line= 0; - child_statement->m_current_schema_name_length= 0; - child_statement->m_sqltext_length= 0; - - child_statement->m_message_text[0]= '\0'; - child_statement->m_sql_errno= 0; - child_statement->m_sqlstate[0]= '\0'; - child_statement->m_error_count= 0; - child_statement->m_warning_count= 0; - child_statement->m_rows_affected= 0; - - child_statement->m_rows_sent= 0; - child_statement->m_rows_examined= 0; - child_statement->m_created_tmp_disk_tables= 0; - child_statement->m_created_tmp_tables= 0; - child_statement->m_select_full_join= 0; - child_statement->m_select_full_range_join= 0; - child_statement->m_select_range= 0; - child_statement->m_select_range_check= 0; - child_statement->m_select_scan= 0; - child_statement->m_sort_merge_passes= 0; - child_statement->m_sort_range= 0; - child_statement->m_sort_rows= 0; - child_statement->m_sort_scan= 0; - child_statement->m_no_index_used= 0; - child_statement->m_no_good_index_used= 0; - } - pfs->m_events_statements_count= 0; - - pfs->m_lock.dirty_to_allocated(); - return pfs; - } - } + /* + For child stages, by default, + - NESTING_EVENT_ID is NULL + - NESTING_EVENT_TYPE is NULL + */ + PFS_events_stages *child_stage= & pfs->m_stage_current; + child_stage->m_nesting_event_id= 0; + + pfs->m_events_statements_count= 0; + pfs->m_transaction_current.m_event_id= 0; + + pfs->m_lock.dirty_to_allocated(& dirty_state); } - thread_lost++; - thread_full= true; - return NULL; + return pfs; } PFS_mutex *sanitize_mutex(PFS_mutex *unsafe) { - SANITIZE_ARRAY_BODY(PFS_mutex, mutex_array, mutex_max, unsafe); + return global_mutex_container.sanitize(unsafe); } PFS_rwlock *sanitize_rwlock(PFS_rwlock *unsafe) { - SANITIZE_ARRAY_BODY(PFS_rwlock, rwlock_array, rwlock_max, unsafe); + return global_rwlock_container.sanitize(unsafe); } PFS_cond *sanitize_cond(PFS_cond *unsafe) { - SANITIZE_ARRAY_BODY(PFS_cond, cond_array, cond_max, unsafe); + return global_cond_container.sanitize(unsafe); } /** @@ -1089,17 +618,22 @@ PFS_cond *sanitize_cond(PFS_cond *unsafe) */ PFS_thread *sanitize_thread(PFS_thread *unsafe) { - SANITIZE_ARRAY_BODY(PFS_thread, thread_array, thread_max, unsafe); + return global_thread_container.sanitize(unsafe); } PFS_file *sanitize_file(PFS_file *unsafe) { - SANITIZE_ARRAY_BODY(PFS_file, file_array, file_max, unsafe); + return global_file_container.sanitize(unsafe); } PFS_socket *sanitize_socket(PFS_socket *unsafe) { - SANITIZE_ARRAY_BODY(PFS_socket, socket_array, socket_max, unsafe); + return global_socket_container.sanitize(unsafe); +} + +PFS_metadata_lock *sanitize_metadata_lock(PFS_metadata_lock *unsafe) +{ + return global_mdl_container.sanitize(unsafe); } /** @@ -1170,12 +704,16 @@ void destroy_thread(PFS_thread *pfs) lf_hash_put_pins(pfs->m_digest_hash_pins); pfs->m_digest_hash_pins= NULL; } - pfs->m_lock.allocated_to_free(); - thread_full= false; + if (pfs->m_program_hash_pins) + { + lf_hash_put_pins(pfs->m_program_hash_pins); + pfs->m_program_hash_pins= NULL; + } + global_thread_container.deallocate(pfs); } /** - Get the hash pins for @filename_hash. + Get the hash pins for @c filename_hash. @param thread The running thread. @returns The LF_HASH pins for the thread. */ @@ -1210,7 +748,7 @@ find_or_create_file(PFS_thread *thread, PFS_file_class *klass, LF_PINS *pins= get_filename_hash_pins(thread); if (unlikely(pins == NULL)) { - file_lost++; + global_file_container.m_lost++; return NULL; } @@ -1261,7 +799,7 @@ find_or_create_file(PFS_thread *thread, PFS_file_class *klass, char dirbuffer[FN_REFLEN]; size_t dirlen; const char *normalized_filename; - int normalized_length; + uint normalized_length; dirlen= dirname_length(safe_filename); if (dirlen == 0) @@ -1278,7 +816,7 @@ find_or_create_file(PFS_thread *thread, PFS_file_class *klass, if (my_realpath(buffer, dirbuffer, MYF(0)) != 0) { - file_lost++; + global_file_container.m_lost++; return NULL; } @@ -1292,14 +830,12 @@ find_or_create_file(PFS_thread *thread, PFS_file_class *klass, *buf_end= '\0'; normalized_filename= buffer; - normalized_length= strlen(normalized_filename); + normalized_length= (uint)strlen(normalized_filename); PFS_file **entry; uint retry_count= 0; const uint retry_max= 3; - static uint PFS_ALIGNED file_monotonic_index= 0; - uint index; - uint attempts= 0; + pfs_dirty_state dirty_state; search: @@ -1322,66 +858,50 @@ search: return NULL; } - if (file_full) + pfs= global_file_container.allocate(& dirty_state); + if (pfs != NULL) { - file_lost++; - return NULL; - } + pfs->m_class= klass; + pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; + pfs->m_timed= klass->m_timed; + strncpy(pfs->m_filename, normalized_filename, normalized_length); + pfs->m_filename[normalized_length]= '\0'; + pfs->m_filename_length= normalized_length; + pfs->m_file_stat.m_open_count= 1; + pfs->m_file_stat.m_io_stat.reset(); + pfs->m_identity= (const void *)pfs; + pfs->m_temporary= false; + + int res; + pfs->m_lock.dirty_to_allocated(& dirty_state); + res= lf_hash_insert(&filename_hash, pins, + &pfs); + if (likely(res == 0)) + { + if (klass->is_singleton()) + klass->m_singleton= pfs; + return pfs; + } - while (++attempts <= file_max) - { - /* See create_mutex() */ - index= PFS_atomic::add_u32(& file_monotonic_index, 1) % file_max; - pfs= file_array + index; + global_file_container.deallocate(pfs); - if (pfs->m_lock.is_free()) + if (res > 0) { - if (pfs->m_lock.free_to_dirty()) + /* Duplicate insert by another thread */ + if (++retry_count > retry_max) { - pfs->m_class= klass; - pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; - pfs->m_timed= klass->m_timed; - strncpy(pfs->m_filename, normalized_filename, normalized_length); - pfs->m_filename[normalized_length]= '\0'; - pfs->m_filename_length= normalized_length; - pfs->m_file_stat.m_open_count= 1; - pfs->m_file_stat.m_io_stat.reset(); - pfs->m_identity= (const void *)pfs; - - int res; - res= lf_hash_insert(&filename_hash, thread->m_filename_hash_pins, - &pfs); - if (likely(res == 0)) - { - pfs->m_lock.dirty_to_allocated(); - if (klass->is_singleton()) - klass->m_singleton= pfs; - return pfs; - } - - pfs->m_lock.dirty_to_free(); - - if (res > 0) - { - /* Duplicate insert by another thread */ - if (++retry_count > retry_max) - { - /* Avoid infinite loops */ - file_lost++; - return NULL; - } - goto search; - } - - /* OOM in lf_hash_insert */ - file_lost++; + /* Avoid infinite loops */ + global_file_container.m_lost++; return NULL; } + goto search; } + + /* OOM in lf_hash_insert */ + global_file_container.m_lost++; + return NULL; } - file_lost++; - file_full= true; return NULL; } @@ -1420,8 +940,8 @@ void destroy_file(PFS_thread *thread, PFS_file *pfs) pfs->m_filename, pfs->m_filename_length); if (klass->is_singleton()) klass->m_singleton= NULL; - pfs->m_lock.allocated_to_free(); - file_full= false; + + global_file_container.deallocate(pfs); } /** @@ -1434,49 +954,32 @@ void destroy_file(PFS_thread *thread, PFS_file *pfs) PFS_table* create_table(PFS_table_share *share, PFS_thread *opening_thread, const void *identity) { - static uint PFS_ALIGNED table_monotonic_index= 0; - uint index; - uint attempts= 0; PFS_table *pfs; - - if (table_full) - { - table_lost++; - return NULL; + pfs_dirty_state dirty_state; + + pfs= global_table_container.allocate(& dirty_state); + if (pfs != NULL) + { + pfs->m_identity= identity; + pfs->m_share= share; + pfs->m_io_enabled= share->m_enabled && + flag_global_instrumentation && global_table_io_class.m_enabled; + pfs->m_io_timed= share->m_timed && global_table_io_class.m_timed; + pfs->m_lock_enabled= share->m_enabled && + flag_global_instrumentation && global_table_lock_class.m_enabled; + pfs->m_lock_timed= share->m_timed && global_table_lock_class.m_timed; + pfs->m_has_io_stats= false; + pfs->m_has_lock_stats= false; + pfs->m_internal_lock= PFS_TL_NONE; + pfs->m_external_lock= PFS_TL_NONE; + share->inc_refcount(); + pfs->m_table_stat.fast_reset(); + pfs->m_thread_owner= opening_thread; + pfs->m_owner_event_id= opening_thread->m_event_id; + pfs->m_lock.dirty_to_allocated(& dirty_state); } - while (++attempts <= table_max) - { - /* See create_mutex() */ - index= PFS_atomic::add_u32(& table_monotonic_index, 1) % table_max; - pfs= table_array + index; - - if (pfs->m_lock.is_free()) - { - if (pfs->m_lock.free_to_dirty()) - { - pfs->m_identity= identity; - pfs->m_share= share; - pfs->m_io_enabled= share->m_enabled && - flag_global_instrumentation && global_table_io_class.m_enabled; - pfs->m_io_timed= share->m_timed && global_table_io_class.m_timed; - pfs->m_lock_enabled= share->m_enabled && - flag_global_instrumentation && global_table_lock_class.m_enabled; - pfs->m_lock_timed= share->m_timed && global_table_lock_class.m_timed; - pfs->m_has_io_stats= false; - pfs->m_has_lock_stats= false; - share->inc_refcount(); - pfs->m_table_stat.fast_reset(); - pfs->m_thread_owner= opening_thread; - pfs->m_lock.dirty_to_allocated(); - return pfs; - } - } - } - - table_lost++; - table_full= true; - return NULL; + return pfs; } void PFS_table::sanitized_aggregate(void) @@ -1488,18 +991,12 @@ void PFS_table::sanitized_aggregate(void) PFS_table_share *safe_share= sanitize_table_share(m_share); if (safe_share != NULL) { - if (m_has_io_stats && m_has_lock_stats) - { - safe_aggregate(& m_table_stat, safe_share); - m_has_io_stats= false; - m_has_lock_stats= false; - } - else if (m_has_io_stats) + if (m_has_io_stats) { - safe_aggregate_io(& m_table_stat, safe_share); + safe_aggregate_io(NULL, & m_table_stat, safe_share); m_has_io_stats= false; } - else if (m_has_lock_stats) + if (m_has_lock_stats) { safe_aggregate_lock(& m_table_stat, safe_share); m_has_lock_stats= false; @@ -1512,7 +1009,7 @@ void PFS_table::sanitized_aggregate_io(void) PFS_table_share *safe_share= sanitize_table_share(m_share); if (safe_share != NULL && m_has_io_stats) { - safe_aggregate_io(& m_table_stat, safe_share); + safe_aggregate_io(NULL, & m_table_stat, safe_share); m_has_io_stats= false; } } @@ -1527,29 +1024,67 @@ void PFS_table::sanitized_aggregate_lock(void) } } -void PFS_table::safe_aggregate(PFS_table_stat *table_stat, - PFS_table_share *table_share) +void PFS_table::safe_aggregate_io(const TABLE_SHARE *optional_server_share, + PFS_table_stat *table_stat, + PFS_table_share *table_share) { DBUG_ASSERT(table_stat != NULL); DBUG_ASSERT(table_share != NULL); uint key_count= sanitize_index_count(table_share->m_key_count); - /* Aggregate to TABLE_IO_SUMMARY, TABLE_LOCK_SUMMARY */ - table_share->m_table_stat.aggregate(table_stat, key_count); - table_stat->fast_reset(); -} + PFS_table_share_index *to_stat; + PFS_table_io_stat *from_stat; + uint index; -void PFS_table::safe_aggregate_io(PFS_table_stat *table_stat, - PFS_table_share *table_share) -{ - DBUG_ASSERT(table_stat != NULL); - DBUG_ASSERT(table_share != NULL); + DBUG_ASSERT(key_count <= MAX_INDEXES); - uint key_count= sanitize_index_count(table_share->m_key_count); + /* Aggregate stats for each index, if any */ + for (index= 0; index < key_count; index++) + { + from_stat= & table_stat->m_index_stat[index]; + if (from_stat->m_has_data) + { + if (optional_server_share != NULL) + { + /* + An instrumented thread is closing a table, + and capable of providing index names when + creating index statistics on the fly. + */ + to_stat= table_share->find_or_create_index_stat(optional_server_share, index); + } + else + { + /* + A monitoring thread, performing TRUNCATE TABLE, + is asking to flush existing stats from table handles, + but it does not know about index names used in handles. + If the index stat already exists, find it and aggregate to it. + It the index stat does not exist yet, drop the stat and do nothing. + */ + to_stat= table_share->find_index_stat(index); + } + if (to_stat != NULL) + { + /* Aggregate to TABLE_IO_SUMMARY */ + to_stat->m_stat.aggregate(from_stat); + } + } + } + + /* Aggregate stats for the table */ + from_stat= & table_stat->m_index_stat[MAX_INDEXES]; + if (from_stat->m_has_data) + { + to_stat= table_share->find_or_create_index_stat(NULL, MAX_INDEXES); + if (to_stat != NULL) + { + /* Aggregate to TABLE_IO_SUMMARY */ + to_stat->m_stat.aggregate(from_stat); + } + } - /* Aggregate to TABLE_IO_SUMMARY */ - table_share->m_table_stat.aggregate_io(table_stat, key_count); table_stat->fast_reset_io(); } @@ -1559,8 +1094,17 @@ void PFS_table::safe_aggregate_lock(PFS_table_stat *table_stat, DBUG_ASSERT(table_stat != NULL); DBUG_ASSERT(table_share != NULL); - /* Aggregate to TABLE_LOCK_SUMMARY */ - table_share->m_table_stat.aggregate_lock(table_stat); + PFS_table_lock_stat *from_stat= & table_stat->m_lock_stat; + + PFS_table_share_lock *to_stat; + + to_stat= table_share->find_or_create_lock_stat(); + if (to_stat != NULL) + { + /* Aggregate to TABLE_LOCK_SUMMARY */ + to_stat->m_stat.aggregate(from_stat); + } + table_stat->fast_reset_lock(); } @@ -1572,29 +1116,22 @@ void destroy_table(PFS_table *pfs) { DBUG_ASSERT(pfs != NULL); pfs->m_share->dec_refcount(); - pfs->m_lock.allocated_to_free(); - table_full= false; + global_table_container.deallocate(pfs); } /** Create instrumentation for a socket instance. @param klass the socket class - @param identity the socket descriptor + @param fd the socket file descriptor + @param addr the socket address + @param addr_len the socket address length @return a socket instance, or NULL */ PFS_socket* create_socket(PFS_socket_class *klass, const my_socket *fd, const struct sockaddr *addr, socklen_t addr_len) { - static uint PFS_ALIGNED socket_monotonic_index= 0; - uint index; - uint attempts= 0; PFS_socket *pfs; - - if (socket_full) - { - socket_lost++; - return NULL; - } + pfs_dirty_state dirty_state; uint fd_used= 0; uint addr_len_used= addr_len; @@ -1605,48 +1142,38 @@ PFS_socket* create_socket(PFS_socket_class *klass, const my_socket *fd, if (addr_len_used > sizeof(sockaddr_storage)) addr_len_used= sizeof(sockaddr_storage); - while (++attempts <= socket_max) + pfs= global_socket_container.allocate(& dirty_state); + + if (pfs != NULL) { - index= PFS_atomic::add_u32(& socket_monotonic_index, 1) % socket_max; - pfs= socket_array + index; + pfs->m_fd= fd_used; + /* There is no socket object, so we use the instrumentation. */ + pfs->m_identity= pfs; + pfs->m_class= klass; + pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; + pfs->m_timed= klass->m_timed; + pfs->m_idle= false; + pfs->m_socket_stat.reset(); + pfs->m_thread_owner= NULL; - if (pfs->m_lock.is_free()) + pfs->m_addr_len= addr_len_used; + if ((addr != NULL) && (addr_len_used > 0)) { - if (pfs->m_lock.free_to_dirty()) - { - pfs->m_fd= fd_used; - /* There is no socket object, so we use the instrumentation. */ - pfs->m_identity= pfs; - pfs->m_class= klass; - pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; - pfs->m_timed= klass->m_timed; - pfs->m_idle= false; - pfs->m_socket_stat.reset(); - pfs->m_thread_owner= NULL; - - pfs->m_addr_len= addr_len_used; - if ((addr != NULL) && (addr_len_used > 0)) - { - pfs->m_addr_len= addr_len_used; - memcpy(&pfs->m_sock_addr, addr, addr_len_used); - } - else - { - pfs->m_addr_len= 0; - } - - pfs->m_lock.dirty_to_allocated(); - - if (klass->is_singleton()) - klass->m_singleton= pfs; - return pfs; - } + pfs->m_addr_len= addr_len_used; + memcpy(&pfs->m_sock_addr, addr, addr_len_used); } + else + { + pfs->m_addr_len= 0; + } + + pfs->m_lock.dirty_to_allocated(& dirty_state); + + if (klass->is_singleton()) + klass->m_singleton= pfs; } - socket_lost++; - socket_full= true; - return NULL; + return pfs; } /** @@ -1668,67 +1195,112 @@ void destroy_socket(PFS_socket *pfs) PFS_thread *thread= pfs->m_thread_owner; if (thread != NULL) { - PFS_single_stat *event_name_array; - event_name_array= thread->m_instr_class_waits_stats; - uint index= pfs->m_class->m_event_name_index; - /* Combine stats for all operations */ PFS_single_stat stat; pfs->m_socket_stat.m_io_stat.sum_waits(&stat); - event_name_array[index].aggregate(&stat); + if (stat.m_count != 0) + { + PFS_single_stat *event_name_array; + event_name_array= thread->write_instr_class_waits_stats(); + uint index= pfs->m_class->m_event_name_index; + + event_name_array[index].aggregate(&stat); + } } pfs->m_socket_stat.reset(); pfs->m_thread_owner= NULL; pfs->m_fd= 0; pfs->m_addr_len= 0; - pfs->m_lock.allocated_to_free(); - socket_full= false; + + global_socket_container.deallocate(pfs); +} + +PFS_metadata_lock* create_metadata_lock(void *identity, + const MDL_key *mdl_key, + opaque_mdl_type mdl_type, + opaque_mdl_duration mdl_duration, + opaque_mdl_status mdl_status, + const char *src_file, + uint src_line) +{ + PFS_metadata_lock *pfs; + pfs_dirty_state dirty_state; + + pfs= global_mdl_container.allocate(& dirty_state); + if (pfs != NULL) + { + pfs->m_identity= identity; + pfs->m_enabled= global_metadata_class.m_enabled && flag_global_instrumentation; + pfs->m_timed= global_metadata_class.m_timed; + pfs->m_mdl_key.mdl_key_init(mdl_key); + pfs->m_mdl_type= mdl_type; + pfs->m_mdl_duration= mdl_duration; + pfs->m_mdl_status= mdl_status; + pfs->m_src_file= src_file; + pfs->m_src_line= src_line; + pfs->m_owner_thread_id= 0; + pfs->m_owner_event_id= 0; + pfs->m_lock.dirty_to_allocated(& dirty_state); + } + + return pfs; +} + +void destroy_metadata_lock(PFS_metadata_lock *pfs) +{ + DBUG_ASSERT(pfs != NULL); + global_mdl_container.deallocate(pfs); +} + +static void fct_reset_mutex_waits(PFS_mutex *pfs) +{ + pfs->m_mutex_stat.reset(); } static void reset_mutex_waits_by_instance(void) { - PFS_mutex *pfs= mutex_array; - PFS_mutex *pfs_last= mutex_array + mutex_max; + global_mutex_container.apply_all(fct_reset_mutex_waits); +} - for ( ; pfs < pfs_last; pfs++) - pfs->m_mutex_stat.reset(); +static void fct_reset_rwlock_waits(PFS_rwlock *pfs) +{ + pfs->m_rwlock_stat.reset(); } static void reset_rwlock_waits_by_instance(void) { - PFS_rwlock *pfs= rwlock_array; - PFS_rwlock *pfs_last= rwlock_array + rwlock_max; + global_rwlock_container.apply_all(fct_reset_rwlock_waits); +} - for ( ; pfs < pfs_last; pfs++) - pfs->m_rwlock_stat.reset(); +static void fct_reset_cond_waits(PFS_cond *pfs) +{ + pfs->m_cond_stat.reset(); } static void reset_cond_waits_by_instance(void) { - PFS_cond *pfs= cond_array; - PFS_cond *pfs_last= cond_array + cond_max; + global_cond_container.apply_all(fct_reset_cond_waits); +} - for ( ; pfs < pfs_last; pfs++) - pfs->m_cond_stat.reset(); +static void fct_reset_file_waits(PFS_file *pfs) +{ + pfs->m_file_stat.reset(); } static void reset_file_waits_by_instance(void) { - PFS_file *pfs= file_array; - PFS_file *pfs_last= file_array + file_max; + global_file_container.apply_all(fct_reset_file_waits); +} - for ( ; pfs < pfs_last; pfs++) - pfs->m_file_stat.reset(); +static void fct_reset_socket_waits(PFS_socket *pfs) +{ + pfs->m_socket_stat.reset(); } static void reset_socket_waits_by_instance(void) { - PFS_socket *pfs= socket_array; - PFS_socket *pfs_last= socket_array + socket_max; - - for ( ; pfs < pfs_last; pfs++) - pfs->m_socket_stat.reset(); + global_socket_container.apply_all(fct_reset_socket_waits); } /** Reset the wait statistics per object instance. */ @@ -1741,24 +1313,26 @@ void reset_events_waits_by_instance(void) reset_socket_waits_by_instance(); } +static void fct_reset_file_io(PFS_file *pfs) +{ + pfs->m_file_stat.m_io_stat.reset(); +} + /** Reset the io statistics per file instance. */ void reset_file_instance_io(void) { - PFS_file *pfs= file_array; - PFS_file *pfs_last= file_array + file_max; + global_file_container.apply_all(fct_reset_file_io); +} - for ( ; pfs < pfs_last; pfs++) - pfs->m_file_stat.m_io_stat.reset(); +static void fct_reset_socket_io(PFS_socket *pfs) +{ + pfs->m_socket_stat.m_io_stat.reset(); } /** Reset the io statistics per socket instance. */ void reset_socket_instance_io(void) { - PFS_socket *pfs= socket_array; - PFS_socket *pfs_last= socket_array + socket_max; - - for ( ; pfs < pfs_last; pfs++) - pfs->m_socket_stat.m_io_stat.reset(); + global_socket_container.apply_all(fct_reset_socket_io); } void aggregate_all_event_names(PFS_single_stat *from_array, @@ -1899,6 +1473,124 @@ void aggregate_all_statements(PFS_statement_stat *from_array, } } +void aggregate_all_transactions(PFS_transaction_stat *from_array, + PFS_transaction_stat *to_array) +{ + DBUG_ASSERT(from_array != NULL); + DBUG_ASSERT(to_array != NULL); + + if (from_array->count() > 0) + { + to_array->aggregate(from_array); + from_array->reset(); + } +} + +void aggregate_all_transactions(PFS_transaction_stat *from_array, + PFS_transaction_stat *to_array_1, + PFS_transaction_stat *to_array_2) +{ + DBUG_ASSERT(from_array != NULL); + DBUG_ASSERT(to_array_1 != NULL); + DBUG_ASSERT(to_array_2 != NULL); + + if (from_array->count() > 0) + { + to_array_1->aggregate(from_array); + to_array_2->aggregate(from_array); + from_array->reset(); + } +} + +void aggregate_all_memory(bool alive, + PFS_memory_stat *from_array, + PFS_memory_stat *to_array) +{ + PFS_memory_stat *from; + PFS_memory_stat *from_last; + PFS_memory_stat *to; + + from= from_array; + from_last= from_array + memory_class_max; + to= to_array; + + if (alive) + { + for ( ; from < from_last ; from++, to++) + { + from->partial_aggregate_to(to); + } + } + else + { + for ( ; from < from_last ; from++, to++) + { + from->full_aggregate_to(to); + from->reset(); + } + } +} + +void aggregate_all_memory(bool alive, + PFS_memory_stat *from_array, + PFS_memory_stat *to_array_1, + PFS_memory_stat *to_array_2) +{ + PFS_memory_stat *from; + PFS_memory_stat *from_last; + PFS_memory_stat *to_1; + PFS_memory_stat *to_2; + + from= from_array; + from_last= from_array + memory_class_max; + to_1= to_array_1; + to_2= to_array_2; + + if (alive) + { + for ( ; from < from_last ; from++, to_1++, to_2++) + { + from->partial_aggregate_to(to_1, to_2); + } + } + else + { + for ( ; from < from_last ; from++, to_1++, to_2++) + { + from->full_aggregate_to(to_1, to_2); + from->reset(); + } + } +} + +void aggregate_thread_status(PFS_thread *thread, + PFS_account *safe_account, + PFS_user *safe_user, + PFS_host *safe_host) +{ + THD *thd= thread->m_thd; + + if (thd == NULL) + return; + + if (likely(safe_account != NULL)) + { + safe_account->aggregate_status_stats(&thd->status_var); + return; + } + + if (safe_user != NULL) + { + safe_user->aggregate_status_stats(&thd->status_var); + } + + if (safe_host != NULL) + { + safe_host->aggregate_status_stats(&thd->status_var); + } + return; +} + void aggregate_thread_stats(PFS_thread *thread, PFS_account *safe_account, PFS_user *safe_user, @@ -1907,14 +1599,17 @@ void aggregate_thread_stats(PFS_thread *thread, if (likely(safe_account != NULL)) { safe_account->m_disconnected_count++; - return; } if (safe_user != NULL) + { safe_user->m_disconnected_count++; + } if (safe_host != NULL) + { safe_host->m_disconnected_count++; + } /* There is no global table for connections statistics. */ return; @@ -1925,9 +1620,28 @@ void aggregate_thread(PFS_thread *thread, PFS_user *safe_user, PFS_host *safe_host) { + /* No HAVE_PSI_???_INTERFACE flag, waits cover multiple instrumentations */ aggregate_thread_waits(thread, safe_account, safe_user, safe_host); + +#ifdef HAVE_PSI_STAGE_INTERFACE aggregate_thread_stages(thread, safe_account, safe_user, safe_host); +#endif + +#ifdef HAVE_PSI_STATEMENT_INTERFACE aggregate_thread_statements(thread, safe_account, safe_user, safe_host); +#endif + +#ifdef HAVE_PSI_TRANSACTION_INTERFACE + aggregate_thread_transactions(thread, safe_account, safe_user, safe_host); +#endif + +#ifdef HAVE_PSI_MEMORY_INTERFACE + aggregate_thread_memory(false, thread, safe_account, safe_user, safe_host); +#endif + + if (!show_compatibility_56) + aggregate_thread_status(thread, safe_account, safe_user, safe_host); + aggregate_thread_stats(thread, safe_account, safe_user, safe_host); } @@ -1936,14 +1650,17 @@ void aggregate_thread_waits(PFS_thread *thread, PFS_user *safe_user, PFS_host *safe_host) { + if (thread->read_instr_class_waits_stats() == NULL) + return; + if (likely(safe_account != NULL)) { /* Aggregate EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME to EVENTS_WAITS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. */ - aggregate_all_event_names(thread->m_instr_class_waits_stats, - safe_account->m_instr_class_waits_stats); + aggregate_all_event_names(thread->write_instr_class_waits_stats(), + safe_account->write_instr_class_waits_stats()); return; } @@ -1956,9 +1673,9 @@ void aggregate_thread_waits(PFS_thread *thread, - EVENTS_WAITS_SUMMARY_BY_HOST_BY_EVENT_NAME in parallel. */ - aggregate_all_event_names(thread->m_instr_class_waits_stats, - safe_user->m_instr_class_waits_stats, - safe_host->m_instr_class_waits_stats); + aggregate_all_event_names(thread->write_instr_class_waits_stats(), + safe_user->write_instr_class_waits_stats(), + safe_host->write_instr_class_waits_stats()); return; } @@ -1968,8 +1685,8 @@ void aggregate_thread_waits(PFS_thread *thread, Aggregate EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME to EVENTS_WAITS_SUMMARY_BY_USER_BY_EVENT_NAME, directly. */ - aggregate_all_event_names(thread->m_instr_class_waits_stats, - safe_user->m_instr_class_waits_stats); + aggregate_all_event_names(thread->write_instr_class_waits_stats(), + safe_user->write_instr_class_waits_stats()); return; } @@ -1979,8 +1696,8 @@ void aggregate_thread_waits(PFS_thread *thread, Aggregate EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME to EVENTS_WAITS_SUMMARY_BY_HOST_BY_EVENT_NAME, directly. */ - aggregate_all_event_names(thread->m_instr_class_waits_stats, - safe_host->m_instr_class_waits_stats); + aggregate_all_event_names(thread->write_instr_class_waits_stats(), + safe_host->write_instr_class_waits_stats()); return; } @@ -1993,14 +1710,17 @@ void aggregate_thread_stages(PFS_thread *thread, PFS_user *safe_user, PFS_host *safe_host) { + if (thread->read_instr_class_stages_stats() == NULL) + return; + if (likely(safe_account != NULL)) { /* Aggregate EVENTS_STAGES_SUMMARY_BY_THREAD_BY_EVENT_NAME to EVENTS_STAGES_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. */ - aggregate_all_stages(thread->m_instr_class_stages_stats, - safe_account->m_instr_class_stages_stats); + aggregate_all_stages(thread->write_instr_class_stages_stats(), + safe_account->write_instr_class_stages_stats()); return; } @@ -2013,9 +1733,9 @@ void aggregate_thread_stages(PFS_thread *thread, - EVENTS_STAGES_SUMMARY_BY_HOST_BY_EVENT_NAME in parallel. */ - aggregate_all_stages(thread->m_instr_class_stages_stats, - safe_user->m_instr_class_stages_stats, - safe_host->m_instr_class_stages_stats); + aggregate_all_stages(thread->write_instr_class_stages_stats(), + safe_user->write_instr_class_stages_stats(), + safe_host->write_instr_class_stages_stats()); return; } @@ -2027,8 +1747,8 @@ void aggregate_thread_stages(PFS_thread *thread, - EVENTS_STAGES_SUMMARY_GLOBAL_BY_EVENT_NAME in parallel. */ - aggregate_all_stages(thread->m_instr_class_stages_stats, - safe_user->m_instr_class_stages_stats, + aggregate_all_stages(thread->write_instr_class_stages_stats(), + safe_user->write_instr_class_stages_stats(), global_instr_class_stages_array); return; } @@ -2039,8 +1759,8 @@ void aggregate_thread_stages(PFS_thread *thread, Aggregate EVENTS_STAGES_SUMMARY_BY_THREAD_BY_EVENT_NAME to EVENTS_STAGES_SUMMARY_BY_HOST_BY_EVENT_NAME, directly. */ - aggregate_all_stages(thread->m_instr_class_stages_stats, - safe_host->m_instr_class_stages_stats); + aggregate_all_stages(thread->write_instr_class_stages_stats(), + safe_host->write_instr_class_stages_stats()); return; } @@ -2048,7 +1768,7 @@ void aggregate_thread_stages(PFS_thread *thread, Aggregate EVENTS_STAGES_SUMMARY_BY_THREAD_BY_EVENT_NAME to EVENTS_STAGES_SUMMARY_GLOBAL_BY_EVENT_NAME. */ - aggregate_all_stages(thread->m_instr_class_stages_stats, + aggregate_all_stages(thread->write_instr_class_stages_stats(), global_instr_class_stages_array); } @@ -2057,14 +1777,17 @@ void aggregate_thread_statements(PFS_thread *thread, PFS_user *safe_user, PFS_host *safe_host) { + if (thread->read_instr_class_statements_stats() == NULL) + return; + if (likely(safe_account != NULL)) { /* Aggregate EVENTS_STATEMENTS_SUMMARY_BY_THREAD_BY_EVENT_NAME to EVENTS_STATEMENTS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. */ - aggregate_all_statements(thread->m_instr_class_statements_stats, - safe_account->m_instr_class_statements_stats); + aggregate_all_statements(thread->write_instr_class_statements_stats(), + safe_account->write_instr_class_statements_stats()); return; } @@ -2077,9 +1800,9 @@ void aggregate_thread_statements(PFS_thread *thread, - EVENTS_STATEMENT_SUMMARY_BY_HOST_BY_EVENT_NAME in parallel. */ - aggregate_all_statements(thread->m_instr_class_statements_stats, - safe_user->m_instr_class_statements_stats, - safe_host->m_instr_class_statements_stats); + aggregate_all_statements(thread->write_instr_class_statements_stats(), + safe_user->write_instr_class_statements_stats(), + safe_host->write_instr_class_statements_stats()); return; } @@ -2091,8 +1814,8 @@ void aggregate_thread_statements(PFS_thread *thread, - EVENTS_STATEMENTS_SUMMARY_GLOBAL_BY_EVENT_NAME in parallel. */ - aggregate_all_statements(thread->m_instr_class_statements_stats, - safe_user->m_instr_class_statements_stats, + aggregate_all_statements(thread->write_instr_class_statements_stats(), + safe_user->write_instr_class_statements_stats(), global_instr_class_statements_array); return; } @@ -2103,8 +1826,8 @@ void aggregate_thread_statements(PFS_thread *thread, Aggregate EVENTS_STATEMENTS_SUMMARY_BY_THREAD_BY_EVENT_NAME to EVENTS_STATEMENTS_SUMMARY_BY_HOST_BY_EVENT_NAME, directly. */ - aggregate_all_statements(thread->m_instr_class_statements_stats, - safe_host->m_instr_class_statements_stats); + aggregate_all_statements(thread->write_instr_class_statements_stats(), + safe_host->write_instr_class_statements_stats()); return; } @@ -2112,10 +1835,149 @@ void aggregate_thread_statements(PFS_thread *thread, Aggregate EVENTS_STATEMENTS_SUMMARY_BY_THREAD_BY_EVENT_NAME to EVENTS_STATEMENTS_SUMMARY_GLOBAL_BY_EVENT_NAME. */ - aggregate_all_statements(thread->m_instr_class_statements_stats, + aggregate_all_statements(thread->write_instr_class_statements_stats(), global_instr_class_statements_array); } +void aggregate_thread_transactions(PFS_thread *thread, + PFS_account *safe_account, + PFS_user *safe_user, + PFS_host *safe_host) +{ + if (thread->read_instr_class_transactions_stats() == NULL) + return; + + if (likely(safe_account != NULL)) + { + /* + Aggregate EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME + to EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. + */ + aggregate_all_transactions(thread->write_instr_class_transactions_stats(), + safe_account->write_instr_class_transactions_stats()); + + return; + } + + if ((safe_user != NULL) && (safe_host != NULL)) + { + /* + Aggregate EVENTS_TRANSACTION_SUMMARY_BY_THREAD_BY_EVENT_NAME to: + - EVENTS_TRANSACTION_SUMMARY_BY_USER_BY_EVENT_NAME + - EVENTS_TRANSACTION_SUMMARY_BY_HOST_BY_EVENT_NAME + in parallel. + */ + aggregate_all_transactions(thread->write_instr_class_transactions_stats(), + safe_user->write_instr_class_transactions_stats(), + safe_host->write_instr_class_transactions_stats()); + return; + } + + if (safe_user != NULL) + { + /* + Aggregate EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME to: + - EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME + - EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME + in parallel. + */ + aggregate_all_transactions(thread->write_instr_class_transactions_stats(), + safe_user->write_instr_class_transactions_stats(), + &global_transaction_stat); + return; + } + + if (safe_host != NULL) + { + /* + Aggregate EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME + to EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME, directly. + */ + aggregate_all_transactions(thread->write_instr_class_transactions_stats(), + safe_host->write_instr_class_transactions_stats()); + return; + } + + /* + Aggregate EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME + to EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME. + */ + aggregate_all_transactions(thread->write_instr_class_transactions_stats(), + &global_transaction_stat); +} + +void aggregate_thread_memory(bool alive, PFS_thread *thread, + PFS_account *safe_account, + PFS_user *safe_user, + PFS_host *safe_host) +{ + if (thread->read_instr_class_memory_stats() == NULL) + return; + + if (likely(safe_account != NULL)) + { + /* + Aggregate MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME + to MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. + */ + aggregate_all_memory(alive, + thread->write_instr_class_memory_stats(), + safe_account->write_instr_class_memory_stats()); + + return; + } + + if ((safe_user != NULL) && (safe_host != NULL)) + { + /* + Aggregate MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME to: + - MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME + - MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME + in parallel. + */ + aggregate_all_memory(alive, + thread->write_instr_class_memory_stats(), + safe_user->write_instr_class_memory_stats(), + safe_host->write_instr_class_memory_stats()); + return; + } + + if (safe_user != NULL) + { + /* + Aggregate MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME to: + - MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME + - MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME + in parallel. + */ + aggregate_all_memory(alive, + thread->write_instr_class_memory_stats(), + safe_user->write_instr_class_memory_stats(), + global_instr_class_memory_array); + return; + } + + if (safe_host != NULL) + { + /* + Aggregate MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME + to MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME, directly. + */ + aggregate_all_memory(alive, + thread->write_instr_class_memory_stats(), + safe_host->write_instr_class_memory_stats()); + return; + } + + /* + Aggregate MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME + to MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME. + */ + aggregate_all_memory(alive, + thread->write_instr_class_memory_stats(), + global_instr_class_memory_array); +} + void clear_thread_account(PFS_thread *thread) { if (thread->m_account != NULL) @@ -2160,142 +2022,151 @@ void set_thread_account(PFS_thread *thread) thread->m_hostname_length); } +static void fct_update_mutex_derived_flags(PFS_mutex *pfs) +{ + PFS_mutex_class *klass= sanitize_mutex_class(pfs->m_class); + if (likely(klass != NULL)) + { + pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; + pfs->m_timed= klass->m_timed; + } + else + { + pfs->m_enabled= false; + pfs->m_timed= false; + } +} + void update_mutex_derived_flags() { - PFS_mutex *pfs= mutex_array; - PFS_mutex *pfs_last= mutex_array + mutex_max; - PFS_mutex_class *klass; + global_mutex_container.apply_all(fct_update_mutex_derived_flags); +} - for ( ; pfs < pfs_last; pfs++) +static void fct_update_rwlock_derived_flags(PFS_rwlock *pfs) +{ + PFS_rwlock_class *klass= sanitize_rwlock_class(pfs->m_class); + if (likely(klass != NULL)) { - klass= sanitize_mutex_class(pfs->m_class); - if (likely(klass != NULL)) - { - pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; - pfs->m_timed= klass->m_timed; - } - else - { - pfs->m_enabled= false; - pfs->m_timed= false; - } + pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; + pfs->m_timed= klass->m_timed; + } + else + { + pfs->m_enabled= false; + pfs->m_timed= false; } } void update_rwlock_derived_flags() { - PFS_rwlock *pfs= rwlock_array; - PFS_rwlock *pfs_last= rwlock_array + rwlock_max; - PFS_rwlock_class *klass; + global_rwlock_container.apply_all(fct_update_rwlock_derived_flags); +} - for ( ; pfs < pfs_last; pfs++) +static void fct_update_cond_derived_flags(PFS_cond *pfs) +{ + PFS_cond_class *klass= sanitize_cond_class(pfs->m_class); + if (likely(klass != NULL)) { - klass= sanitize_rwlock_class(pfs->m_class); - if (likely(klass != NULL)) - { - pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; - pfs->m_timed= klass->m_timed; - } - else - { - pfs->m_enabled= false; - pfs->m_timed= false; - } + pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; + pfs->m_timed= klass->m_timed; + } + else + { + pfs->m_enabled= false; + pfs->m_timed= false; } } void update_cond_derived_flags() { - PFS_cond *pfs= cond_array; - PFS_cond *pfs_last= cond_array + cond_max; - PFS_cond_class *klass; + global_cond_container.apply_all(fct_update_cond_derived_flags); +} - for ( ; pfs < pfs_last; pfs++) +static void fct_update_file_derived_flags(PFS_file *pfs) +{ + PFS_file_class *klass= sanitize_file_class(pfs->m_class); + if (likely(klass != NULL)) { - klass= sanitize_cond_class(pfs->m_class); - if (likely(klass != NULL)) - { - pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; - pfs->m_timed= klass->m_timed; - } - else - { - pfs->m_enabled= false; - pfs->m_timed= false; - } + pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; + pfs->m_timed= klass->m_timed; + } + else + { + pfs->m_enabled= false; + pfs->m_timed= false; } } void update_file_derived_flags() { - PFS_file *pfs= file_array; - PFS_file *pfs_last= file_array + file_max; - PFS_file_class *klass; + global_file_container.apply_all(fct_update_file_derived_flags); +} - for ( ; pfs < pfs_last; pfs++) +void fct_update_table_derived_flags(PFS_table *pfs) +{ + PFS_table_share *share= sanitize_table_share(pfs->m_share); + if (likely(share != NULL)) { - klass= sanitize_file_class(pfs->m_class); - if (likely(klass != NULL)) - { - pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; - pfs->m_timed= klass->m_timed; - } - else - { - pfs->m_enabled= false; - pfs->m_timed= false; - } + pfs->m_io_enabled= share->m_enabled && + flag_global_instrumentation && global_table_io_class.m_enabled; + pfs->m_io_timed= share->m_timed && global_table_io_class.m_timed; + pfs->m_lock_enabled= share->m_enabled && + flag_global_instrumentation && global_table_lock_class.m_enabled; + pfs->m_lock_timed= share->m_timed && global_table_lock_class.m_timed; + } + else + { + pfs->m_io_enabled= false; + pfs->m_io_timed= false; + pfs->m_lock_enabled= false; + pfs->m_lock_timed= false; } } void update_table_derived_flags() { - PFS_table *pfs= table_array; - PFS_table *pfs_last= table_array + table_max; - PFS_table_share *share; + global_table_container.apply_all(fct_update_table_derived_flags); +} - for ( ; pfs < pfs_last; pfs++) +static void fct_update_socket_derived_flags(PFS_socket *pfs) +{ + PFS_socket_class *klass= sanitize_socket_class(pfs->m_class); + if (likely(klass != NULL)) { - share= sanitize_table_share(pfs->m_share); - if (likely(share != NULL)) - { - pfs->m_io_enabled= share->m_enabled && - flag_global_instrumentation && global_table_io_class.m_enabled; - pfs->m_io_timed= share->m_timed && global_table_io_class.m_timed; - pfs->m_lock_enabled= share->m_enabled && - flag_global_instrumentation && global_table_lock_class.m_enabled; - pfs->m_lock_timed= share->m_timed && global_table_lock_class.m_timed; - } - else - { - pfs->m_io_enabled= false; - pfs->m_io_timed= false; - pfs->m_lock_enabled= false; - pfs->m_lock_timed= false; - } + pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; + pfs->m_timed= klass->m_timed; + } + else + { + pfs->m_enabled= false; + pfs->m_timed= false; } } void update_socket_derived_flags() { - PFS_socket *pfs= socket_array; - PFS_socket *pfs_last= socket_array + socket_max; - PFS_socket_class *klass; + global_socket_container.apply_all(fct_update_socket_derived_flags); +} - for ( ; pfs < pfs_last; pfs++) - { - klass= sanitize_socket_class(pfs->m_class); - if (likely(klass != NULL)) - { - pfs->m_enabled= klass->m_enabled && flag_global_instrumentation; - pfs->m_timed= klass->m_timed; - } - else - { - pfs->m_enabled= false; - pfs->m_timed= false; - } - } +static void fct_update_metadata_derived_flags(PFS_metadata_lock *pfs) +{ + pfs->m_enabled= global_metadata_class.m_enabled && flag_global_instrumentation; + pfs->m_timed= global_metadata_class.m_timed; +} + +void update_metadata_derived_flags() +{ + global_mdl_container.apply_all(fct_update_metadata_derived_flags); +} + +static void fct_update_thread_derived_flags(PFS_thread *pfs) +{ + pfs->set_history_derived_flags(); +} + +void update_thread_derived_flags() +{ + global_thread_container.apply(fct_update_thread_derived_flags); } void update_instruments_derived_flags() @@ -2306,7 +2177,8 @@ void update_instruments_derived_flags() update_file_derived_flags(); update_table_derived_flags(); update_socket_derived_flags(); - /* nothing for stages and statements (no instances) */ + update_metadata_derived_flags(); + /* nothing for stages, statements and transactions (no instances) */ } /** @} */ diff --git a/storage/perfschema/pfs_instr.h b/storage/perfschema/pfs_instr.h index b25f5769b69..8741375e62e 100644 --- a/storage/perfschema/pfs_instr.h +++ b/storage/perfschema/pfs_instr.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,13 +28,18 @@ struct PFS_file_class; struct PFS_table_share; struct PFS_thread_class; struct PFS_socket_class; +class PFS_opaque_container_page; -#ifdef __WIN__ +class THD; + +#include "my_global.h" +#include "my_thread_os_id.h" +#ifdef _WIN32 #include <winsock2.h> -#else +#endif +#ifdef HAVE_ARPA_INET_H #include <arpa/inet.h> #endif -#include "my_global.h" #include "my_compiler.h" #include "pfs_lock.h" #include "pfs_stat.h" @@ -42,9 +47,17 @@ struct PFS_socket_class; #include "pfs_events_waits.h" #include "pfs_events_stages.h" #include "pfs_events_statements.h" +#include "pfs_events_transactions.h" #include "pfs_server.h" #include "lf.h" #include "pfs_con_slice.h" +#include "pfs_column_types.h" +#include "mdl.h" +#include "violite.h" /* enum_vio_type */ + +extern PFS_single_stat *thread_instr_class_waits_array_start; +extern PFS_single_stat *thread_instr_class_waits_array_end; +extern my_bool show_compatibility_56; /** @addtogroup Performance_schema_buffers @@ -65,6 +78,8 @@ struct PFS_instr bool m_enabled; /** Timed flag. */ bool m_timed; + /** Container page. */ + PFS_opaque_container_page *m_page; }; /** Instrumented mutex implementation. @see PSI_mutex. */ @@ -117,8 +132,6 @@ struct PFS_ALIGNED PFS_cond : public PFS_instr const void *m_identity; /** Condition class. */ PFS_cond_class *m_class; - /** Instrument wait statistics. */ - PFS_single_stat m_wait_stat; /** Condition instance usage statistics. */ PFS_cond_stat m_cond_stat; }; @@ -139,6 +152,8 @@ struct PFS_ALIGNED PFS_file : public PFS_instr PFS_file_class *m_class; /** File usage statistics. */ PFS_file_stat m_file_stat; + /** True if a temporary file. */ + bool m_temporary; }; /** Instrumented table implementation. @see PSI_table. */ @@ -177,20 +192,14 @@ public: Only use this method for handles owned by the calling code. @sa sanitized_aggregate. */ - void aggregate(void) + void aggregate(const TABLE_SHARE *server_share) { - if (m_has_io_stats && m_has_lock_stats) + if (m_has_io_stats) { - safe_aggregate(& m_table_stat, m_share); + safe_aggregate_io(server_share, & m_table_stat, m_share); m_has_io_stats= false; - m_has_lock_stats= false; } - else if (m_has_io_stats) - { - safe_aggregate_io(& m_table_stat, m_share); - m_has_io_stats= false; - } - else if (m_has_lock_stats) + if (m_has_lock_stats) { safe_aggregate_lock(& m_table_stat, m_share); m_has_lock_stats= false; @@ -220,19 +229,26 @@ public: /** Internal lock. */ pfs_lock m_lock; - /** Owner. */ + /** Thread Owner. */ PFS_thread *m_thread_owner; + /** Event Owner. */ + ulonglong m_owner_event_id; /** Table share. */ PFS_table_share *m_share; /** Table identity, typically a handler. */ const void *m_identity; /** Table statistics. */ PFS_table_stat m_table_stat; + /** Current internal lock. */ + PFS_TL_LOCK_TYPE m_internal_lock; + /** Current external lock. */ + PFS_TL_LOCK_TYPE m_external_lock; + /** Container page. */ + PFS_opaque_container_page *m_page; private: - static void safe_aggregate(PFS_table_stat *stat, - PFS_table_share *safe_share); - static void safe_aggregate_io(PFS_table_stat *stat, + static void safe_aggregate_io(const TABLE_SHARE *optional_server_share, + PFS_table_stat *stat, PFS_table_share *safe_share); static void safe_aggregate_lock(PFS_table_stat *stat, PFS_table_share *safe_share); @@ -262,6 +278,24 @@ struct PFS_ALIGNED PFS_socket : public PFS_instr PFS_socket_stat m_socket_stat; }; +/** Instrumented metadata lock implementation. @see PSI_metadata_lock. */ +struct PFS_ALIGNED PFS_metadata_lock : public PFS_instr +{ + uint32 get_version() + { return m_lock.get_version(); } + + /** Lock identity. */ + const void *m_identity; + MDL_key m_mdl_key; + opaque_mdl_type m_mdl_type; + opaque_mdl_duration m_mdl_duration; + opaque_mdl_status m_mdl_status; + const char *m_src_file; + uint m_src_line; + ulonglong m_owner_thread_id; + ulonglong m_owner_event_id; +}; + /** @def WAIT_STACK_LOGICAL_SIZE Maximum number of nested waits. @@ -286,7 +320,7 @@ struct PFS_ALIGNED PFS_socket : public PFS_instr /** @def WAIT_STACK_BOTTOM Maximum number dummy waits records. - One dummy record is reserved for the parent stage / statement, + One dummy record is reserved for the parent stage / statement / transaction, at the bottom of the wait stack. */ #define WAIT_STACK_BOTTOM 1 @@ -300,75 +334,84 @@ struct PFS_ALIGNED PFS_socket : public PFS_instr extern uint statement_stack_max; /** Max size of the digests token array. */ extern size_t pfs_max_digest_length; +/** Max size of SQL TEXT. */ +extern size_t pfs_max_sqltext; -/** - @def PFS_MAX_ALLOC_RETRY - Maximum number of times the code attempts to allocate an item - from internal buffers, before giving up. -*/ -#define PFS_MAX_ALLOC_RETRY 1000 +/** Instrumented thread implementation. @see PSI_thread. */ +struct PFS_ALIGNED PFS_thread : PFS_connection_slice +{ + static PFS_thread* get_current_thread(void); -/** The maximun number of passes in @sa PFS_scan. */ -#define PFS_MAX_SCAN_PASS 2 + /** Thread instrumentation flag. */ + bool m_enabled; + /** Thread history instrumentation flag. */ + bool m_history; -/** - Helper to scan circular buffers. - Given a buffer of size [0, max_size - 1], - and a random starting point in the buffer, - this helper returns up to two [first, last -1] intervals that: - - fit into the [0, max_size - 1] range, - - have a maximum combined length of at most PFS_MAX_ALLOC_RETRY. -*/ -struct PFS_scan -{ -public: /** - Initialize a new scan. - @param random a random index to start from - @param max_size the max size of the interval to scan + Derived flag flag_events_waits_history, per thread. + Cached computation of + TABLE SETUP_CONSUMERS[EVENTS_WAITS_HISTORY].ENABLED == 'YES' + AND + TABLE THREADS[THREAD_ID].HISTORY == 'YES' */ - void init(uint random, uint max_size); - + bool m_flag_events_waits_history; /** - Predicate, has a next pass. - @return true if there is a next pass to perform. + Derived flag flag_events_waits_history_long, per thread. + Cached computation of + TABLE SETUP_CONSUMERS[EVENTS_WAITS_HISTORY_LONG].ENABLED == 'YES' + AND + TABLE THREADS[THREAD_ID].HISTORY == 'YES' */ - bool has_pass() const - { return (m_pass < m_pass_max); } - + bool m_flag_events_waits_history_long; /** - Iterator, proceed to the next pass. + Derived flag flag_events_stages_history, per thread. + Cached computation of + TABLE SETUP_CONSUMERS[EVENTS_STAGES_HISTORY].ENABLED == 'YES' + AND + TABLE THREADS[THREAD_ID].HISTORY == 'YES' */ - void next_pass() - { m_pass++; } - - /** First index for this pass. */ - uint first() const - { return m_first[m_pass]; } - - /** Last index for this pass. */ - uint last() const - { return m_last[m_pass]; } - -private: - /** Current pass. */ - uint m_pass; - /** Maximum number of passes. */ - uint m_pass_max; - /** First element for each pass. */ - uint m_first[PFS_MAX_SCAN_PASS]; - /** Last element for each pass. */ - uint m_last[PFS_MAX_SCAN_PASS]; -}; - - -/** Instrumented thread implementation. @see PSI_thread. */ -struct PFS_ALIGNED PFS_thread : PFS_connection_slice -{ - static PFS_thread* get_current_thread(void); + bool m_flag_events_stages_history; + /** + Derived flag flag_events_stages_history_long, per thread. + Cached computation of + TABLE SETUP_CONSUMERS[EVENTS_STAGES_HISTORY_LONG].ENABLED == 'YES' + AND + TABLE THREADS[THREAD_ID].HISTORY == 'YES' + */ + bool m_flag_events_stages_history_long; + /** + Derived flag flag_events_statements_history, per thread. + Cached computation of + TABLE SETUP_CONSUMERS[EVENTS_STATEMENTS_HISTORY].ENABLED == 'YES' + AND + TABLE THREADS[THREAD_ID].HISTORY == 'YES' + */ + bool m_flag_events_statements_history; + /** + Derived flag flag_events_statements_history_long, per thread. + Cached computation of + TABLE SETUP_CONSUMERS[EVENTS_STATEMENTS_HISTORY_LONG].ENABLED == 'YES' + AND + TABLE THREADS[THREAD_ID].HISTORY == 'YES' + */ + bool m_flag_events_statements_history_long; + /** + Derived flag flag_events_transactions_history, per thread. + Cached computation of + TABLE SETUP_CONSUMERS[EVENTS_TRANSACTIONS_HISTORY].ENABLED == 'YES' + AND + TABLE THREADS[THREAD_ID].HISTORY == 'YES' + */ + bool m_flag_events_transactions_history; + /** + Derived flag flag_events_transactions_history_long, per thread. + Cached computation of + TABLE SETUP_CONSUMERS[EVENTS_TRANSACTIONS_HISTORY_LONG].ENABLED == 'YES' + AND + TABLE THREADS[THREAD_ID].HISTORY == 'YES' + */ + bool m_flag_events_transactions_history_long; - /** Thread instrumentation flag. */ - bool m_enabled; /** Current wait event in the event stack. */ PFS_events_waits *m_events_waits_current; /** Event ID counter */ @@ -397,18 +440,22 @@ struct PFS_ALIGNED PFS_thread : PFS_connection_slice LF_PINS *m_account_hash_pins; /** Pins for digest_hash. */ LF_PINS *m_digest_hash_pins; + /** Pins for routine_hash. */ + LF_PINS *m_program_hash_pins; /** Internal thread identifier, unique. */ ulonglong m_thread_internal_id; /** Parent internal thread identifier. */ ulonglong m_parent_thread_internal_id; /** External (SHOW PROCESSLIST) thread identifier, not unique. */ ulong m_processlist_id; + /** External (Operating system) thread identifier, if any. */ + my_thread_os_id_t m_thread_os_id; /** Thread class. */ PFS_thread_class *m_class; /** Stack of events waits. This member holds the data for the table PERFORMANCE_SCHEMA.EVENTS_WAITS_CURRENT. - Note that stack[0] is a dummy record that represents the parent stage/statement. + Note that stack[0] is a dummy record that represents the parent stage/statement/transaction. For example, assuming the following tree: - STAGE ID 100 - WAIT ID 101, parent STAGE 100 @@ -468,12 +515,24 @@ struct PFS_ALIGNED PFS_thread : PFS_connection_slice */ PFS_events_statements *m_statements_history; + /** True if the circular buffer @c m_transactions_history is full. */ + bool m_transactions_history_full; + /** Current index in the circular buffer @c m_transactions_history. */ + uint m_transactions_history_index; + /** + Statements history circular buffer. + This member holds the data for the table + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_HISTORY. + */ + PFS_events_transactions *m_transactions_history; + /** Internal lock, for session attributes. Statement attributes are expected to be updated in frequently, typically per session execution. */ pfs_lock m_session_lock; + /** User name. Protected by @c m_session_lock. @@ -506,6 +565,8 @@ struct PFS_ALIGNED PFS_thread : PFS_connection_slice uint m_dbname_length; /** Current command. */ int m_command; + /** Connection type. */ + enum_vio_type m_connection_type; /** Start time. */ time_t m_start_time; /** @@ -516,6 +577,8 @@ struct PFS_ALIGNED PFS_thread : PFS_connection_slice pfs_lock m_stmt_lock; /** Processlist state (derived from stage). */ PFS_stage_key m_stage; + /** Current stage progress. */ + PSI_stage_progress* m_stage_progress; /** Processlist info. Protected by @c m_stmt_lock. @@ -533,6 +596,9 @@ struct PFS_ALIGNED PFS_thread : PFS_connection_slice uint m_events_statements_count; PFS_events_statements *m_statement_stack; + PFS_events_transactions m_transaction_current; + + THD *m_thd; PFS_host *m_host; PFS_user *m_user; PFS_account *m_account; @@ -555,10 +621,28 @@ struct PFS_ALIGNED PFS_thread : PFS_connection_slice Protected by @c m_session_lock. */ uint m_session_connect_attrs_cs_number; + + void carry_memory_stat_delta(PFS_memory_stat_delta *delta, uint index); + + void set_enabled(bool enabled) + { + m_enabled= enabled; + } + + void set_history(bool history) + { + m_history= history; + set_history_derived_flags(); + } + + void set_history_derived_flags(); }; +void carry_global_memory_stat_delta(PFS_memory_stat_delta *delta, uint index); + extern PFS_stage_stat *global_instr_class_stages_array; extern PFS_statement_stat *global_instr_class_statements_array; +extern PFS_memory_stat *global_instr_class_memory_array; PFS_mutex *sanitize_mutex(PFS_mutex *unsafe); PFS_rwlock *sanitize_rwlock(PFS_rwlock *unsafe); @@ -566,10 +650,11 @@ PFS_cond *sanitize_cond(PFS_cond *unsafe); PFS_thread *sanitize_thread(PFS_thread *unsafe); PFS_file *sanitize_file(PFS_file *unsafe); PFS_socket *sanitize_socket(PFS_socket *unsafe); +PFS_metadata_lock *sanitize_metadata_lock(PFS_metadata_lock *unsafe); int init_instruments(const PFS_global_param *param); void cleanup_instruments(); -int init_file_hash(); +int init_file_hash(const PFS_global_param *param); void cleanup_file_hash(); PFS_mutex* create_mutex(PFS_mutex_class *mutex_class, const void *identity); void destroy_mutex(PFS_mutex *pfs); @@ -598,27 +683,23 @@ PFS_socket* create_socket(PFS_socket_class *socket_class, socklen_t addr_len); void destroy_socket(PFS_socket *pfs); +PFS_metadata_lock* create_metadata_lock(void *identity, + const MDL_key *mdl_key, + opaque_mdl_type mdl_type, + opaque_mdl_duration mdl_duration, + opaque_mdl_status mdl_status, + const char *src_file, + uint src_line); +void destroy_metadata_lock(PFS_metadata_lock *pfs); + /* For iterators and show status. */ -extern ulong mutex_max; -extern ulong mutex_lost; -extern ulong rwlock_max; -extern ulong rwlock_lost; -extern ulong cond_max; -extern ulong cond_lost; -extern ulong thread_max; -extern ulong thread_lost; -extern ulong file_max; -extern ulong file_lost; extern long file_handle_max; extern ulong file_handle_lost; -extern ulong table_max; -extern ulong table_lost; -extern ulong socket_max; -extern ulong socket_lost; extern ulong events_waits_history_per_thread; extern ulong events_stages_history_per_thread; extern ulong events_statements_history_per_thread; +extern ulong events_transactions_history_per_thread; extern ulong locker_lost; extern ulong statement_lost; extern ulong session_connect_attrs_lost; @@ -626,14 +707,7 @@ extern ulong session_connect_attrs_size_per_thread; /* Exposing the data directly, for iterators. */ -extern PFS_mutex *mutex_array; -extern PFS_rwlock *rwlock_array; -extern PFS_cond *cond_array; -extern PFS_thread *thread_array; -extern PFS_file *file_array; extern PFS_file **file_handle_array; -extern PFS_table *table_array; -extern PFS_socket *socket_array; void reset_events_waits_by_instance(); void reset_file_instance_io(); @@ -657,6 +731,20 @@ void aggregate_all_statements(PFS_statement_stat *from_array, PFS_statement_stat *to_array_1, PFS_statement_stat *to_array_2); +void aggregate_all_transactions(PFS_transaction_stat *from_array, + PFS_transaction_stat *to_array); +void aggregate_all_transactions(PFS_transaction_stat *from_array, + PFS_transaction_stat *to_array_1, + PFS_transaction_stat *to_array_2); + +void aggregate_all_memory(bool alive, + PFS_memory_stat *from_array, + PFS_memory_stat *to_array); +void aggregate_all_memory(bool alive, + PFS_memory_stat *from_array, + PFS_memory_stat *to_array_1, + PFS_memory_stat *to_array_2); + void aggregate_thread(PFS_thread *thread, PFS_account *safe_account, PFS_user *safe_user, @@ -673,6 +761,21 @@ void aggregate_thread_statements(PFS_thread *thread, PFS_account *safe_account, PFS_user *safe_user, PFS_host *safe_host); +void aggregate_thread_transactions(PFS_thread *thread, + PFS_account *safe_account, + PFS_user *safe_user, + PFS_host *safe_host); + +void aggregate_thread_memory(bool alive, PFS_thread *thread, + PFS_account *safe_account, + PFS_user *safe_user, + PFS_host *safe_host); + +void aggregate_thread_status(PFS_thread *thread, + PFS_account *safe_account, + PFS_user *safe_user, + PFS_host *safe_host); + void clear_thread_account(PFS_thread *thread); void set_thread_account(PFS_thread *thread); @@ -688,6 +791,10 @@ void update_file_derived_flags(); void update_table_derived_flags(); /** Update derived flags for all socket instances. */ void update_socket_derived_flags(); +/** Update derived flags for all metadata instances. */ +void update_metadata_derived_flags(); +/** Update derived flags for all thread instances. */ +void update_thread_derived_flags(); /** Update derived flags for all instruments. */ void update_instruments_derived_flags(); diff --git a/storage/perfschema/pfs_instr_class.cc b/storage/perfschema/pfs_instr_class.cc index 61d9b4d1484..35631bb2ea9 100644 --- a/storage/perfschema/pfs_instr_class.cc +++ b/storage/perfschema/pfs_instr_class.cc @@ -20,15 +20,17 @@ #include "my_global.h" #include "my_sys.h" -#include "structs.h" #include "table.h" #include "pfs_instr_class.h" +#include "pfs_builtin_memory.h" #include "pfs_instr.h" #include "pfs_global.h" #include "pfs_timer.h" #include "pfs_events_waits.h" #include "pfs_setup_object.h" #include "pfs_atomic.h" +#include "pfs_program.h" +#include "pfs_buffer_container.h" #include "mysql/psi/mysql_thread.h" #include "lf.h" @@ -48,11 +50,9 @@ my_bool pfs_enabled= TRUE; /** - PFS_INSTRUMENT option settings array and associated state variable to - serialize access during shutdown. + PFS_INSTRUMENT option settings array */ -DYNAMIC_ARRAY pfs_instr_config_array; -int pfs_instr_config_state= PFS_INSTR_CONFIG_NOT_INITIALIZED; +Pfs_instr_config_array *pfs_instr_config_array= NULL; static void configure_instr_class(PFS_instr_class *entry); @@ -68,12 +68,12 @@ static void init_instr_class(PFS_instr_class *klass, - the performance schema initialization - a plugin initialization */ -static volatile uint32 mutex_class_dirty_count= 0; -static volatile uint32 mutex_class_allocated_count= 0; -static volatile uint32 rwlock_class_dirty_count= 0; -static volatile uint32 rwlock_class_allocated_count= 0; -static volatile uint32 cond_class_dirty_count= 0; -static volatile uint32 cond_class_allocated_count= 0; +static uint32 mutex_class_dirty_count= 0; +static uint32 mutex_class_allocated_count= 0; +static uint32 rwlock_class_dirty_count= 0; +static uint32 rwlock_class_allocated_count= 0; +static uint32 cond_class_dirty_count= 0; +static uint32 cond_class_allocated_count= 0; /** Size of the mutex class array. @sa mutex_class_array */ ulong mutex_class_max= 0; @@ -103,14 +103,21 @@ ulong stage_class_lost= 0; ulong statement_class_max= 0; /** Number of statement class lost. @sa statement_class_array */ ulong statement_class_lost= 0; -/** Size of the table share array. @sa table_share_array */ -ulong table_share_max= 0; -/** Number of table share lost. @sa table_share_array */ -ulong table_share_lost= 0; /** Size of the socket class array. @sa socket_class_array */ ulong socket_class_max= 0; /** Number of socket class lost. @sa socket_class_array */ ulong socket_class_lost= 0; +/** Size of the memory class array. @sa memory_class_array */ +ulong memory_class_max= 0; +/** Number of memory class lost. @sa memory_class_array */ +ulong memory_class_lost= 0; + +/** + Number of transaction classes. Although there is only one transaction class, + this is used for sizing by other event classes. + @sa global_transaction_class +*/ +ulong transaction_class_max= 0; PFS_mutex_class *mutex_class_array= NULL; PFS_rwlock_class *rwlock_class_array= NULL; @@ -122,47 +129,45 @@ PFS_cond_class *cond_class_array= NULL; - the performance schema initialization - a plugin initialization */ -static volatile uint32 thread_class_dirty_count= 0; -static volatile uint32 thread_class_allocated_count= 0; +static uint32 thread_class_dirty_count= 0; +static uint32 thread_class_allocated_count= 0; static PFS_thread_class *thread_class_array= NULL; -/** - Table instance array. - @sa table_share_max - @sa table_share_lost - @sa table_share_hash -*/ -PFS_table_share *table_share_array= NULL; - PFS_ALIGNED PFS_single_stat global_idle_stat; PFS_ALIGNED PFS_table_io_stat global_table_io_stat; PFS_ALIGNED PFS_table_lock_stat global_table_lock_stat; +PFS_ALIGNED PFS_single_stat global_metadata_stat; +PFS_ALIGNED PFS_transaction_stat global_transaction_stat; PFS_ALIGNED PFS_instr_class global_table_io_class; PFS_ALIGNED PFS_instr_class global_table_lock_class; PFS_ALIGNED PFS_instr_class global_idle_class; +PFS_ALIGNED PFS_instr_class global_metadata_class; +PFS_ALIGNED PFS_transaction_class global_transaction_class; /** Class-timer map */ enum_timer_name *class_timers[] = -{&wait_timer, /* PFS_CLASS_NONE */ - &wait_timer, /* PFS_CLASS_MUTEX */ - &wait_timer, /* PFS_CLASS_RWLOCK */ - &wait_timer, /* PFS_CLASS_COND */ - &wait_timer, /* PFS_CLASS_FILE */ - &wait_timer, /* PFS_CLASS_TABLE */ - &stage_timer, /* PFS_CLASS_STAGE */ - &statement_timer, /* PFS_CLASS_STATEMENT */ - &wait_timer, /* PFS_CLASS_SOCKET */ - &wait_timer, /* PFS_CLASS_TABLE_IO */ - &wait_timer, /* PFS_CLASS_TABLE_LOCK */ - &idle_timer /* PFS_CLASS_IDLE */ +{&wait_timer, /* PFS_CLASS_NONE */ + &wait_timer, /* PFS_CLASS_MUTEX */ + &wait_timer, /* PFS_CLASS_RWLOCK */ + &wait_timer, /* PFS_CLASS_COND */ + &wait_timer, /* PFS_CLASS_FILE */ + &wait_timer, /* PFS_CLASS_TABLE */ + &stage_timer, /* PFS_CLASS_STAGE */ + &statement_timer, /* PFS_CLASS_STATEMENT */ + &transaction_timer, /* PFS_CLASS_TRANSACTION */ + &wait_timer, /* PFS_CLASS_SOCKET */ + &wait_timer, /* PFS_CLASS_TABLE_IO */ + &wait_timer, /* PFS_CLASS_TABLE_LOCK */ + &idle_timer, /* PFS_CLASS_IDLE */ + &wait_timer, /* PFS_CLASS_METADATA */ + &wait_timer /* PFS_CLASS_MEMORY */ }; /** Hash index for instrumented table shares. This index is searched by table fully qualified name (@c PFS_table_share_key), and points to instrumented table shares (@c PFS_table_share). - @sa table_share_array @sa PFS_table_share_key @sa PFS_table_share @sa table_share_hash_get_key @@ -172,26 +177,31 @@ LF_HASH table_share_hash; /** True if table_share_hash is initialized. */ static bool table_share_hash_inited= false; -static volatile uint32 file_class_dirty_count= 0; -static volatile uint32 file_class_allocated_count= 0; +static uint32 file_class_dirty_count= 0; +static uint32 file_class_allocated_count= 0; PFS_file_class *file_class_array= NULL; -static volatile uint32 stage_class_dirty_count= 0; -static volatile uint32 stage_class_allocated_count= 0; +static uint32 stage_class_dirty_count= 0; +static uint32 stage_class_allocated_count= 0; static PFS_stage_class *stage_class_array= NULL; -static volatile uint32 statement_class_dirty_count= 0; -static volatile uint32 statement_class_allocated_count= 0; +static uint32 statement_class_dirty_count= 0; +static uint32 statement_class_allocated_count= 0; static PFS_statement_class *statement_class_array= NULL; -static volatile uint32 socket_class_dirty_count= 0; -static volatile uint32 socket_class_allocated_count= 0; +static uint32 socket_class_dirty_count= 0; +static uint32 socket_class_allocated_count= 0; static PFS_socket_class *socket_class_array= NULL; +static uint32 memory_class_dirty_count= 0; +static uint32 memory_class_allocated_count= 0; + +static PFS_memory_class *memory_class_array= NULL; + uint mutex_class_start= 0; uint rwlock_class_start= 0; uint cond_class_start= 0; @@ -201,7 +211,8 @@ uint socket_class_start= 0; void init_event_name_sizing(const PFS_global_param *param) { - mutex_class_start= 3; /* global table io, table lock, idle */ + /* global table io, table lock, idle, metadata */ + mutex_class_start= COUNT_GLOBAL_EVENT_INDEX; rwlock_class_start= mutex_class_start + param->m_mutex_class_sizing; cond_class_start= rwlock_class_start + param->m_rwlock_class_sizing; file_class_start= cond_class_start + param->m_cond_class_sizing; @@ -222,12 +233,29 @@ void register_global_classes() 0, PFS_CLASS_TABLE_LOCK); global_table_lock_class.m_event_name_index= GLOBAL_TABLE_LOCK_EVENT_INDEX; configure_instr_class(&global_table_lock_class); - + /* Idle class */ init_instr_class(&global_idle_class, "idle", 4, 0, PFS_CLASS_IDLE); global_idle_class.m_event_name_index= GLOBAL_IDLE_EVENT_INDEX; configure_instr_class(&global_idle_class); + + /* Metadata class */ + init_instr_class(&global_metadata_class, "wait/lock/metadata/sql/mdl", 26, + 0, PFS_CLASS_METADATA); + global_metadata_class.m_event_name_index= GLOBAL_METADATA_EVENT_INDEX; + global_metadata_class.m_enabled= false; /* Disabled by default */ + global_metadata_class.m_timed= false; + configure_instr_class(&global_metadata_class); + + /* Transaction class */ + init_instr_class(&global_transaction_class, "transaction", 11, + 0, PFS_CLASS_TRANSACTION); + global_transaction_class.m_event_name_index= GLOBAL_TRANSACTION_INDEX; + global_transaction_class.m_enabled= false; /* Disabled by default */ + global_transaction_class.m_timed= false; + configure_instr_class(&global_transaction_class); + transaction_class_max= 1; /* used for sizing by other event classes */ } /** @@ -255,24 +283,30 @@ int init_sync_class(uint mutex_class_sizing, if (mutex_class_max > 0) { - mutex_class_array= PFS_MALLOC_ARRAY(mutex_class_max, sizeof(PFS_mutex_class), - PFS_mutex_class, MYF(MY_ZEROFILL)); + mutex_class_array= PFS_MALLOC_ARRAY(& builtin_memory_mutex_class, + mutex_class_max, + sizeof(PFS_mutex_class), PFS_mutex_class, + MYF(MY_ZEROFILL)); if (unlikely(mutex_class_array == NULL)) return 1; } if (rwlock_class_max > 0) { - rwlock_class_array= PFS_MALLOC_ARRAY(rwlock_class_max, sizeof(PFS_rwlock_class), - PFS_rwlock_class, MYF(MY_ZEROFILL)); + rwlock_class_array= PFS_MALLOC_ARRAY(& builtin_memory_rwlock_class, + rwlock_class_max, + sizeof(PFS_rwlock_class), PFS_rwlock_class, + MYF(MY_ZEROFILL)); if (unlikely(rwlock_class_array == NULL)) return 1; } if (cond_class_max > 0) { - cond_class_array= PFS_MALLOC_ARRAY(cond_class_max, sizeof(PFS_cond_class), - PFS_cond_class, MYF(MY_ZEROFILL)); + cond_class_array= PFS_MALLOC_ARRAY(& builtin_memory_cond_class, + cond_class_max, + sizeof(PFS_cond_class), PFS_cond_class, + MYF(MY_ZEROFILL)); if (unlikely(cond_class_array == NULL)) return 1; } @@ -283,13 +317,21 @@ int init_sync_class(uint mutex_class_sizing, /** Cleanup the instrument synch class buffers. */ void cleanup_sync_class(void) { - pfs_free(mutex_class_array); + PFS_FREE_ARRAY(& builtin_memory_mutex_class, + mutex_class_max, sizeof(PFS_mutex_class), + mutex_class_array); mutex_class_array= NULL; mutex_class_dirty_count= mutex_class_allocated_count= mutex_class_max= 0; - pfs_free(rwlock_class_array); + + PFS_FREE_ARRAY(& builtin_memory_rwlock_class, + rwlock_class_max, sizeof(PFS_rwlock_class), + rwlock_class_array); rwlock_class_array= NULL; rwlock_class_dirty_count= rwlock_class_allocated_count= rwlock_class_max= 0; - pfs_free(cond_class_array); + + PFS_FREE_ARRAY(& builtin_memory_cond_class, + cond_class_max, sizeof(PFS_cond_class), + cond_class_array); cond_class_array= NULL; cond_class_dirty_count= cond_class_allocated_count= cond_class_max= 0; } @@ -308,8 +350,10 @@ int init_thread_class(uint thread_class_sizing) if (thread_class_max > 0) { - thread_class_array= PFS_MALLOC_ARRAY(thread_class_max, sizeof(PFS_thread_class), - PFS_thread_class, MYF(MY_ZEROFILL)); + thread_class_array= PFS_MALLOC_ARRAY(& builtin_memory_thread_class, + thread_class_max, + sizeof(PFS_thread_class), PFS_thread_class, + MYF(MY_ZEROFILL)); if (unlikely(thread_class_array == NULL)) result= 1; } @@ -322,7 +366,9 @@ int init_thread_class(uint thread_class_sizing) /** Cleanup the thread class buffers. */ void cleanup_thread_class(void) { - pfs_free(thread_class_array); + PFS_FREE_ARRAY(& builtin_memory_thread_class, + thread_class_max, sizeof(PFS_thread_class), + thread_class_array); thread_class_array= NULL; thread_class_dirty_count= thread_class_allocated_count= 0; thread_class_max= 0; @@ -335,29 +381,16 @@ void cleanup_thread_class(void) */ int init_table_share(uint table_share_sizing) { - int result= 0; - table_share_max= table_share_sizing; - table_share_lost= 0; - - if (table_share_max > 0) - { - table_share_array= PFS_MALLOC_ARRAY(table_share_max, sizeof(PFS_table_share), - PFS_table_share, MYF(MY_ZEROFILL)); - if (unlikely(table_share_array == NULL)) - result= 1; - } - else - table_share_array= NULL; + if (global_table_share_container.init(table_share_sizing)) + return 1; - return result; + return 0; } /** Cleanup the table share buffers. */ void cleanup_table_share(void) { - pfs_free(table_share_array); - table_share_array= NULL; - table_share_max= 0; + global_table_share_container.cleanup(); } C_MODE_START @@ -379,13 +412,12 @@ static uchar *table_share_hash_get_key(const uchar *entry, size_t *length, C_MODE_END /** Initialize the table share hash table. */ -int init_table_share_hash(void) +int init_table_share_hash(const PFS_global_param *param) { - if ((! table_share_hash_inited) && (table_share_max > 0)) + if ((! table_share_hash_inited) && (param->m_table_share_sizing != 0)) { lf_hash_init(&table_share_hash, sizeof(PFS_table_share*), LF_HASH_UNIQUE, 0, 0, table_share_hash_get_key, &my_charset_bin); - table_share_hash.size= table_share_max; table_share_hash_inited= true; } return 0; @@ -428,8 +460,8 @@ LF_PINS* get_table_share_hash_pins(PFS_thread *thread) */ static void set_table_share_key(PFS_table_share_key *key, bool temporary, - const char *schema_name, uint schema_name_length, - const char *table_name, uint table_name_length) + const char *schema_name, size_t schema_name_length, + const char *table_name, size_t table_name_length) { DBUG_ASSERT(schema_name_length <= NAME_LEN); DBUG_ASSERT(table_name_length <= NAME_LEN); @@ -458,13 +490,315 @@ static void set_table_share_key(PFS_table_share_key *key, } } +/** + Find an existing table share lock instrumentation. + @return a table share lock. +*/ +PFS_table_share_lock* +PFS_table_share::find_lock_stat() const +{ + PFS_table_share *that= const_cast<PFS_table_share*>(this); + void *addr= & that->m_race_lock_stat; + void * volatile * typed_addr= static_cast<void * volatile *>(addr); + void *ptr; + + /* Atomic Load */ + ptr= my_atomic_loadptr(typed_addr); + + PFS_table_share_lock *pfs; + pfs= static_cast<PFS_table_share_lock *>(ptr); + return pfs; +} + +/** + Find or create a table share lock instrumentation. + @return a table share lock, or NULL. +*/ +PFS_table_share_lock* +PFS_table_share::find_or_create_lock_stat() +{ + void *addr= & this->m_race_lock_stat; + void * volatile * typed_addr= static_cast<void * volatile *>(addr); + void *ptr; + + /* (1) Atomic Load */ + ptr= my_atomic_loadptr(typed_addr); + + PFS_table_share_lock *pfs; + if (ptr != NULL) + { + pfs= static_cast<PFS_table_share_lock *>(ptr); + return pfs; + } + + /* (2) Create a lock stat */ + pfs= create_table_share_lock_stat(); + if (pfs == NULL) + return NULL; + pfs->m_owner= this; + + void *old_ptr= NULL; + ptr= pfs; + + /* (3) Atomic CAS */ + if (my_atomic_casptr(typed_addr, & old_ptr, ptr)) + { + /* Ok. */ + return pfs; + } + + /* Collision with another thread that also executed (2) and (3). */ + release_table_share_lock_stat(pfs); + + pfs= static_cast<PFS_table_share_lock *>(old_ptr); + return pfs; +} + +/** Destroy a table share lock instrumentation. */ +void PFS_table_share::destroy_lock_stat() +{ + void *addr= & this->m_race_lock_stat; + void * volatile * typed_addr= static_cast<void * volatile *>(addr); + void *new_ptr= NULL; + void *old_ptr; + + old_ptr= my_atomic_fasptr(typed_addr, new_ptr); + if (old_ptr != NULL) + { + PFS_table_share_lock *pfs; + pfs= static_cast<PFS_table_share_lock *>(old_ptr); + release_table_share_lock_stat(pfs); + } +} + +/** + Find an existing table share index instrumentation. + @return a table share index +*/ +PFS_table_share_index* +PFS_table_share::find_index_stat(uint index) const +{ + DBUG_ASSERT(index <= MAX_INDEXES); + + PFS_table_share *that= const_cast<PFS_table_share*>(this); + void *addr= & that->m_race_index_stat[index]; + void * volatile * typed_addr= static_cast<void * volatile *>(addr); + void *ptr; + + /* Atomic Load */ + ptr= my_atomic_loadptr(typed_addr); + + PFS_table_share_index *pfs; + pfs= static_cast<PFS_table_share_index *>(ptr); + return pfs; +} + +/** + Find or create a table share index instrumentation. + @param server_share + @index index + @return a table share index, or NULL +*/ +PFS_table_share_index* +PFS_table_share::find_or_create_index_stat(const TABLE_SHARE *server_share, uint index) +{ + DBUG_ASSERT(index <= MAX_INDEXES); + + void *addr= & this->m_race_index_stat[index]; + void * volatile * typed_addr= static_cast<void * volatile *>(addr); + void *ptr; + + /* (1) Atomic Load */ + ptr= my_atomic_loadptr(typed_addr); + + PFS_table_share_index *pfs; + if (ptr != NULL) + { + pfs= static_cast<PFS_table_share_index *>(ptr); + return pfs; + } + + /* (2) Create an index stat */ + pfs= create_table_share_index_stat(server_share, index); + if (pfs == NULL) + return NULL; + pfs->m_owner= this; + + void *old_ptr= NULL; + ptr= pfs; + + /* (3) Atomic CAS */ + if (my_atomic_casptr(typed_addr, & old_ptr, ptr)) + { + /* Ok. */ + return pfs; + } + + /* Collision with another thread that also executed (2) and (3). */ + release_table_share_index_stat(pfs); + + pfs= static_cast<PFS_table_share_index *>(old_ptr); + return pfs; +} + +/** Destroy table share index instrumentation. */ +void PFS_table_share::destroy_index_stats() +{ + uint index; + + for (index= 0; index <= MAX_INDEXES; index++) + { + void *addr= & this->m_race_index_stat[index]; + void * volatile * typed_addr= static_cast<void * volatile *>(addr); + void *new_ptr= NULL; + void *old_ptr; + + old_ptr= my_atomic_fasptr(typed_addr, new_ptr); + if (old_ptr != NULL) + { + PFS_table_share_index *pfs; + pfs= static_cast<PFS_table_share_index *>(old_ptr); + release_table_share_index_stat(pfs); + } + } +} + void PFS_table_share::refresh_setup_object_flags(PFS_thread *thread) { + bool old_enabled= m_enabled; + lookup_setup_object(thread, OBJECT_TYPE_TABLE, m_schema_name, m_schema_name_length, m_table_name, m_table_name_length, &m_enabled, &m_timed); + + /* + If instrumentation for this table was enabled earlier and is disabled now, + cleanup slots reserved for lock stats and index stats. + */ + if (old_enabled && ! m_enabled) + { + destroy_lock_stat(); + destroy_index_stats(); + } +} + +/** + Initialize the table lock stat buffer. + @param table_stat_sizing max number of table lock statistics + @return 0 on success +*/ +int init_table_share_lock_stat(uint table_stat_sizing) +{ + if (global_table_share_lock_container.init(table_stat_sizing)) + return 1; + + return 0; +} + +/** + Create a table share lock instrumentation. + @return table share lock instrumentation, or NULL +*/ +PFS_table_share_lock* +create_table_share_lock_stat() +{ + PFS_table_share_lock *pfs= NULL; + pfs_dirty_state dirty_state; + + /* Create a new record in table stat array. */ + pfs= global_table_share_lock_container.allocate(& dirty_state); + if (pfs != NULL) + { + /* Reset the stats. */ + pfs->m_stat.reset(); + + /* Use this stat buffer. */ + pfs->m_lock.dirty_to_allocated(& dirty_state); + } + + return pfs; +} + +/** Release a table share lock instrumentation. */ +void release_table_share_lock_stat(PFS_table_share_lock *pfs) +{ + pfs->m_owner= NULL; + global_table_share_lock_container.deallocate(pfs); + return; +} + +/** Cleanup the table stat buffers. */ +void cleanup_table_share_lock_stat(void) +{ + global_table_share_lock_container.cleanup(); +} + +/** + Initialize table index stat buffer. + @param index_stat_sizing max number of index statistics + @return 0 on success +*/ +int init_table_share_index_stat(uint index_stat_sizing) +{ + if (global_table_share_index_container.init(index_stat_sizing)) + return 1; + + return 0; +} + +/** + Create a table share index instrumentation. + @return table share index instrumentation, or NULL +*/ +PFS_table_share_index* +create_table_share_index_stat(const TABLE_SHARE *server_share, uint server_index) +{ + DBUG_ASSERT((server_share != NULL) || (server_index == MAX_INDEXES)); + + PFS_table_share_index *pfs= NULL; + pfs_dirty_state dirty_state; + + /* Create a new record in index stat array. */ + pfs= global_table_share_index_container.allocate(& dirty_state); + if (pfs != NULL) + { + if (server_index == MAX_INDEXES) + { + pfs->m_key.m_name_length= 0; + } + else + { + KEY *key_info= server_share->key_info + server_index; + size_t len= strlen(key_info->name); + + memcpy(pfs->m_key.m_name, key_info->name, len); + pfs->m_key.m_name_length= len; + } + + /* Reset the stats. */ + pfs->m_stat.reset(); + + /* Use this stat buffer. */ + pfs->m_lock.dirty_to_allocated(& dirty_state); + } + + return pfs; +} + +/** Release a table share index instrumentation. */ +void release_table_share_index_stat(PFS_table_share_index *pfs) +{ + pfs->m_owner= NULL; + global_table_share_index_container.deallocate(pfs); + return; +} + +/** Cleanup the table stat buffers. */ +void cleanup_table_share_index_stat(void) +{ + global_table_share_index_container.cleanup(); } /** @@ -481,8 +815,10 @@ int init_file_class(uint file_class_sizing) if (file_class_max > 0) { - file_class_array= PFS_MALLOC_ARRAY(file_class_max, sizeof(PFS_file_class), - PFS_file_class, MYF(MY_ZEROFILL)); + file_class_array= PFS_MALLOC_ARRAY(& builtin_memory_file_class, + file_class_max, + sizeof(PFS_file_class), PFS_file_class, + MYF(MY_ZEROFILL)); if (unlikely(file_class_array == NULL)) return 1; } @@ -495,7 +831,9 @@ int init_file_class(uint file_class_sizing) /** Cleanup the file class buffers. */ void cleanup_file_class(void) { - pfs_free(file_class_array); + PFS_FREE_ARRAY(& builtin_memory_file_class, + file_class_max, sizeof(PFS_file_class), + file_class_array); file_class_array= NULL; file_class_dirty_count= file_class_allocated_count= 0; file_class_max= 0; @@ -515,8 +853,10 @@ int init_stage_class(uint stage_class_sizing) if (stage_class_max > 0) { - stage_class_array= PFS_MALLOC_ARRAY(stage_class_max, sizeof(PFS_stage_class), - PFS_stage_class, MYF(MY_ZEROFILL)); + stage_class_array= PFS_MALLOC_ARRAY(& builtin_memory_stage_class, + stage_class_max, + sizeof(PFS_stage_class), PFS_stage_class, + MYF(MY_ZEROFILL)); if (unlikely(stage_class_array == NULL)) return 1; } @@ -529,7 +869,9 @@ int init_stage_class(uint stage_class_sizing) /** Cleanup the stage class buffers. */ void cleanup_stage_class(void) { - pfs_free(stage_class_array); + PFS_FREE_ARRAY(& builtin_memory_stage_class, + stage_class_max, sizeof(PFS_stage_class), + stage_class_array); stage_class_array= NULL; stage_class_dirty_count= stage_class_allocated_count= 0; stage_class_max= 0; @@ -549,8 +891,10 @@ int init_statement_class(uint statement_class_sizing) if (statement_class_max > 0) { - statement_class_array= PFS_MALLOC_ARRAY(statement_class_max, sizeof(PFS_statement_class), - PFS_statement_class, MYF(MY_ZEROFILL)); + statement_class_array= PFS_MALLOC_ARRAY(& builtin_memory_statement_class, + statement_class_max, + sizeof(PFS_statement_class), PFS_statement_class, + MYF(MY_ZEROFILL)); if (unlikely(statement_class_array == NULL)) return 1; } @@ -563,7 +907,9 @@ int init_statement_class(uint statement_class_sizing) /** Cleanup the statement class buffers. */ void cleanup_statement_class(void) { - pfs_free(statement_class_array); + PFS_FREE_ARRAY(& builtin_memory_statement_class, + statement_class_max, sizeof(PFS_statement_class), + statement_class_array); statement_class_array= NULL; statement_class_dirty_count= statement_class_allocated_count= 0; statement_class_max= 0; @@ -583,8 +929,10 @@ int init_socket_class(uint socket_class_sizing) if (socket_class_max > 0) { - socket_class_array= PFS_MALLOC_ARRAY(socket_class_max, sizeof(PFS_socket_class), - PFS_socket_class, MYF(MY_ZEROFILL)); + socket_class_array= PFS_MALLOC_ARRAY(& builtin_memory_socket_class, + socket_class_max, + sizeof(PFS_socket_class), PFS_socket_class, + MYF(MY_ZEROFILL)); if (unlikely(socket_class_array == NULL)) return 1; } @@ -597,12 +945,52 @@ int init_socket_class(uint socket_class_sizing) /** Cleanup the socket class buffers. */ void cleanup_socket_class(void) { - pfs_free(socket_class_array); + PFS_FREE_ARRAY(& builtin_memory_socket_class, + socket_class_max, sizeof(PFS_socket_class), + socket_class_array); socket_class_array= NULL; socket_class_dirty_count= socket_class_allocated_count= 0; socket_class_max= 0; } +/** + Initialize the memory class buffer. + @param memory_class_sizing max number of memory class + @return 0 on success +*/ +int init_memory_class(uint memory_class_sizing) +{ + int result= 0; + memory_class_dirty_count= memory_class_allocated_count= 0; + memory_class_max= memory_class_sizing; + memory_class_lost= 0; + + if (memory_class_max > 0) + { + memory_class_array= PFS_MALLOC_ARRAY(& builtin_memory_memory_class, + memory_class_max, + sizeof(PFS_memory_class), PFS_memory_class, + MYF(MY_ZEROFILL)); + if (unlikely(memory_class_array == NULL)) + return 1; + } + else + memory_class_array= NULL; + + return result; +} + +/** Cleanup the memory class buffers. */ +void cleanup_memory_class(void) +{ + PFS_FREE_ARRAY(& builtin_memory_memory_class, + memory_class_max, sizeof(PFS_memory_class), + memory_class_array); + memory_class_array= NULL; + memory_class_dirty_count= memory_class_allocated_count= 0; + memory_class_max= 0; +} + static void init_instr_class(PFS_instr_class *klass, const char *name, uint name_length, @@ -627,10 +1015,13 @@ static void configure_instr_class(PFS_instr_class *entry) { uint match_length= 0; /* length of matching pattern */ - for (uint i= 0; i < pfs_instr_config_array.elements; i++) + // May be NULL in unit tests + if (pfs_instr_config_array == NULL) + return; + Pfs_instr_config_array::iterator it= pfs_instr_config_array->begin(); + for ( ; it != pfs_instr_config_array->end(); it++) { - PFS_instr_config* e; - get_dynamic(&pfs_instr_config_array, (uchar*)&e, i); + PFS_instr_config* e= *it; /** Compare class name to all configuration entries. In case of multiple @@ -756,7 +1147,8 @@ PFS_sync_key register_mutex_class(const char *name, uint name_length, Out of space, report to SHOW STATUS that the allocated memory was too small. */ - mutex_class_lost++; + if (pfs_enabled) + mutex_class_lost++; return 0; } @@ -794,7 +1186,8 @@ PFS_sync_key register_rwlock_class(const char *name, uint name_length, return (index + 1); } - rwlock_class_lost++; + if (pfs_enabled) + rwlock_class_lost++; return 0; } @@ -831,7 +1224,8 @@ PFS_sync_key register_cond_class(const char *name, uint name_length, return (index + 1); } - cond_class_lost++; + if (pfs_enabled) + cond_class_lost++; return 0; } @@ -921,7 +1315,8 @@ PFS_thread_key register_thread_class(const char *name, uint name_length, return (index + 1); } - thread_class_lost++; + if (pfs_enabled) + thread_class_lost++; return 0; } @@ -970,10 +1365,12 @@ PFS_file_key register_file_class(const char *name, uint name_length, /* Set user-defined configuration options for this instrument */ configure_instr_class(entry); PFS_atomic::add_u32(&file_class_allocated_count, 1); + return (index + 1); } - file_class_lost++; + if (pfs_enabled) + file_class_lost++; return 0; } @@ -1005,8 +1402,20 @@ PFS_stage_key register_stage_class(const char *name, init_instr_class(entry, name, name_length, flags, PFS_CLASS_STAGE); entry->m_prefix_length= prefix_length; entry->m_event_name_index= index; - entry->m_enabled= false; /* disabled by default */ - entry->m_timed= false; + + if (flags & PSI_FLAG_STAGE_PROGRESS) + { + /* Stages with progress information are enabled and timed by default */ + entry->m_enabled= true; + entry->m_timed= true; + } + else + { + /* Stages without progress information are disabled by default */ + entry->m_enabled= false; + entry->m_timed= false; + } + /* Set user-defined configuration options for this instrument */ configure_instr_class(entry); PFS_atomic::add_u32(&stage_class_allocated_count, 1); @@ -1014,7 +1423,8 @@ PFS_stage_key register_stage_class(const char *name, return (index + 1); } - stage_class_lost++; + if (pfs_enabled) + stage_class_lost++; return 0; } @@ -1051,7 +1461,8 @@ PFS_statement_key register_statement_class(const char *name, uint name_length, return (index + 1); } - statement_class_lost++; + if (pfs_enabled) + statement_class_lost++; return 0; } @@ -1133,7 +1544,8 @@ PFS_socket_key register_socket_class(const char *name, uint name_length, return (index + 1); } - socket_class_lost++; + if (pfs_enabled) + socket_class_lost++; return 0; } @@ -1152,6 +1564,58 @@ PFS_socket_class *sanitize_socket_class(PFS_socket_class *unsafe) SANITIZE_ARRAY_BODY(PFS_socket_class, socket_class_array, socket_class_max, unsafe); } +/** + Register a memory instrumentation metadata. + @param name the instrumented name + @param name_length length in bytes of name + @param flags the instrumentation flags + @return a memory instrumentation key +*/ +PFS_memory_key register_memory_class(const char *name, uint name_length, + int flags) +{ + /* See comments in register_mutex_class */ + uint32 index; + PFS_memory_class *entry; + + REGISTER_CLASS_BODY_PART(index, memory_class_array, memory_class_max, + name, name_length) + + index= PFS_atomic::add_u32(&memory_class_dirty_count, 1); + + if (index < memory_class_max) + { + entry= &memory_class_array[index]; + init_instr_class(entry, name, name_length, flags, PFS_CLASS_MEMORY); + entry->m_event_name_index= index; + entry->m_enabled= false; /* disabled by default */ + /* Set user-defined configuration options for this instrument */ + configure_instr_class(entry); + entry->m_timed= false; /* Immutable */ + PFS_atomic::add_u32(&memory_class_allocated_count, 1); + return (index + 1); + } + + if (pfs_enabled) + memory_class_lost++; + return 0; +} + +/** + Find a memory instrumentation class by key. + @param key the instrument key + @return the instrument class, or NULL +*/ +PFS_memory_class *find_memory_class(PFS_memory_key key) +{ + FIND_CLASS_BODY(key, memory_class_allocated_count, memory_class_array); +} + +PFS_memory_class *sanitize_memory_class(PFS_memory_class *unsafe) +{ + SANITIZE_ARRAY_BODY(PFS_memory_class, memory_class_array, memory_class_max, unsafe); +} + PFS_instr_class *find_table_class(uint index) { if (index == 1) @@ -1183,49 +1647,64 @@ PFS_instr_class *sanitize_idle_class(PFS_instr_class *unsafe) return NULL; } -static void set_keys(PFS_table_share *pfs, const TABLE_SHARE *share) +PFS_instr_class *find_metadata_class(uint index) { - int len; - KEY *key_info= share->key_info; - PFS_table_key *pfs_key= pfs->m_keys; - PFS_table_key *pfs_key_last= pfs->m_keys + share->keys; - pfs->m_key_count= share->keys; + if (index == 1) + return & global_metadata_class; + return NULL; +} - for ( ; pfs_key < pfs_key_last; pfs_key++, key_info++) - { - len= strlen(key_info->name); - memcpy(pfs_key->m_name, key_info->name, len); - pfs_key->m_name_length= len; - } +PFS_instr_class *sanitize_metadata_class(PFS_instr_class *unsafe) +{ + if (likely(& global_metadata_class == unsafe)) + return unsafe; + return NULL; +} - pfs_key_last= pfs->m_keys + MAX_INDEXES; - for ( ; pfs_key < pfs_key_last; pfs_key++) - pfs_key->m_name_length= 0; +PFS_transaction_class *find_transaction_class(uint index) +{ + if (index == 1) + return &global_transaction_class; + return NULL; } -static int compare_keys(PFS_table_share *pfs, const TABLE_SHARE *share) +PFS_transaction_class *sanitize_transaction_class(PFS_transaction_class *unsafe) { - uint len; - KEY *key_info= share->key_info; - PFS_table_key *pfs_key= pfs->m_keys; - PFS_table_key *pfs_key_last= pfs->m_keys + share->keys; + if (likely(&global_transaction_class == unsafe)) + return unsafe; + return NULL; +} +static int compare_keys(PFS_table_share *pfs, const TABLE_SHARE *share) +{ if (pfs->m_key_count != share->keys) return 1; - for ( ; pfs_key < pfs_key_last; pfs_key++, key_info++) + size_t len; + uint index= 0; + uint key_count= share->keys; + KEY *key_info= share->key_info; + PFS_table_share_index *index_stat; + + for ( ; index < key_count; key_info++, index++) { - len= strlen(key_info->name); - if (len != pfs_key->m_name_length) - return 1; + index_stat= pfs->find_index_stat(index); + if (index_stat != NULL) + { + len= strlen(key_info->name); - if (memcmp(pfs_key->m_name, key_info->name, len) != 0) - return 1; + if (len != index_stat->m_key.m_name_length) + return 1; + + if (memcmp(index_stat->m_key.m_name, key_info->name, len) != 0) + return 1; + } } return 0; } + /** Find or create a table share instrumentation. @param thread the executing instrumented thread @@ -1243,14 +1722,14 @@ PFS_table_share* find_or_create_table_share(PFS_thread *thread, LF_PINS *pins= get_table_share_hash_pins(thread); if (unlikely(pins == NULL)) { - table_share_lost++; + global_table_share_container.m_lost++; return NULL; } const char *schema_name= share->db.str; - uint schema_name_length= share->db.length; + size_t schema_name_length= share->db.length; const char *table_name= share->table_name.str; - uint table_name_length= share->table_name.length; + size_t table_name_length= share->table_name.length; set_table_share_key(&key, temporary, schema_name, schema_name_length, @@ -1261,10 +1740,8 @@ PFS_table_share* find_or_create_table_share(PFS_thread *thread, const uint retry_max= 3; bool enabled= true; bool timed= true; - static uint PFS_ALIGNED table_share_monotonic_index= 0; - uint index; - uint attempts= 0; PFS_table_share *pfs; + pfs_dirty_state dirty_state; search: entry= reinterpret_cast<PFS_table_share**> @@ -1276,9 +1753,19 @@ search: pfs->inc_refcount() ; if (compare_keys(pfs, share) != 0) { - set_keys(pfs, share); - /* FIXME: aggregate to table_share sink ? */ - pfs->m_table_stat.fast_reset(); + /* + Some DDL was detected. + - keep the lock stats, they are unaffected + - destroy the index stats, indexes changed. + - adjust the expected key count + - recreate index stats + */ + pfs->destroy_index_stats(); + pfs->m_key_count= share->keys; + for (uint index= 0; index < pfs->m_key_count; index++) + { + (void)pfs->find_or_create_index_stat(share, index); + } } lf_hash_search_unpin(pins); return pfs; @@ -1301,85 +1788,136 @@ search: */ } - while (++attempts <= table_share_max) + pfs= global_table_share_container.allocate(& dirty_state); + if (pfs != NULL) { - /* See create_mutex() */ - index= PFS_atomic::add_u32(& table_share_monotonic_index, 1) % table_share_max; - pfs= table_share_array + index; - - if (pfs->m_lock.is_free()) + pfs->m_key= key; + pfs->m_schema_name= &pfs->m_key.m_hash_key[1]; + pfs->m_schema_name_length= schema_name_length; + pfs->m_table_name= &pfs->m_key.m_hash_key[schema_name_length + 2]; + pfs->m_table_name_length= table_name_length; + pfs->m_enabled= enabled; + pfs->m_timed= timed; + pfs->init_refcount(); + pfs->destroy_lock_stat(); + pfs->destroy_index_stats(); + pfs->m_key_count= share->keys; + + int res; + pfs->m_lock.dirty_to_allocated(& dirty_state); + res= lf_hash_insert(&table_share_hash, pins, &pfs); + + if (likely(res == 0)) { - if (pfs->m_lock.free_to_dirty()) + /* Create table share index stats. */ + for (uint index= 0; index < pfs->m_key_count; index++) { - pfs->m_key= key; - pfs->m_schema_name= &pfs->m_key.m_hash_key[1]; - pfs->m_schema_name_length= schema_name_length; - pfs->m_table_name= &pfs->m_key.m_hash_key[schema_name_length + 2]; - pfs->m_table_name_length= table_name_length; - pfs->m_enabled= enabled; - pfs->m_timed= timed; - pfs->init_refcount(); - pfs->m_table_stat.fast_reset(); - set_keys(pfs, share); - - int res; - res= lf_hash_insert(&table_share_hash, pins, &pfs); - if (likely(res == 0)) - { - pfs->m_lock.dirty_to_allocated(); - return pfs; - } - - pfs->m_lock.dirty_to_free(); + (void)pfs->find_or_create_index_stat(share, index); + } + return pfs; + } - if (res > 0) - { - /* Duplicate insert by another thread */ - if (++retry_count > retry_max) - { - /* Avoid infinite loops */ - table_share_lost++; - return NULL; - } - goto search; - } + global_table_share_container.deallocate(pfs); - /* OOM in lf_hash_insert */ - table_share_lost++; + if (res > 0) + { + /* Duplicate insert by another thread */ + if (++retry_count > retry_max) + { + /* Avoid infinite loops */ + global_table_share_container.m_lost++; return NULL; } + goto search; } + + /* OOM in lf_hash_insert */ + global_table_share_container.m_lost++; + return NULL; } - table_share_lost++; return NULL; } void PFS_table_share::aggregate_io(void) { + uint index; uint safe_key_count= sanitize_index_count(m_key_count); - PFS_table_io_stat *from_stat; - PFS_table_io_stat *from_stat_last; + PFS_table_share_index *from_stat; PFS_table_io_stat sum_io; /* Aggregate stats for each index, if any */ - from_stat= & m_table_stat.m_index_stat[0]; - from_stat_last= from_stat + safe_key_count; - for ( ; from_stat < from_stat_last ; from_stat++) - sum_io.aggregate(from_stat); + for (index= 0; index < safe_key_count; index++) + { + from_stat= find_index_stat(index); + if (from_stat != NULL) + { + sum_io.aggregate(& from_stat->m_stat); + from_stat->m_stat.reset(); + } + } /* Aggregate stats for the table */ - sum_io.aggregate(& m_table_stat.m_index_stat[MAX_INDEXES]); + from_stat= find_index_stat(MAX_INDEXES); + if (from_stat != NULL) + { + sum_io.aggregate(& from_stat->m_stat); + from_stat->m_stat.reset(); + } /* Add this table stats to the global sink. */ global_table_io_stat.aggregate(& sum_io); - m_table_stat.fast_reset_io(); +} + +void PFS_table_share::sum_io(PFS_single_stat *result, uint key_count) +{ + uint index; + PFS_table_share_index *stat; + + DBUG_ASSERT(key_count <= MAX_INDEXES); + + /* Sum stats for each index, if any */ + for (index= 0; index < key_count; index++) + { + stat= find_index_stat(index); + if (stat != NULL) + { + stat->m_stat.sum(result); + } + } + + /* Sum stats for the table */ + stat= find_index_stat(MAX_INDEXES); + if (stat != NULL) + { + stat->m_stat.sum(result); + } +} + +void PFS_table_share::sum_lock(PFS_single_stat *result) +{ + PFS_table_share_lock *lock_stat; + lock_stat= find_lock_stat(); + if (lock_stat != NULL) + lock_stat->m_stat.sum(result); +} + +void PFS_table_share::sum(PFS_single_stat *result, uint key_count) +{ + sum_io(result, key_count); + sum_lock(result); } void PFS_table_share::aggregate_lock(void) { - global_table_lock_stat.aggregate(& m_table_stat.m_lock_stat); - m_table_stat.fast_reset_lock(); + PFS_table_share_lock *lock_stat; + lock_stat= find_lock_stat(); + if (lock_stat != NULL) + { + global_table_lock_stat.aggregate(& lock_stat->m_stat); + /* Reset lock stat. */ + lock_stat->m_stat.reset(); + } } void release_table_share(PFS_table_share *pfs) @@ -1417,6 +1955,9 @@ void drop_table_share(PFS_thread *thread, PFS_table_share *pfs= *entry; lf_hash_delete(&table_share_hash, pins, pfs->m_key.m_hash_key, pfs->m_key.m_key_length); + pfs->destroy_lock_stat(); + pfs->destroy_index_stats(); + pfs->m_lock.allocated_to_free(); } @@ -1430,7 +1971,7 @@ void drop_table_share(PFS_thread *thread, */ PFS_table_share *sanitize_table_share(PFS_table_share *unsafe) { - SANITIZE_ARRAY_BODY(PFS_table_share, table_share_array, table_share_max, unsafe); + return global_table_share_container.sanitize(unsafe); } /** Reset the wait statistics per instrument class. */ @@ -1441,6 +1982,7 @@ void reset_events_waits_by_class() global_idle_stat.reset(); global_table_io_stat.reset(); global_table_lock_stat.reset(); + global_metadata_stat.reset(); } /** Reset the io statistics per file class. */ @@ -1463,16 +2005,50 @@ void reset_socket_class_io(void) pfs->m_socket_stat.m_io_stat.reset(); } +class Proc_table_share_derived_flags + : public PFS_buffer_processor<PFS_table_share> +{ +public: + Proc_table_share_derived_flags(PFS_thread *thread) + : m_thread(thread) + {} + + virtual void operator()(PFS_table_share *pfs) + { + pfs->refresh_setup_object_flags(m_thread); + } + +private: + PFS_thread* m_thread; +}; + void update_table_share_derived_flags(PFS_thread *thread) { - PFS_table_share *pfs= table_share_array; - PFS_table_share *pfs_last= table_share_array + table_share_max; + Proc_table_share_derived_flags proc(thread); + global_table_share_container.apply(proc); +} - for ( ; pfs < pfs_last; pfs++) +class Proc_program_share_derived_flags + : public PFS_buffer_processor<PFS_program> +{ +public: + Proc_program_share_derived_flags(PFS_thread *thread) + : m_thread(thread) + {} + + virtual void operator()(PFS_program *pfs) { - if (pfs->m_lock.is_populated()) - pfs->refresh_setup_object_flags(thread); + pfs->refresh_setup_object_flags(m_thread); } + +private: + PFS_thread* m_thread; +}; + +void update_program_share_derived_flags(PFS_thread *thread) +{ + Proc_program_share_derived_flags proc(thread); + global_program_container.apply(proc); } /** @} */ diff --git a/storage/perfschema/pfs_instr_class.h b/storage/perfschema/pfs_instr_class.h index e50e824aee9..10339d937d0 100644 --- a/storage/perfschema/pfs_instr_class.h +++ b/storage/perfschema/pfs_instr_class.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,6 +20,8 @@ #include "mysql_com.h" /* NAME_LEN */ #include "lf.h" #include "pfs_global.h" +#include "pfs_atomic.h" +#include "prealloced_array.h" /** @file storage/perfschema/pfs_instr_class.h @@ -49,6 +51,8 @@ #include "pfs_column_types.h" struct PFS_global_param; +struct PFS_table_share; +class PFS_opaque_container_page; /** @addtogroup Performance_schema_buffers @@ -68,8 +72,12 @@ typedef unsigned int PFS_file_key; typedef unsigned int PFS_stage_key; /** Key, naming a statement instrument. */ typedef unsigned int PFS_statement_key; +/** Key, naming a transaction instrument. */ +typedef unsigned int PFS_transaction_key; /** Key, naming a socket instrument. */ typedef unsigned int PFS_socket_key; +/** Key, naming a memory instrument. */ +typedef unsigned int PFS_memory_key; enum PFS_class_type { @@ -81,11 +89,14 @@ enum PFS_class_type PFS_CLASS_TABLE= 5, PFS_CLASS_STAGE= 6, PFS_CLASS_STATEMENT= 7, - PFS_CLASS_SOCKET= 8, - PFS_CLASS_TABLE_IO= 9, - PFS_CLASS_TABLE_LOCK= 10, - PFS_CLASS_IDLE= 11, - PFS_CLASS_LAST= PFS_CLASS_IDLE, + PFS_CLASS_TRANSACTION= 8, + PFS_CLASS_SOCKET= 9, + PFS_CLASS_TABLE_IO= 10, + PFS_CLASS_TABLE_LOCK= 11, + PFS_CLASS_IDLE= 12, + PFS_CLASS_MEMORY= 13, + PFS_CLASS_METADATA= 14, + PFS_CLASS_LAST= PFS_CLASS_METADATA, PFS_CLASS_MAX= PFS_CLASS_LAST + 1 }; @@ -102,12 +113,8 @@ struct PFS_instr_config bool m_timed; }; -extern DYNAMIC_ARRAY pfs_instr_config_array; -extern int pfs_instr_config_state; - -static const int PFS_INSTR_CONFIG_NOT_INITIALIZED= 0; -static const int PFS_INSTR_CONFIG_ALLOCATED= 1; -static const int PFS_INSTR_CONFIG_DEALLOCATED= 2; +typedef Prealloced_array<PFS_instr_config*, 10> Pfs_instr_config_array; +extern Pfs_instr_config_array *pfs_instr_config_array; struct PFS_thread; @@ -129,12 +136,15 @@ struct PFS_instr_class bool m_timed; /** Instrument flags. */ int m_flags; + /** Volatility index. */ + int m_volatility; /** Instrument name index. Self index in: - EVENTS_WAITS_SUMMARY_*_BY_EVENT_NAME for waits - EVENTS_STAGES_SUMMARY_*_BY_EVENT_NAME for stages - EVENTS_STATEMENTS_SUMMARY_*_BY_EVENT_NAME for statements + - EVENTS_TRANSACTIONS_SUMMARY_*_BY_EVENT_NAME for transactions */ uint m_event_name_index; /** Instrument name. */ @@ -154,6 +164,18 @@ struct PFS_instr_class return m_flags & PSI_FLAG_MUTABLE; } + bool is_progress() const + { + DBUG_ASSERT(m_type == PFS_CLASS_STAGE); + return m_flags & PSI_FLAG_STAGE_PROGRESS; + } + + bool is_shared_exclusive() const + { + DBUG_ASSERT(m_type == PFS_CLASS_RWLOCK); + return m_flags & PSI_RWLOCK_FLAG_SX; + } + static void set_enabled(PFS_instr_class *pfs, bool enabled); static void set_timed(PFS_instr_class *pfs, bool timed); @@ -243,6 +265,32 @@ struct PFS_table_key uint m_name_length; }; +/** Index statistics of a table.*/ +struct PFS_table_share_index +{ + pfs_lock m_lock; + /** The index name */ + PFS_table_key m_key; + /** The index stat */ + PFS_table_io_stat m_stat; + /** Owner table share. To be used later. */ + PFS_table_share* m_owner; + /** Container page. */ + PFS_opaque_container_page *m_page; +}; + +/** Lock statistics of a table.*/ +struct PFS_table_share_lock +{ + pfs_lock m_lock; + /** Lock stats. */ + PFS_table_lock_stat m_stat; + /** Owner table share. To be used later. */ + PFS_table_share* m_owner; + /** Container page. */ + PFS_opaque_container_page *m_page; +}; + /** Instrumentation metadata for a table share. */ struct PFS_ALIGNED PFS_table_share { @@ -258,6 +306,10 @@ public: void aggregate_io(void); void aggregate_lock(void); + void sum_io(PFS_single_stat *result, uint key_count); + void sum_lock(PFS_single_stat *result); + void sum(PFS_single_stat *result, uint key_count); + inline void aggregate(void) { aggregate_io(); @@ -298,6 +350,7 @@ public: This flag is computed from the content of table setup_objects. */ bool m_timed; + /** Search key. */ PFS_table_share_key m_key; /** Schema name. */ @@ -310,14 +363,24 @@ public: uint m_table_name_length; /** Number of indexes. */ uint m_key_count; - /** Table statistics. */ - PFS_table_stat m_table_stat; - /** Index names. */ - PFS_table_key m_keys[MAX_INDEXES]; + /** Container page. */ + PFS_opaque_container_page *m_page; + + PFS_table_share_lock *find_lock_stat() const; + PFS_table_share_lock *find_or_create_lock_stat(); + void destroy_lock_stat(); + + PFS_table_share_index *find_index_stat(uint index) const; + PFS_table_share_index *find_or_create_index_stat(const TABLE_SHARE *server_share, uint index); + void destroy_index_stats(); private: /** Number of opened table handles. */ int m_refcount; + /** Table locks statistics. */ + PFS_table_share_lock *m_race_lock_stat; + /** Table indexes' stats. */ + PFS_table_share_index *m_race_index_stat[MAX_INDEXES + 1]; }; /** Statistics for the IDLE instrument. */ @@ -326,6 +389,10 @@ extern PFS_single_stat global_idle_stat; extern PFS_table_io_stat global_table_io_stat; /** Statistics for dropped table lock. */ extern PFS_table_lock_stat global_table_lock_stat; +/** Statistics for the METADATA instrument. */ +extern PFS_single_stat global_metadata_stat; +/** Statistics for the transaction instrument. */ +extern PFS_transaction_stat global_transaction_stat; inline uint sanitize_index_count(uint count) { @@ -337,6 +404,12 @@ inline uint sanitize_index_count(uint count) #define GLOBAL_TABLE_IO_EVENT_INDEX 0 #define GLOBAL_TABLE_LOCK_EVENT_INDEX 1 #define GLOBAL_IDLE_EVENT_INDEX 2 +#define GLOBAL_METADATA_EVENT_INDEX 3 +/** Number of global wait events. */ +#define COUNT_GLOBAL_EVENT_INDEX 4 + +/** Transaction events are not wait events .*/ +#define GLOBAL_TRANSACTION_INDEX 0 /** Instrument controlling all table io. @@ -355,6 +428,8 @@ extern PFS_instr_class global_table_lock_class; */ extern PFS_instr_class global_idle_class; +extern PFS_instr_class global_metadata_class; + struct PFS_file; /** Instrumentation metadata for a file. */ @@ -383,7 +458,14 @@ struct PFS_ALIGNED PFS_statement_class : public PFS_instr_class { }; -struct PFS_socket; +/** Instrumentation metadata for a transaction. */ +struct PFS_ALIGNED PFS_transaction_class : public PFS_instr_class +{ +}; + +extern PFS_transaction_class global_transaction_class; + +struct PFS_socket; /** Instrumentation metadata for a socket. */ struct PFS_ALIGNED PFS_socket_class : public PFS_instr_class @@ -394,6 +476,20 @@ struct PFS_ALIGNED PFS_socket_class : public PFS_instr_class PFS_socket *m_singleton; }; +/** Instrumentation metadata for a memory. */ +struct PFS_ALIGNED PFS_memory_class : public PFS_instr_class +{ + bool is_global() const + { + return m_flags & PSI_FLAG_GLOBAL; + } + + bool is_transferable() const + { + return m_flags & PSI_FLAG_TRANSFER; + } +}; + void init_event_name_sizing(const PFS_global_param *param); void register_global_classes(); @@ -407,7 +503,18 @@ int init_thread_class(uint thread_class_sizing); void cleanup_thread_class(); int init_table_share(uint table_share_sizing); void cleanup_table_share(); -int init_table_share_hash(); + +int init_table_share_lock_stat(uint table_stat_sizing); +void cleanup_table_share_lock_stat(); +PFS_table_share_lock* create_table_share_lock_stat(); +void release_table_share_lock_stat(PFS_table_share_lock *pfs); + +int init_table_share_index_stat(uint index_stat_sizing); +void cleanup_table_share_index_stat(); +PFS_table_share_index* create_table_share_index_stat(const TABLE_SHARE *share, uint index); +void release_table_share_index_stat(PFS_table_share_index *pfs); + +int init_table_share_hash(const PFS_global_param *param); void cleanup_table_share_hash(); int init_file_class(uint file_class_sizing); void cleanup_file_class(); @@ -417,6 +524,8 @@ int init_statement_class(uint statement_class_sizing); void cleanup_statement_class(); int init_socket_class(uint socket_class_sizing); void cleanup_socket_class(); +int init_memory_class(uint memory_class_sizing); +void cleanup_memory_class(); PFS_sync_key register_mutex_class(const char *name, uint name_length, int flags); @@ -444,6 +553,9 @@ PFS_statement_key register_statement_class(const char *name, uint name_length, PFS_socket_key register_socket_class(const char *name, uint name_length, int flags); +PFS_memory_key register_memory_class(const char *name, uint name_length, + int flags); + PFS_mutex_class *find_mutex_class(PSI_mutex_key key); PFS_mutex_class *sanitize_mutex_class(PFS_mutex_class *unsafe); PFS_rwlock_class *find_rwlock_class(PSI_rwlock_key key); @@ -462,8 +574,14 @@ PFS_instr_class *find_table_class(uint index); PFS_instr_class *sanitize_table_class(PFS_instr_class *unsafe); PFS_socket_class *find_socket_class(PSI_socket_key key); PFS_socket_class *sanitize_socket_class(PFS_socket_class *unsafe); +PFS_memory_class *find_memory_class(PSI_memory_key key); +PFS_memory_class *sanitize_memory_class(PFS_memory_class *unsafe); PFS_instr_class *find_idle_class(uint index); PFS_instr_class *sanitize_idle_class(PFS_instr_class *unsafe); +PFS_instr_class *find_metadata_class(uint index); +PFS_instr_class *sanitize_metadata_class(PFS_instr_class *unsafe); +PFS_transaction_class *find_transaction_class(uint index); +PFS_transaction_class *sanitize_transaction_class(PFS_transaction_class *unsafe); PFS_table_share *find_or_create_table_share(PFS_thread *thread, bool temporary, @@ -490,10 +608,11 @@ extern ulong stage_class_max; extern ulong stage_class_lost; extern ulong statement_class_max; extern ulong statement_class_lost; +extern ulong transaction_class_max; extern ulong socket_class_max; extern ulong socket_class_lost; -extern ulong table_share_max; -extern ulong table_share_lost; +extern ulong memory_class_max; +extern ulong memory_class_lost; /* Exposing the data directly, for iterators. */ @@ -501,7 +620,6 @@ extern PFS_mutex_class *mutex_class_array; extern PFS_rwlock_class *rwlock_class_array; extern PFS_cond_class *cond_class_array; extern PFS_file_class *file_class_array; -extern PFS_table_share *table_share_array; void reset_events_waits_by_class(); void reset_file_class_io(); @@ -510,6 +628,9 @@ void reset_socket_class_io(); /** Update derived flags for all table shares. */ void update_table_share_derived_flags(PFS_thread *thread); +/** Update derived flags for all stored procedure shares. */ +void update_program_share_derived_flags(PFS_thread *thread); + extern LF_HASH table_share_hash; /** @} */ diff --git a/storage/perfschema/pfs_lock.h b/storage/perfschema/pfs_lock.h index c429d934702..c179d524935 100644 --- a/storage/perfschema/pfs_lock.h +++ b/storage/perfschema/pfs_lock.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,8 +21,15 @@ Performance schema internal locks (declarations). */ +#include "my_global.h" + #include "pfs_atomic.h" +/* to cause bugs, testing */ +// #define MEM(X) std::memory_order_relaxed +/* correct code */ +#define MEM(X) X + /** @addtogroup Performance_schema_buffers @{ @@ -54,6 +61,16 @@ #define STATE_MASK 0x00000003 #define VERSION_INC 4 +struct pfs_optimistic_state +{ + uint32 m_version_state; +}; + +struct pfs_dirty_state +{ + uint32 m_version_state; +}; + /** A 'lock' protecting performance schema internal buffers. This lock is used to mark the state of a record. @@ -79,19 +96,34 @@ struct pfs_lock The version number is stored in the high 30 bits. The state is stored in the low 2 bits. */ - volatile uint32 m_version_state; + uint32 m_version_state; + + uint32 copy_version_state() + { + uint32 copy; + + copy= m_version_state; /* dirty read */ + + return copy; + } /** Returns true if the record is free. */ bool is_free(void) { - uint32 copy= m_version_state; /* non volatile copy, and dirty read */ + uint32 copy; + + copy= PFS_atomic::load_u32(&m_version_state); + return ((copy & STATE_MASK) == PFS_LOCK_FREE); } /** Returns true if the record contains values that can be read. */ bool is_populated(void) { - uint32 copy= m_version_state; /* non volatile copy, and dirty read */ + uint32 copy; + + copy= PFS_atomic::load_u32(&m_version_state); + return ((copy & STATE_MASK) == PFS_LOCK_ALLOCATED); } @@ -101,13 +133,28 @@ struct pfs_lock Only one writer will succeed to acquire the record. @return true if the operation succeed */ - bool free_to_dirty(void) + bool free_to_dirty(pfs_dirty_state *copy_ptr) { - uint32 copy= m_version_state; /* non volatile copy, and dirty read */ - uint32 old_val= (copy & VERSION_MASK) + PFS_LOCK_FREE; - uint32 new_val= (copy & VERSION_MASK) + PFS_LOCK_DIRTY; + uint32 old_val; + + old_val= PFS_atomic::load_u32(&m_version_state); - return (PFS_atomic::cas_u32(&m_version_state, &old_val, new_val)); + if ((old_val & STATE_MASK) != PFS_LOCK_FREE) + { + return false; + } + + uint32 new_val= (old_val & VERSION_MASK) + PFS_LOCK_DIRTY; + bool pass; + + pass= PFS_atomic::cas_u32(&m_version_state, &old_val, new_val); + + if (pass) + { + copy_ptr->m_version_state= new_val; + } + + return pass; } /** @@ -115,15 +162,18 @@ struct pfs_lock This transition should be executed by the writer that owns the record, before the record is modified. */ - void allocated_to_dirty(void) + void allocated_to_dirty(pfs_dirty_state *copy_ptr) { - uint32 copy= PFS_atomic::load_u32(&m_version_state); + uint32 copy= copy_version_state(); /* Make sure the record was ALLOCATED. */ DBUG_ASSERT((copy & STATE_MASK) == PFS_LOCK_ALLOCATED); /* Keep the same version, set the DIRTY state */ uint32 new_val= (copy & VERSION_MASK) + PFS_LOCK_DIRTY; /* We own the record, no need to use compare and swap. */ + PFS_atomic::store_u32(&m_version_state, new_val); + + copy_ptr->m_version_state= new_val; } /** @@ -131,13 +181,13 @@ struct pfs_lock This transition should be executed by the writer that owns the record, after the record is in a state ready to be read. */ - void dirty_to_allocated(void) + void dirty_to_allocated(const pfs_dirty_state *copy) { - uint32 copy= PFS_atomic::load_u32(&m_version_state); /* Make sure the record was DIRTY. */ - DBUG_ASSERT((copy & STATE_MASK) == PFS_LOCK_DIRTY); + DBUG_ASSERT((copy->m_version_state & STATE_MASK) == PFS_LOCK_DIRTY); /* Increment the version, set the ALLOCATED state */ - uint32 new_val= (copy & VERSION_MASK) + VERSION_INC + PFS_LOCK_ALLOCATED; + uint32 new_val= (copy->m_version_state & VERSION_MASK) + VERSION_INC + PFS_LOCK_ALLOCATED; + PFS_atomic::store_u32(&m_version_state, new_val); } @@ -149,9 +199,10 @@ struct pfs_lock void set_allocated(void) { /* Do not set the version to 0, read the previous value. */ - uint32 copy= PFS_atomic::load_u32(&m_version_state); + uint32 copy= copy_version_state(); /* Increment the version, set the ALLOCATED state */ uint32 new_val= (copy & VERSION_MASK) + VERSION_INC + PFS_LOCK_ALLOCATED; + PFS_atomic::store_u32(&m_version_state, new_val); } @@ -159,13 +210,13 @@ struct pfs_lock Execute a dirty to free transition. This transition should be executed by the writer that owns the record. */ - void dirty_to_free(void) + void dirty_to_free(const pfs_dirty_state *copy) { - uint32 copy= PFS_atomic::load_u32(&m_version_state); /* Make sure the record was DIRTY. */ - DBUG_ASSERT((copy & STATE_MASK) == PFS_LOCK_DIRTY); + DBUG_ASSERT((copy->m_version_state & STATE_MASK) == PFS_LOCK_DIRTY); /* Keep the same version, set the FREE state */ - uint32 new_val= (copy & VERSION_MASK) + PFS_LOCK_FREE; + uint32 new_val= (copy->m_version_state & VERSION_MASK) + PFS_LOCK_FREE; + PFS_atomic::store_u32(&m_version_state, new_val); } @@ -175,37 +226,26 @@ struct pfs_lock */ void allocated_to_free(void) { -#ifndef DBUG_OFF - extern volatile bool ready_to_exit; -#endif - /* If this record is not in the ALLOCATED state and the caller is trying to free it, this is a bug: the caller is confused, and potentially damaging data owned by another thread or object. - The correct assert to use here to guarantee data integrity is simply: - DBUG_ASSERT(m_state == PFS_LOCK_ALLOCATED); - Now, because of Bug#56666 (Race condition between the server main thread - and the kill server thread), this assert actually fails during shutdown, - and the failure is legitimate, on concurrent calls to mysql_*_destroy(), - when destroying the instrumentation of an object ... twice. - During shutdown this has no consequences for the performance schema, - so the assert is relaxed with the "|| ready_to_exit" condition as a work - around until Bug#56666 is fixed. */ - uint32 copy= PFS_atomic::load_u32(&m_version_state); + uint32 copy= copy_version_state(); /* Make sure the record was ALLOCATED. */ - DBUG_ASSERT(((copy & STATE_MASK) == PFS_LOCK_ALLOCATED) || ready_to_exit); + DBUG_ASSERT(((copy & STATE_MASK) == PFS_LOCK_ALLOCATED)); /* Keep the same version, set the FREE state */ uint32 new_val= (copy & VERSION_MASK) + PFS_LOCK_FREE; + PFS_atomic::store_u32(&m_version_state, new_val); } /** Start an optimistic read operation. + @param [out] copy Saved lock state @sa end_optimist_lock. */ - void begin_optimistic_lock(struct pfs_lock *copy) + void begin_optimistic_lock(struct pfs_optimistic_state *copy) { copy->m_version_state= PFS_atomic::load_u32(&m_version_state); } @@ -213,16 +253,21 @@ struct pfs_lock /** End an optimistic read operation. @sa begin_optimist_lock. + @param copy Saved lock state @return true if the data read is safe to use. */ - bool end_optimistic_lock(struct pfs_lock *copy) + bool end_optimistic_lock(const struct pfs_optimistic_state *copy) { + uint32 version_state; + /* Check there was valid data to look at. */ if ((copy->m_version_state & STATE_MASK) != PFS_LOCK_ALLOCATED) return false; + version_state= PFS_atomic::load_u32(&m_version_state); + /* Check the version + state has not changed. */ - if (copy->m_version_state != PFS_atomic::load_u32(&m_version_state)) + if (copy->m_version_state != version_state) return false; return true; @@ -230,7 +275,11 @@ struct pfs_lock uint32 get_version() { - return (PFS_atomic::load_u32(&m_version_state) & VERSION_MASK); + uint32 version_state; + + version_state= PFS_atomic::load_u32(&m_version_state); + + return (version_state & VERSION_MASK); } }; diff --git a/storage/perfschema/pfs_memory.cc b/storage/perfschema/pfs_memory.cc new file mode 100644 index 00000000000..726f6206b07 --- /dev/null +++ b/storage/perfschema/pfs_memory.cc @@ -0,0 +1,91 @@ +/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/pfs_memory.cc + Memory statistics aggregation (implementation). +*/ + +#include "my_global.h" +#include "my_sys.h" +#include "pfs_global.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_account.h" +#include "pfs_host.h" +#include "pfs_user.h" +#include "pfs_atomic.h" +#include "pfs_buffer_container.h" +#include "m_string.h" + +static void fct_reset_memory_by_thread(PFS_thread *pfs) +{ + PFS_account *account= sanitize_account(pfs->m_account); + PFS_user *user= sanitize_user(pfs->m_user); + PFS_host *host= sanitize_host(pfs->m_host); + aggregate_thread_memory(true, pfs, account, user, host); +} + +/** Reset table MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME data. */ +void reset_memory_by_thread() +{ + global_thread_container.apply(fct_reset_memory_by_thread); +} + +static void fct_reset_memory_by_account(PFS_account *pfs) +{ + PFS_user *user= sanitize_user(pfs->m_user); + PFS_host *host= sanitize_host(pfs->m_host); + pfs->aggregate_memory(true, user, host); +} + +/** Reset table MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME data. */ +void reset_memory_by_account() +{ + global_account_container.apply(fct_reset_memory_by_account); +} + +static void fct_reset_memory_by_user(PFS_user *pfs) +{ + pfs->aggregate_memory(true); +} + +/** Reset table MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME data. */ +void reset_memory_by_user() +{ + global_user_container.apply(fct_reset_memory_by_user); +} + +static void fct_reset_memory_by_host(PFS_host *pfs) +{ + pfs->aggregate_memory(true); +} + +/** Reset table MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME data. */ +void reset_memory_by_host() +{ + global_host_container.apply(fct_reset_memory_by_host); +} + +/** Reset table MEMORY_GLOBAL_BY_EVENT_NAME data. */ +void reset_memory_global() +{ + PFS_memory_stat *stat= global_instr_class_memory_array; + PFS_memory_stat *stat_last= global_instr_class_memory_array + memory_class_max; + + for ( ; stat < stat_last; stat++) + stat->rebase(); +} + diff --git a/storage/perfschema/pfs_memory.h b/storage/perfschema/pfs_memory.h new file mode 100644 index 00000000000..44b09614855 --- /dev/null +++ b/storage/perfschema/pfs_memory.h @@ -0,0 +1,31 @@ +/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef PFS_MEMORY_H +#define PFS_MEMORY_H + +/** + @file storage/perfschema/pfs_memory.h + Memory statistics aggregation (declarations). +*/ + +void reset_memory_by_thread(); +void reset_memory_by_account(); +void reset_memory_by_user(); +void reset_memory_by_host(); +void reset_memory_global(); + +#endif + diff --git a/storage/perfschema/pfs_prepared_stmt.cc b/storage/perfschema/pfs_prepared_stmt.cc new file mode 100644 index 00000000000..4906d3d61cf --- /dev/null +++ b/storage/perfschema/pfs_prepared_stmt.cc @@ -0,0 +1,138 @@ +/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/pfs_prepared_stmt.cc + Prepared Statement data structures (implementation). +*/ + +/* + This code needs extra visibility in the lexer structures +*/ + +#include "my_global.h" +#include "my_sys.h" +#include "pfs_instr.h" +#include "pfs_prepared_stmt.h" +#include "pfs_global.h" +#include "sql_string.h" +#include "pfs_buffer_container.h" +#include <string.h> + +/** + Initialize table PREPARED_STATEMENTS_INSTANCE. + @param param performance schema sizing +*/ +int init_prepared_stmt(const PFS_global_param *param) +{ + if (global_prepared_stmt_container.init(param->m_prepared_stmt_sizing)) + return 1; + + reset_prepared_stmt_instances(); + return 0; +} + +/** Cleanup table PREPARED_STATEMENTS_INSTANCE. */ +void cleanup_prepared_stmt(void) +{ + global_prepared_stmt_container.cleanup(); +} + +void PFS_prepared_stmt::reset_data() +{ + m_prepare_stat.reset(); + m_reprepare_stat.reset(); + m_execute_stat.reset(); +} + +static void fct_reset_prepared_stmt_instances(PFS_prepared_stmt *pfs) +{ + pfs->reset_data(); +} + +void reset_prepared_stmt_instances() +{ + global_prepared_stmt_container.apply_all(fct_reset_prepared_stmt_instances); +} + +PFS_prepared_stmt* +create_prepared_stmt(void *identity, + PFS_thread *thread, PFS_program *pfs_program, + PFS_events_statements *pfs_stmt, uint stmt_id, + const char* stmt_name, uint stmt_name_length, + const char* sqltext, uint sqltext_length) +{ + PFS_prepared_stmt *pfs= NULL; + pfs_dirty_state dirty_state; + + /* Create a new record in prepared stmt stat array. */ + pfs= global_prepared_stmt_container.allocate(& dirty_state); + if (pfs != NULL) + { + /* Reset the stats. */ + pfs->reset_data(); + /* Do the assignments. */ + pfs->m_identity= identity; + strncpy(pfs->m_sqltext, sqltext, sqltext_length); + pfs->m_sqltext_length= sqltext_length; + if (stmt_name != NULL) + { + pfs->m_stmt_name_length= stmt_name_length; + if (pfs->m_stmt_name_length > PS_NAME_LENGTH) + pfs->m_stmt_name_length= PS_NAME_LENGTH; + strncpy(pfs->m_stmt_name, stmt_name, pfs->m_stmt_name_length); + } + else + pfs->m_stmt_name_length= 0; + + pfs->m_stmt_id= stmt_id; + pfs->m_owner_thread_id= thread->m_thread_internal_id; + + /* If this statement prepare is called from a SP. */ + if (pfs_program) + { + pfs->m_owner_object_type= pfs_program->m_type; + strncpy(pfs->m_owner_object_schema, pfs_program->m_schema_name, pfs_program->m_schema_name_length); + pfs->m_owner_object_schema_length= pfs_program->m_schema_name_length; + strncpy(pfs->m_owner_object_name, pfs_program->m_object_name, pfs_program->m_object_name_length); + pfs->m_owner_object_name_length= pfs_program->m_object_name_length; + } + else + { + pfs->m_owner_object_type= NO_OBJECT_TYPE; + pfs->m_owner_object_schema_length= 0; + pfs->m_owner_object_name_length= 0; + } + + if (pfs_stmt) + { + if (pfs_program) + pfs->m_owner_event_id= pfs_stmt->m_nesting_event_id; + else + pfs->m_owner_event_id= pfs_stmt->m_event_id; + } + + /* Insert this record. */ + pfs->m_lock.dirty_to_allocated(& dirty_state); + } + + return pfs; +} + +void delete_prepared_stmt(PFS_prepared_stmt *pfs) +{ + global_prepared_stmt_container.deallocate(pfs); + return; +} diff --git a/storage/perfschema/pfs_prepared_stmt.h b/storage/perfschema/pfs_prepared_stmt.h new file mode 100644 index 00000000000..3081626311a --- /dev/null +++ b/storage/perfschema/pfs_prepared_stmt.h @@ -0,0 +1,89 @@ +/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef PFS_PS_H +#define PFS_PS_H + +/** + @file storage/perfschema/pfs_prepared_statement.h + Stored Program data structures (declarations). +*/ + +#include "pfs_stat.h" +#include "include/mysql/psi/psi.h" +#include "include/mysql/psi/mysql_ps.h" +#include "pfs_program.h" + +#define PS_NAME_LENGTH NAME_LEN + +struct PFS_ALIGNED PFS_prepared_stmt : public PFS_instr +{ + /** Column OBJECT_INSTANCE_BEGIN */ + const void *m_identity; + + /** STATEMENT_ID */ + ulonglong m_stmt_id; + + /** STATEMENT_NAME */ + char m_stmt_name[PS_NAME_LENGTH]; + uint m_stmt_name_length; + + /** SQL_TEXT */ + char m_sqltext[COL_INFO_SIZE]; + uint m_sqltext_length; + + /** Column OWNER_THREAD_ID */ + ulonglong m_owner_thread_id; + + /** Column OWNER_EVENT_ID. */ + ulonglong m_owner_event_id; + + /** Column OBJECT_OWNER_TYPE. */ + enum_object_type m_owner_object_type; + + /** Column OBJECT_OWNER_SCHEMA. */ + char m_owner_object_schema[COL_OBJECT_SCHEMA_SIZE]; + uint m_owner_object_schema_length; + + /** Column OBJECT_OWNER_NAME. */ + char m_owner_object_name[COL_OBJECT_NAME_SIZE]; + uint m_owner_object_name_length; + + /** COLUMN TIMER_PREPARE. Prepared stmt prepare stat. */ + PFS_single_stat m_prepare_stat; + + /** COLUMN COUNT_REPREPARE. Prepared stmt reprepare stat. */ + PFS_single_stat m_reprepare_stat; + + /** Prepared stmt execution stat. */ + PFS_statement_stat m_execute_stat; + + /** Reset data for this record. */ + void reset_data(); +}; + +int init_prepared_stmt(const PFS_global_param *param); +void cleanup_prepared_stmt(void); + +void reset_prepared_stmt_instances(); + +PFS_prepared_stmt* +create_prepared_stmt(void *identity, + PFS_thread *thread, PFS_program *pfs_program, + PFS_events_statements *pfs_stmt, uint stmt_id, + const char* stmt_name, uint stmt_name_length, + const char* sqltext, uint sqltext_length); +void delete_prepared_stmt(PFS_prepared_stmt *pfs_ps); +#endif diff --git a/storage/perfschema/pfs_program.cc b/storage/perfschema/pfs_program.cc new file mode 100644 index 00000000000..1d6efa00e14 --- /dev/null +++ b/storage/perfschema/pfs_program.cc @@ -0,0 +1,315 @@ +/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/pfs_program.cc + Statement Digest data structures (implementation). +*/ + +/* + This code needs extra visibility in the lexer structures +*/ + +#include "my_global.h" +#include "my_sys.h" +#include "pfs_instr.h" +#include "pfs_program.h" +#include "pfs_global.h" +#include "sql_string.h" +#include "pfs_setup_object.h" +#include "pfs_buffer_container.h" +#include "mysqld.h" //system_charset_info +#include <string.h> + +LF_HASH program_hash; +static bool program_hash_inited= false; + +/** + Initialize table EVENTS_STATEMENTS_SUMMARY_BY_PROGRAM. + @param param performance schema sizing +*/ +int init_program(const PFS_global_param *param) +{ + if (global_program_container.init(param->m_program_sizing)) + return 1; + + reset_esms_by_program(); + return 0; +} + +/** Cleanup table EVENTS_STATEMENTS_SUMMARY_BY_PROGRAM. */ +void cleanup_program(void) +{ + global_program_container.cleanup(); +} + +C_MODE_START +static uchar *program_hash_get_key(const uchar *entry, size_t *length, + my_bool) +{ + const PFS_program * const *typed_entry; + const PFS_program *program; + const void *result; + typed_entry= reinterpret_cast<const PFS_program* const *> (entry); + DBUG_ASSERT(typed_entry != NULL); + program= *typed_entry; + DBUG_ASSERT(program != NULL); + *length= program->m_key.m_key_length; + result= program->m_key.m_hash_key; + return const_cast<uchar*> (reinterpret_cast<const uchar*> (result)); +} +C_MODE_END + +/** + Initialize the program hash. + @return 0 on success +*/ +int init_program_hash(const PFS_global_param *param) +{ + if ((! program_hash_inited) && (param->m_program_sizing != 0)) + { + lf_hash_init(&program_hash, sizeof(PFS_program*), LF_HASH_UNIQUE, + 0, 0, program_hash_get_key, &my_charset_bin); + program_hash_inited= true; + } + return 0; +} + +/** Cleanup the program hash. */ +void cleanup_program_hash(void) +{ + if (program_hash_inited) + { + lf_hash_destroy(&program_hash); + program_hash_inited= false; + } +} + +static void set_program_key(PFS_program_key *key, + enum_object_type object_type, + const char *object_name, uint object_name_length, + const char *schema_name, uint schema_name_length) +{ + DBUG_ASSERT(object_name_length <= COL_OBJECT_NAME_SIZE); + DBUG_ASSERT(schema_name_length <= COL_OBJECT_SCHEMA_SIZE); + + /* + To make sure generated key is case insensitive, + convert object_name/schema_name to lowercase. + */ + + char *ptr= &key->m_hash_key[0]; + + ptr[0]= object_type; + ptr++; + + if (object_name_length > 0) + { + char tmp_object_name[COL_OBJECT_NAME_SIZE + 1]; + memcpy(tmp_object_name, object_name, object_name_length); + tmp_object_name[object_name_length]= '\0'; + my_casedn_str(system_charset_info, tmp_object_name); + memcpy(ptr, tmp_object_name, object_name_length); + ptr+= object_name_length; + } + ptr[0]= 0; + ptr++; + + if (schema_name_length > 0) + { + char tmp_schema_name[COL_OBJECT_SCHEMA_SIZE + 1]; + memcpy(tmp_schema_name, schema_name, schema_name_length); + tmp_schema_name[schema_name_length]='\0'; + my_casedn_str(system_charset_info, tmp_schema_name); + memcpy(ptr, tmp_schema_name, schema_name_length); + ptr+= schema_name_length; + } + ptr[0]= 0; + ptr++; + + key->m_key_length= ptr - &key->m_hash_key[0]; +} + + + +void PFS_program::reset_data() +{ + m_sp_stat.reset(); + m_stmt_stat.reset(); +} + +static void fct_reset_esms_by_program(PFS_program *pfs) +{ + pfs->reset_data(); +} + +void reset_esms_by_program() +{ + global_program_container.apply_all(fct_reset_esms_by_program); +} + +static LF_PINS* get_program_hash_pins(PFS_thread *thread) +{ + if (unlikely(thread->m_program_hash_pins == NULL)) + { + if (! program_hash_inited) + return NULL; + thread->m_program_hash_pins= lf_hash_get_pins(&program_hash); + } + return thread->m_program_hash_pins; +} + +PFS_program* +find_or_create_program(PFS_thread *thread, + enum_object_type object_type, + const char *object_name, + uint object_name_length, + const char *schema_name, + uint schema_name_length) +{ + bool is_enabled, is_timed; + + LF_PINS *pins= get_program_hash_pins(thread); + if (unlikely(pins == NULL)) + { + global_program_container.m_lost++; + return NULL; + } + + /* Prepare program key */ + PFS_program_key key; + set_program_key(&key, object_type, + object_name, object_name_length, + schema_name, schema_name_length); + + PFS_program **entry; + PFS_program *pfs= NULL; + uint retry_count= 0; + const uint retry_max= 3; + pfs_dirty_state dirty_state; + +search: + entry= reinterpret_cast<PFS_program**> + (lf_hash_search(&program_hash, pins, + key.m_hash_key, key.m_key_length)); + + if (entry && (entry != MY_ERRPTR)) + { + /* If record already exists then return its pointer. */ + pfs= *entry; + lf_hash_search_unpin(pins); + return pfs; + } + + lf_hash_search_unpin(pins); + + /* + First time while inserting this record to program array we need to + find out if it is enabled and timed. + */ + lookup_setup_object(thread, object_type, + schema_name, schema_name_length, + object_name, object_name_length, + &is_enabled, &is_timed); + + /* Else create a new record in program stat array. */ + pfs= global_program_container.allocate(& dirty_state); + if (pfs != NULL) + { + /* Do the assignments. */ + memcpy(pfs->m_key.m_hash_key, key.m_hash_key, key.m_key_length); + pfs->m_key.m_key_length= key.m_key_length; + pfs->m_type= object_type; + + pfs->m_object_name= pfs->m_key.m_hash_key + 1; + pfs->m_object_name_length= object_name_length; + pfs->m_schema_name= pfs->m_object_name + object_name_length + 1; + pfs->m_schema_name_length= schema_name_length; + pfs->m_enabled= is_enabled; + pfs->m_timed= is_timed; + + /* Insert this record. */ + pfs->m_lock.dirty_to_allocated(& dirty_state); + int res= lf_hash_insert(&program_hash, pins, &pfs); + + if (likely(res == 0)) + { + return pfs; + } + + global_program_container.deallocate(pfs); + + if (res > 0) + { + /* Duplicate insert by another thread */ + if (++retry_count > retry_max) + { + /* Avoid infinite loops */ + global_program_container.m_lost++; + return NULL; + } + goto search; + } + /* OOM in lf_hash_insert */ + global_program_container.m_lost++; + return NULL; + } + + return NULL; +} + +void drop_program(PFS_thread *thread, + enum_object_type object_type, + const char *object_name, + uint object_name_length, + const char *schema_name, + uint schema_name_length) +{ + LF_PINS *pins= get_program_hash_pins(thread); + if (unlikely(pins == NULL)) + return; + + /* Prepare program key */ + PFS_program_key key; + set_program_key(&key, object_type, + object_name, object_name_length, + schema_name, schema_name_length); + + PFS_program **entry; + entry= reinterpret_cast<PFS_program**> + (lf_hash_search(&program_hash, pins, + key.m_hash_key, key.m_key_length)); + + if (entry && (entry != MY_ERRPTR)) + { + PFS_program *pfs= NULL; + pfs= *entry; + + lf_hash_delete(&program_hash, pins, + key.m_hash_key, key.m_key_length); + global_program_container.deallocate(pfs); + } + + lf_hash_search_unpin(pins); + return; +} + +void PFS_program::refresh_setup_object_flags(PFS_thread *thread) +{ + lookup_setup_object(thread, m_type, + m_schema_name, m_schema_name_length, + m_object_name, m_object_name_length, + &m_enabled, &m_timed); +} diff --git a/storage/perfschema/pfs_program.h b/storage/perfschema/pfs_program.h new file mode 100644 index 00000000000..35959dee7ca --- /dev/null +++ b/storage/perfschema/pfs_program.h @@ -0,0 +1,96 @@ +/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef PFS_PROGRAM_H +#define PFS_PROGRAM_H + +/** + @file storage/perfschema/pfs_program.h + Stored Program data structures (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_stat.h" + +#define PROGRAM_HASH_KEY_LENGTH sizeof(enum_object_type) + COL_OBJECT_NAME_SIZE + 1 + COL_OBJECT_SCHEMA_SIZE + 1 + +extern LF_HASH program_hash; + +/** + Hash key for a program. +*/ +struct PFS_program_key +{ + /** + Hash search key. + This has to be a string for LF_HASH, + the format is "<object_type><0x00><object_name><0x00><schema_name><0x00>" + */ + char m_hash_key[PROGRAM_HASH_KEY_LENGTH]; + uint m_key_length; +}; + +struct PFS_ALIGNED PFS_program : public PFS_instr +{ + /** Object type. */ + enum_object_type m_type; + + /** Object name. */ + const char *m_object_name; + int m_object_name_length; + + /** Object Schema name. */ + const char *m_schema_name; + int m_schema_name_length; + + /** Hash key */ + PFS_program_key m_key; + + /** Sub statement stat. */ + PFS_statement_stat m_stmt_stat; + + /** Stored program stat. */ + PFS_sp_stat m_sp_stat; + + /** Referesh setup object flags. */ + void refresh_setup_object_flags(PFS_thread* thread); + + /** Reset data for this record. */ + void reset_data(); +}; + +int init_program(const PFS_global_param *param); +void cleanup_program(void); +int init_program_hash(const PFS_global_param *param); +void cleanup_program_hash(void); + +void reset_esms_by_program(); + +PFS_program* +find_or_create_program(PFS_thread *thread, + enum_object_type object_type, + const char *object_name, + uint object_name_length, + const char *schema, + uint schema_length); + +void +drop_program(PFS_thread *thread, + enum_object_type object_type, + const char *object_name, + uint object_name_length, + const char *schema_name, + uint schema_name_length); +#endif diff --git a/storage/perfschema/pfs_server.cc b/storage/perfschema/pfs_server.cc index cc5e52f379d..82278367332 100644 --- a/storage/perfschema/pfs_server.cc +++ b/storage/perfschema/pfs_server.cc @@ -25,10 +25,12 @@ #include "pfs.h" #include "pfs_global.h" #include "pfs_instr_class.h" +#include "pfs_builtin_memory.h" #include "pfs_instr.h" #include "pfs_events_waits.h" #include "pfs_events_stages.h" #include "pfs_events_statements.h" +#include "pfs_events_transactions.h" #include "pfs_timer.h" #include "pfs_setup_actor.h" #include "pfs_setup_object.h" @@ -37,6 +39,9 @@ #include "pfs_account.h" #include "pfs_defaults.h" #include "pfs_digest.h" +#include "pfs_program.h" +#include "template_utils.h" +#include "pfs_prepared_stmt.h" PFS_global_param pfs_param; @@ -49,47 +54,69 @@ C_MODE_END static void cleanup_performance_schema(void); void cleanup_instrument_config(void); -struct PSI_bootstrap* -initialize_performance_schema(PFS_global_param *param) +void pre_initialize_performance_schema() { pfs_initialized= false; + init_all_builtin_memory_class(); + PFS_table_stat::g_reset_template.reset(); global_idle_stat.reset(); global_table_io_stat.reset(); global_table_lock_stat.reset(); - pfs_automated_sizing(param); + if (my_create_thread_local_key(&THR_PFS, destroy_pfs_thread)) + return; + if (my_create_thread_local_key(&THR_PFS_VG, NULL)) // global_variables + return; + if (my_create_thread_local_key(&THR_PFS_SV, NULL)) // session_variables + return; + if (my_create_thread_local_key(&THR_PFS_VBT, NULL)) // variables_by_thread + return; + if (my_create_thread_local_key(&THR_PFS_SG, NULL)) // global_status + return; + if (my_create_thread_local_key(&THR_PFS_SS, NULL)) // session_status + return; + if (my_create_thread_local_key(&THR_PFS_SBT, NULL)) // status_by_thread + return; + if (my_create_thread_local_key(&THR_PFS_SBU, NULL)) // status_by_user + return; + if (my_create_thread_local_key(&THR_PFS_SBH, NULL)) // status_by_host + return; + if (my_create_thread_local_key(&THR_PFS_SBA, NULL)) // status_by_account + return; + + THR_PFS_initialized= true; +} - if (! param->m_enabled) +struct PSI_bootstrap* +initialize_performance_schema(PFS_global_param *param) +{ + if (!THR_PFS_initialized) { - /* - The performance schema is disabled in the startup command line. - All the instrumentation is turned off. - */ + /* Pre-initialization failed. */ return NULL; } - init_timers(); - PFS_atomic::init(); + pfs_enabled= param->m_enabled; + pfs_automated_sizing(param); + init_timers(); init_event_name_sizing(param); register_global_classes(); - if (pthread_key_create(&THR_PFS, destroy_pfs_thread)) - return NULL; - - THR_PFS_initialized= true; - if (init_sync_class(param->m_mutex_class_sizing, param->m_rwlock_class_sizing, param->m_cond_class_sizing) || init_thread_class(param->m_thread_class_sizing) || init_table_share(param->m_table_share_sizing) || + init_table_share_lock_stat(param->m_table_lock_stat_sizing) || + init_table_share_index_stat(param->m_index_stat_sizing) || init_file_class(param->m_file_class_sizing) || init_stage_class(param->m_stage_class_sizing) || init_statement_class(param->m_statement_class_sizing) || init_socket_class(param->m_socket_class_sizing) || + init_memory_class(param->m_memory_class_sizing) || init_instruments(param) || init_events_waits_history_long( param->m_events_waits_history_long_sizing) || @@ -97,20 +124,25 @@ initialize_performance_schema(PFS_global_param *param) param->m_events_stages_history_long_sizing) || init_events_statements_history_long( param->m_events_statements_history_long_sizing) || - init_file_hash() || - init_table_share_hash() || + init_events_transactions_history_long( + param->m_events_transactions_history_long_sizing) || + init_file_hash(param) || + init_table_share_hash(param) || init_setup_actor(param) || - init_setup_actor_hash() || + init_setup_actor_hash(param) || init_setup_object(param) || - init_setup_object_hash() || + init_setup_object_hash(param) || init_host(param) || - init_host_hash() || + init_host_hash(param) || init_user(param) || - init_user_hash() || + init_user_hash(param) || init_account(param) || - init_account_hash() || + init_account_hash(param) || init_digest(param) || - init_digest_hash()) + init_digest_hash(param) || + init_program(param) || + init_program_hash(param) || + init_prepared_stmt(param)) { /* The performance schema initialization failed. @@ -120,24 +152,53 @@ initialize_performance_schema(PFS_global_param *param) return NULL; } + if (param->m_enabled) + { + /** Default values for SETUP_CONSUMERS */ + flag_events_stages_current= param->m_consumer_events_stages_current_enabled; + flag_events_stages_history= param->m_consumer_events_stages_history_enabled; + flag_events_stages_history_long= param->m_consumer_events_stages_history_long_enabled; + flag_events_statements_current= param->m_consumer_events_statements_current_enabled; + flag_events_statements_history= param->m_consumer_events_statements_history_enabled; + flag_events_statements_history_long= param->m_consumer_events_statements_history_long_enabled; + flag_events_transactions_current= param->m_consumer_events_transactions_current_enabled; + flag_events_transactions_history= param->m_consumer_events_transactions_history_enabled; + flag_events_transactions_history_long= param->m_consumer_events_transactions_history_long_enabled; + flag_events_waits_current= param->m_consumer_events_waits_current_enabled; + flag_events_waits_history= param->m_consumer_events_waits_history_enabled; + flag_events_waits_history_long= param->m_consumer_events_waits_history_long_enabled; + flag_global_instrumentation= param->m_consumer_global_instrumentation_enabled; + flag_thread_instrumentation= param->m_consumer_thread_instrumentation_enabled; + flag_statements_digest= param->m_consumer_statement_digest_enabled; + } + else + { + flag_events_stages_current= false; + flag_events_stages_history= false; + flag_events_stages_history_long= false; + flag_events_statements_current= false; + flag_events_statements_history= false; + flag_events_statements_history_long= false; + flag_events_transactions_current= false; + flag_events_transactions_history= false; + flag_events_transactions_history_long= false; + flag_events_waits_current= false; + flag_events_waits_history= false; + flag_events_waits_history_long= false; + flag_global_instrumentation= false; + flag_thread_instrumentation= false; + flag_statements_digest= false; + } + pfs_initialized= true; - /** Default values for SETUP_CONSUMERS */ - flag_events_stages_current= param->m_consumer_events_stages_current_enabled; - flag_events_stages_history= param->m_consumer_events_stages_history_enabled; - flag_events_stages_history_long= param->m_consumer_events_stages_history_long_enabled; - flag_events_statements_current= param->m_consumer_events_statements_current_enabled; - flag_events_statements_history= param->m_consumer_events_statements_history_enabled; - flag_events_statements_history_long= param->m_consumer_events_statements_history_long_enabled; - flag_events_waits_current= param->m_consumer_events_waits_current_enabled; - flag_events_waits_history= param->m_consumer_events_waits_history_enabled; - flag_events_waits_history_long= param->m_consumer_events_waits_history_long_enabled; - flag_global_instrumentation= param->m_consumer_global_instrumentation_enabled; - flag_thread_instrumentation= param->m_consumer_thread_instrumentation_enabled; - flag_statements_digest= param->m_consumer_statement_digest_enabled; - - install_default_setup(&PFS_bootstrap); - return &PFS_bootstrap; + if (param->m_enabled) + { + install_default_setup(&PFS_bootstrap); + return &PFS_bootstrap; + } + + return NULL; } static void destroy_pfs_thread(void *key) @@ -161,52 +222,131 @@ static void destroy_pfs_thread(void *key) static void cleanup_performance_schema(void) { + /* + my.cnf options + */ + cleanup_instrument_config(); -/* Disabled: Bug#5666 - cleanup_instruments(); + + /* + All the LF_HASH + */ + + cleanup_setup_actor_hash(); + cleanup_setup_object_hash(); + cleanup_account_hash(); + cleanup_host_hash(); + cleanup_user_hash(); + cleanup_program_hash(); + cleanup_table_share_hash(); + cleanup_file_hash(); + cleanup_digest_hash(); + + /* + Then the lookup tables + */ + + cleanup_setup_actor(); + cleanup_setup_object(); + + /* + Then the history tables + */ + + cleanup_events_waits_history_long(); + cleanup_events_stages_history_long(); + cleanup_events_statements_history_long(); + cleanup_events_transactions_history_long(); + + /* + Then the various aggregations + */ + + cleanup_digest(); + cleanup_account(); + cleanup_host(); + cleanup_user(); + + /* + Then the instrument classes. + Once a class is cleaned up, + find_XXX_class(key) + will return PSI_NOT_INSTRUMENTED + */ + cleanup_program(); + cleanup_prepared_stmt(); cleanup_sync_class(); cleanup_thread_class(); cleanup_table_share(); + cleanup_table_share_lock_stat(); + cleanup_table_share_index_stat(); cleanup_file_class(); cleanup_stage_class(); cleanup_statement_class(); cleanup_socket_class(); - cleanup_events_waits_history_long(); - cleanup_events_stages_history_long(); - cleanup_events_statements_history_long(); - cleanup_table_share_hash(); - cleanup_file_hash(); - cleanup_setup_actor(); - cleanup_setup_actor_hash(); - cleanup_setup_object(); - cleanup_setup_object_hash(); - cleanup_host(); - cleanup_host_hash(); - cleanup_user(); - cleanup_user_hash(); - cleanup_account(); - cleanup_account_hash(); - cleanup_digest(); - PFS_atomic::cleanup(); -*/ + cleanup_memory_class(); + + cleanup_instruments(); } void shutdown_performance_schema(void) { pfs_initialized= false; + + /* disable everything, especially for this thread. */ + flag_events_stages_current= false; + flag_events_stages_history= false; + flag_events_stages_history_long= false; + flag_events_statements_current= false; + flag_events_statements_history= false; + flag_events_statements_history_long= false; + flag_events_transactions_current= false; + flag_events_transactions_history= false; + flag_events_transactions_history_long= false; + flag_events_waits_current= false; + flag_events_waits_history= false; + flag_events_waits_history_long= false; + flag_global_instrumentation= false; + flag_thread_instrumentation= false; + flag_statements_digest= false; + + global_table_io_class.m_enabled= false; + global_table_lock_class.m_enabled= false; + global_idle_class.m_enabled= false; + global_metadata_class.m_enabled= false; + global_transaction_class.m_enabled= false; + cleanup_performance_schema(); -#if 0 /* Be careful to not delete un-initialized keys, this would affect key 0, which is THR_KEY_mysys, */ if (THR_PFS_initialized) { - my_pthread_setspecific_ptr(THR_PFS, NULL); - pthread_key_delete(THR_PFS); + my_set_thread_local(THR_PFS, NULL); + my_set_thread_local(THR_PFS_VG, NULL); // global_variables + my_set_thread_local(THR_PFS_SV, NULL); // session_variables + my_set_thread_local(THR_PFS_VBT, NULL); // variables_by_thread + my_set_thread_local(THR_PFS_SG, NULL); // global_status + my_set_thread_local(THR_PFS_SS, NULL); // session_status + my_set_thread_local(THR_PFS_SBT, NULL); // status_by_thread + my_set_thread_local(THR_PFS_SBU, NULL); // status_by_user + my_set_thread_local(THR_PFS_SBH, NULL); // status_by_host + my_set_thread_local(THR_PFS_SBA, NULL); // status_by_account + + my_delete_thread_local_key(THR_PFS); + my_delete_thread_local_key(THR_PFS_VG); + my_delete_thread_local_key(THR_PFS_SV); + my_delete_thread_local_key(THR_PFS_VBT); + my_delete_thread_local_key(THR_PFS_SG); + my_delete_thread_local_key(THR_PFS_SS); + my_delete_thread_local_key(THR_PFS_SBT); + my_delete_thread_local_key(THR_PFS_SBU); + my_delete_thread_local_key(THR_PFS_SBH); + my_delete_thread_local_key(THR_PFS_SBA); + THR_PFS_initialized= false; } -#endif } /** @@ -215,21 +355,18 @@ void shutdown_performance_schema(void) */ void init_pfs_instrument_array() { - my_init_dynamic_array(&pfs_instr_config_array, sizeof(PFS_instr_config*), 10, 10); - pfs_instr_config_state= PFS_INSTR_CONFIG_ALLOCATED; + pfs_instr_config_array= new Pfs_instr_config_array(PSI_NOT_INSTRUMENTED); } /** - Deallocate the PFS_INSTRUMENT array. Use an atomic compare-and-swap to ensure - that it is deallocated only once in the chaotic environment of server shutdown. + Deallocate the PFS_INSTRUMENT array. */ void cleanup_instrument_config() { - int desired_state= PFS_INSTR_CONFIG_ALLOCATED; - - /* Ignore if another thread has already deallocated the array */ - if (my_atomic_cas32(&pfs_instr_config_state, &desired_state, PFS_INSTR_CONFIG_DEALLOCATED)) - delete_dynamic(&pfs_instr_config_array); + if (pfs_instr_config_array != NULL) + my_free_container_pointers(*pfs_instr_config_array); + delete pfs_instr_config_array; + pfs_instr_config_array= NULL; } /** @@ -244,20 +381,21 @@ void cleanup_instrument_config() int add_pfs_instr_to_array(const char* name, const char* value) { - int name_length= strlen(name); - int value_length= strlen(value); + size_t name_length= strlen(name); + size_t value_length= strlen(value); /* Allocate structure plus string buffers plus null terminators */ - PFS_instr_config* e = (PFS_instr_config*)my_malloc(sizeof(PFS_instr_config) + PFS_instr_config* e = (PFS_instr_config*)my_malloc(PSI_NOT_INSTRUMENTED, + sizeof(PFS_instr_config) + name_length + 1 + value_length + 1, MYF(MY_WME)); if (!e) return 1; - + /* Copy the instrument name */ e->m_name= (char*)e + sizeof(PFS_instr_config); memcpy(e->m_name, name, name_length); - e->m_name_length= name_length; + e->m_name_length= (uint)name_length; e->m_name[name_length]= '\0'; - + /* Set flags accordingly */ if (!my_strcasecmp(&my_charset_latin1, value, "counted")) { @@ -289,7 +427,7 @@ int add_pfs_instr_to_array(const char* name, const char* value) } /* Add to the array of default startup options */ - if (insert_dynamic(&pfs_instr_config_array, &e)) + if (pfs_instr_config_array->push_back(e)) { my_free(e); return 1; diff --git a/storage/perfschema/pfs_server.h b/storage/perfschema/pfs_server.h index c816628a5f0..bf9e58427e8 100644 --- a/storage/perfschema/pfs_server.h +++ b/storage/perfschema/pfs_server.h @@ -21,6 +21,9 @@ Private interface for the server (declarations). */ +#define PFS_AUTOSCALE_VALUE (-1) +#define PFS_AUTOSIZE_VALUE (-1) + #ifndef PFS_MAX_MUTEX_CLASS #define PFS_MAX_MUTEX_CLASS 200 #endif @@ -34,7 +37,7 @@ #define PFS_MAX_THREAD_CLASS 50 #endif #ifndef PFS_MAX_FILE_CLASS - #define PFS_MAX_FILE_CLASS 50 + #define PFS_MAX_FILE_CLASS 80 #endif #ifndef PFS_MAX_FILE_HANDLE #define PFS_MAX_FILE_HANDLE 32768 @@ -42,25 +45,29 @@ #ifndef PFS_MAX_SOCKET_CLASS #define PFS_MAX_SOCKET_CLASS 10 #endif -#ifndef PFS_MAX_SETUP_ACTOR - #define PFS_MAX_SETUP_ACTOR 100 -#endif -#ifndef PFS_MAX_SETUP_OBJECT - #define PFS_MAX_SETUP_OBJECT 100 -#endif #ifndef PFS_MAX_STAGE_CLASS #define PFS_MAX_STAGE_CLASS 150 #endif #ifndef PFS_STATEMENTS_STACK_SIZE #define PFS_STATEMENTS_STACK_SIZE 10 #endif +#ifndef PFS_MAX_MEMORY_CLASS + #define PFS_MAX_MEMORY_CLASS 320 +#endif +/** Sizing hints, from the server configuration. */ struct PFS_sizing_hints { + /** Value of @c Sys_table_def_size */ long m_table_definition_cache; + /** Value of @c Sys_table_cache_size */ long m_table_open_cache; + /** Value of @c Sys_max_connections */ long m_max_connections; + /** Value of @c Sys_open_files_limit */ long m_open_files_limit; + /** Value of @c Sys_max_prepared_stmt_count */ + long m_max_prepared_stmt_count; }; /** Performance schema global sizing parameters. */ @@ -75,6 +82,9 @@ struct PFS_global_param bool m_consumer_events_statements_current_enabled; bool m_consumer_events_statements_history_enabled; bool m_consumer_events_statements_history_long_enabled; + bool m_consumer_events_transactions_current_enabled; + bool m_consumer_events_transactions_history_enabled; + bool m_consumer_events_transactions_history_long_enabled; bool m_consumer_events_waits_current_enabled; bool m_consumer_events_waits_history_enabled; bool m_consumer_events_waits_history_long_enabled; @@ -111,6 +121,16 @@ struct PFS_global_param */ long m_table_share_sizing; /** + Maximum number of lock statistics collected for tables. + @sa table_lock_stat_lost. + */ + long m_table_lock_stat_sizing; + /** + Maximum number of index statistics collected for tables. + @sa table_index_lost. + */ + long m_index_stat_sizing; + /** Maximum number of instrumented file classes. @sa file_class_lost. */ @@ -152,7 +172,7 @@ struct PFS_global_param long m_file_handle_sizing; /** Maxium number of instrumented socket instances - @sa socket_lost + @sa socket_lost */ long m_socket_sizing; /** @@ -165,9 +185,9 @@ struct PFS_global_param /** Maximum number of rows in table EVENTS_WAITS_HISTORY_LONG. */ long m_events_waits_history_long_sizing; /** Maximum number of rows in table SETUP_ACTORS. */ - ulong m_setup_actor_sizing; + long m_setup_actor_sizing; /** Maximum number of rows in table SETUP_OBJECTS. */ - ulong m_setup_object_sizing; + long m_setup_object_sizing; /** Maximum number of rows in table HOSTS. */ long m_host_sizing; /** Maximum number of rows in table USERS. */ @@ -188,16 +208,36 @@ struct PFS_global_param @sa statement_class_lost. */ ulong m_statement_class_sizing; - /** Maximum number of rows per thread in table EVENTS_STATEMENT_HISTORY. */ + /** Maximum number of rows per thread in table EVENTS_STATEMENTS_HISTORY. */ long m_events_statements_history_sizing; /** Maximum number of rows in table EVENTS_STATEMENTS_HISTORY_LONG. */ long m_events_statements_history_long_sizing; /** Maximum number of digests to be captured */ long m_digest_sizing; + /** Maximum number of programs to be captured */ + long m_program_sizing; + /** Maximum number of prepared statements to be captured */ + long m_prepared_stmt_sizing; + /** Maximum number of rows per thread in table EVENTS_TRANSACTIONS_HISTORY. */ + long m_events_transactions_history_sizing; + /** Maximum number of rows in table EVENTS_TRANSACTIONS_HISTORY_LONG. */ + long m_events_transactions_history_long_sizing; + /** Maximum number of session attribute strings per thread */ long m_session_connect_attrs_sizing; + /** Maximum size of statement stack */ + ulong m_statement_stack_sizing; + + /** + Maximum number of instrumented memory classes. + @sa memory_class_lost. + */ + ulong m_memory_class_sizing; + + long m_metadata_lock_sizing; long m_max_digest_length; + ulong m_max_sql_text_length; /** Sizing hints, for auto tuning. */ PFS_sizing_hints m_hints; @@ -210,9 +250,17 @@ struct PFS_global_param extern PFS_global_param pfs_param; /** + Null initialization. + Disable all instrumentation, size all internal buffers to 0. + This pre initialization step is needed to ensure that events can be collected + and discarded, until such time @c initialize_performance_schema() is called. +*/ +void pre_initialize_performance_schema(); + +/** Initialize the performance schema. @param param Size parameters to use. - @return A boostrap handle, or NULL. + @return A bootstrap handle, or NULL. */ struct PSI_bootstrap* initialize_performance_schema(PFS_global_param *param); @@ -223,8 +271,8 @@ void pfs_automated_sizing(PFS_global_param *param); Initialize the performance schema ACL. ACL is strictly enforced when the server is running in normal mode, to enforce that only legal operations are allowed. - When running in boostrap mode, ACL restrictions are relaxed, - to allow the boostrap scripts to DROP / CREATE performance schema tables. + When running in bootstrap mode, ACL restrictions are relaxed, + to allow the bootstrap scripts to DROP / CREATE performance schema tables. @sa ACL_internal_schema_registry @param bootstrap True if the server is starting in bootstrap mode. */ @@ -233,6 +281,11 @@ void initialize_performance_schema_acl(bool bootstrap); void check_performance_schema(); /** + Reset the aggregated status counter stats. +*/ +void reset_pfs_status_stats(); + +/** Initialize the dynamic array holding individual instrument settings collected from the server configuration options. */ diff --git a/storage/perfschema/pfs_setup_actor.cc b/storage/perfschema/pfs_setup_actor.cc index c18ab72e453..559c18640bc 100644 --- a/storage/perfschema/pfs_setup_actor.cc +++ b/storage/perfschema/pfs_setup_actor.cc @@ -25,23 +25,15 @@ #include "pfs_stat.h" #include "pfs_instr.h" #include "pfs_setup_actor.h" +#include "pfs_account.h" #include "pfs_global.h" +#include "pfs_buffer_container.h" /** @addtogroup Performance_schema_buffers @{ */ -/** Size of the setup_actor instances array. @sa setup_actor_array */ -ulong setup_actor_max; - -/** - Setup_actor instances array. - @sa setup_actor_max -*/ - -PFS_setup_actor *setup_actor_array= NULL; - /** Hash table for setup_actor records. */ LF_HASH setup_actor_hash; /** True if @c setup_actor_hash is initialized. */ @@ -54,27 +46,13 @@ static bool setup_actor_hash_inited= false; */ int init_setup_actor(const PFS_global_param *param) { - setup_actor_max= param->m_setup_actor_sizing; - - setup_actor_array= NULL; - - if (setup_actor_max > 0) - { - setup_actor_array= PFS_MALLOC_ARRAY(setup_actor_max, sizeof(PFS_setup_actor), - PFS_setup_actor, MYF(MY_ZEROFILL)); - if (unlikely(setup_actor_array == NULL)) - return 1; - } - - return 0; + return global_setup_actor_container.init(param->m_setup_actor_sizing); } /** Cleanup all the setup actor buffers. */ void cleanup_setup_actor(void) { - pfs_free(setup_actor_array); - setup_actor_array= NULL; - setup_actor_max= 0; + global_setup_actor_container.cleanup(); } C_MODE_START @@ -98,13 +76,13 @@ C_MODE_END Initialize the setup actor hash. @return 0 on success */ -int init_setup_actor_hash(void) +int init_setup_actor_hash(const PFS_global_param *param) { - if ((! setup_actor_hash_inited) && (setup_actor_max > 0)) + if ((! setup_actor_hash_inited) && (param->m_setup_actor_sizing != 0)) { lf_hash_init(&setup_actor_hash, sizeof(PFS_setup_actor*), LF_HASH_UNIQUE, 0, 0, setup_actor_hash_get_key, &my_charset_bin); - setup_actor_hash.size= setup_actor_max; + /* setup_actor_hash.size= param->m_setup_actor_sizing; */ setup_actor_hash_inited= true; } return 0; @@ -155,11 +133,9 @@ static void set_setup_actor_key(PFS_setup_actor_key *key, key->m_key_length= ptr - &key->m_hash_key[0]; } -int insert_setup_actor(const String *user, const String *host, const String *role) +int insert_setup_actor(const String *user, const String *host, const String *role, + bool enabled, bool history) { - if (setup_actor_max == 0) - return HA_ERR_RECORD_FILE_FULL; - PFS_thread *thread= PFS_thread::get_current_thread(); if (unlikely(thread == NULL)) return HA_ERR_OUT_OF_MEM; @@ -168,46 +144,39 @@ int insert_setup_actor(const String *user, const String *host, const String *rol if (unlikely(pins == NULL)) return HA_ERR_OUT_OF_MEM; - static uint PFS_ALIGNED setup_actor_monotonic_index= 0; - uint index; - uint attempts= 0; PFS_setup_actor *pfs; + pfs_dirty_state dirty_state; - while (++attempts <= setup_actor_max) + pfs= global_setup_actor_container.allocate(& dirty_state); + if (pfs != NULL) { - /* See create_mutex() */ - index= PFS_atomic::add_u32(& setup_actor_monotonic_index, 1) % setup_actor_max; - pfs= setup_actor_array + index; - - if (pfs->m_lock.is_free()) + set_setup_actor_key(&pfs->m_key, + user->ptr(), user->length(), + host->ptr(), host->length(), + role->ptr(), role->length()); + pfs->m_username= &pfs->m_key.m_hash_key[0]; + pfs->m_username_length= user->length(); + pfs->m_hostname= pfs->m_username + pfs->m_username_length + 1; + pfs->m_hostname_length= host->length(); + pfs->m_rolename= pfs->m_hostname + pfs->m_hostname_length + 1; + pfs->m_rolename_length= role->length(); + pfs->m_enabled= enabled; + pfs->m_history= history; + + int res; + pfs->m_lock.dirty_to_allocated(& dirty_state); + res= lf_hash_insert(&setup_actor_hash, pins, &pfs); + if (likely(res == 0)) { - if (pfs->m_lock.free_to_dirty()) - { - set_setup_actor_key(&pfs->m_key, - user->ptr(), user->length(), - host->ptr(), host->length(), - role->ptr(), role->length()); - pfs->m_username= &pfs->m_key.m_hash_key[0]; - pfs->m_username_length= user->length(); - pfs->m_hostname= pfs->m_username + pfs->m_username_length + 1; - pfs->m_hostname_length= host->length(); - pfs->m_rolename= pfs->m_hostname + pfs->m_hostname_length + 1; - pfs->m_rolename_length= role->length(); - - int res; - res= lf_hash_insert(&setup_actor_hash, pins, &pfs); - if (likely(res == 0)) - { - pfs->m_lock.dirty_to_allocated(); - return 0; - } - - pfs->m_lock.dirty_to_free(); - if (res > 0) - return HA_ERR_FOUND_DUPP_KEY; - return HA_ERR_OUT_OF_MEM; - } + update_setup_actors_derived_flags(); + return 0; } + + global_setup_actor_container.deallocate(pfs); + + if (res > 0) + return HA_ERR_FOUND_DUPP_KEY; + return HA_ERR_OUT_OF_MEM; } return HA_ERR_RECORD_FILE_FULL; @@ -237,14 +206,36 @@ int delete_setup_actor(const String *user, const String *host, const String *rol { PFS_setup_actor *pfs= *entry; lf_hash_delete(&setup_actor_hash, pins, key.m_hash_key, key.m_key_length); - pfs->m_lock.allocated_to_free(); + global_setup_actor_container.deallocate(pfs); } lf_hash_search_unpin(pins); + update_setup_actors_derived_flags(); + return 0; } +class Proc_reset_setup_actor + : public PFS_buffer_processor<PFS_setup_actor> +{ +public: + Proc_reset_setup_actor(LF_PINS* pins) + : m_pins(pins) + {} + + virtual void operator()(PFS_setup_actor *pfs) + { + lf_hash_delete(&setup_actor_hash, m_pins, + pfs->m_key.m_hash_key, pfs->m_key.m_key_length); + + global_setup_actor_container.deallocate(pfs); + } + +private: + LF_PINS* m_pins; +}; + int reset_setup_actor() { PFS_thread *thread= PFS_thread::get_current_thread(); @@ -255,18 +246,11 @@ int reset_setup_actor() if (unlikely(pins == NULL)) return HA_ERR_OUT_OF_MEM; - PFS_setup_actor *pfs= setup_actor_array; - PFS_setup_actor *pfs_last= setup_actor_array + setup_actor_max; + Proc_reset_setup_actor proc(pins); + // FIXME: delete helper instead + global_setup_actor_container.apply(proc); - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - { - lf_hash_delete(&setup_actor_hash, pins, - pfs->m_key.m_hash_key, pfs->m_key.m_key_length); - pfs->m_lock.allocated_to_free(); - } - } + update_setup_actors_derived_flags(); return 0; } @@ -284,7 +268,7 @@ long setup_actor_count() void lookup_setup_actor(PFS_thread *thread, const char *user, uint user_length, const char *host, uint host_length, - bool *enabled) + bool *enabled, bool *history) { PFS_setup_actor_key key; PFS_setup_actor **entry; @@ -294,6 +278,7 @@ void lookup_setup_actor(PFS_thread *thread, if (unlikely(pins == NULL)) { *enabled= false; + *history= false; return; } @@ -323,15 +308,28 @@ void lookup_setup_actor(PFS_thread *thread, if (entry && (entry != MY_ERRPTR)) { + PFS_setup_actor *pfs= *entry; lf_hash_search_unpin(pins); - *enabled= true; + *enabled= pfs->m_enabled; + *history= pfs->m_history; return; } lf_hash_search_unpin(pins); } *enabled= false; + *history= false; return; } +int update_setup_actors_derived_flags() +{ + PFS_thread *thread= PFS_thread::get_current_thread(); + if (unlikely(thread == NULL)) + return HA_ERR_OUT_OF_MEM; + + update_accounts_derived_flags(thread); + return 0; +} + /** @} */ diff --git a/storage/perfschema/pfs_setup_actor.h b/storage/perfschema/pfs_setup_actor.h index baebd27f0ad..cc7224f2bae 100644 --- a/storage/perfschema/pfs_setup_actor.h +++ b/storage/perfschema/pfs_setup_actor.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,6 +26,7 @@ #include "lf.h" struct PFS_global_param; +class PFS_opaque_container_page; /* WL#988 Roles Not implemented yet */ #define ROLENAME_LENGTH 64 @@ -67,30 +68,35 @@ struct PFS_ALIGNED PFS_setup_actor const char *m_rolename; /** Length of @c m_rolename. */ uint m_rolename_length; + /** ENABLED flag. */ + bool m_enabled; + /** HISTORY flag. */ + bool m_history; + /** Container page. */ + PFS_opaque_container_page *m_page; }; int init_setup_actor(const PFS_global_param *param); void cleanup_setup_actor(void); -int init_setup_actor_hash(void); +int init_setup_actor_hash(const PFS_global_param *param); void cleanup_setup_actor_hash(void); -int insert_setup_actor(const String *user, const String *host, const String *role); -int delete_setup_actor(const String *user, const String *host, const String *role); +int insert_setup_actor(const String *user, const String *host, + const String *role, bool enabled, bool history); +int delete_setup_actor(const String *user, const String *host, + const String *role); int reset_setup_actor(void); long setup_actor_count(void); void lookup_setup_actor(PFS_thread *thread, const char *user, uint user_length, const char *host, uint host_length, - bool *enabled); + bool *enabled, bool *history); -/* For iterators and show status. */ +/** Update derived flags for all setup_actors. */ +int update_setup_actors_derived_flags(); -extern ulong setup_actor_max; - -/* Exposing the data directly, for iterators. */ - -extern PFS_setup_actor *setup_actor_array; +/* For show status. */ extern LF_HASH setup_actor_hash; diff --git a/storage/perfschema/pfs_setup_object.cc b/storage/perfschema/pfs_setup_object.cc index 3ad1186a8a1..637ecf535c8 100644 --- a/storage/perfschema/pfs_setup_object.cc +++ b/storage/perfschema/pfs_setup_object.cc @@ -27,6 +27,7 @@ #include "pfs_instr.h" #include "pfs_setup_object.h" #include "pfs_global.h" +#include "pfs_buffer_container.h" /** @addtogroup Performance_schema_buffers @@ -35,10 +36,6 @@ uint setup_objects_version= 0; -ulong setup_object_max; - -PFS_setup_object *setup_object_array= NULL; - LF_HASH setup_object_hash; static bool setup_object_hash_inited= false; @@ -49,27 +46,13 @@ static bool setup_object_hash_inited= false; */ int init_setup_object(const PFS_global_param *param) { - setup_object_max= param->m_setup_object_sizing; - - setup_object_array= NULL; - - if (setup_object_max > 0) - { - setup_object_array= PFS_MALLOC_ARRAY(setup_object_max, sizeof(PFS_setup_object), - PFS_setup_object, MYF(MY_ZEROFILL)); - if (unlikely(setup_object_array == NULL)) - return 1; - } - - return 0; + return global_setup_object_container.init(param->m_setup_object_sizing); } /** Cleanup all the setup object buffers. */ void cleanup_setup_object(void) { - pfs_free(setup_object_array); - setup_object_array= NULL; - setup_object_max= 0; + global_setup_object_container.cleanup(); } C_MODE_START @@ -93,13 +76,12 @@ C_MODE_END Initialize the setup objects hash. @return 0 on success */ -int init_setup_object_hash(void) +int init_setup_object_hash(const PFS_global_param *param) { - if ((! setup_object_hash_inited) && (setup_object_max > 0)) + if ((! setup_object_hash_inited) && (param->m_setup_object_sizing != 0)) { lf_hash_init(&setup_object_hash, sizeof(PFS_setup_object*), LF_HASH_UNIQUE, 0, 0, setup_object_hash_get_key, &my_charset_bin); - setup_object_hash.size= setup_object_max; setup_object_hash_inited= true; } return 0; @@ -151,9 +133,6 @@ static void set_setup_object_key(PFS_setup_object_key *key, int insert_setup_object(enum_object_type object_type, const String *schema, const String *object, bool enabled, bool timed) { - if (setup_object_max == 0) - return HA_ERR_RECORD_FILE_FULL; - PFS_thread *thread= PFS_thread::get_current_thread(); if (unlikely(thread == NULL)) return HA_ERR_OUT_OF_MEM; @@ -162,47 +141,37 @@ int insert_setup_object(enum_object_type object_type, const String *schema, if (unlikely(pins == NULL)) return HA_ERR_OUT_OF_MEM; - static uint PFS_ALIGNED setup_object_monotonic_index= 0; - uint index; - uint attempts= 0; PFS_setup_object *pfs; + pfs_dirty_state dirty_state; - while (++attempts <= setup_object_max) + pfs= global_setup_object_container.allocate(& dirty_state); + if (pfs != NULL) { - /* See create_mutex() */ - index= PFS_atomic::add_u32(& setup_object_monotonic_index, 1) % setup_object_max; - pfs= setup_object_array + index; - - if (pfs->m_lock.is_free()) + set_setup_object_key(&pfs->m_key, object_type, + schema->ptr(), schema->length(), + object->ptr(), object->length()); + pfs->m_schema_name= &pfs->m_key.m_hash_key[1]; + pfs->m_schema_name_length= schema->length(); + pfs->m_object_name= pfs->m_schema_name + pfs->m_schema_name_length + 1; + pfs->m_object_name_length= object->length(); + pfs->m_enabled= enabled; + pfs->m_timed= timed; + + int res; + pfs->m_lock.dirty_to_allocated(& dirty_state); + res= lf_hash_insert(&setup_object_hash, pins, &pfs); + if (likely(res == 0)) { - if (pfs->m_lock.free_to_dirty()) - { - set_setup_object_key(&pfs->m_key, object_type, - schema->ptr(), schema->length(), - object->ptr(), object->length()); - pfs->m_schema_name= &pfs->m_key.m_hash_key[1]; - pfs->m_schema_name_length= schema->length(); - pfs->m_object_name= pfs->m_schema_name + pfs->m_schema_name_length + 1; - pfs->m_object_name_length= object->length(); - pfs->m_enabled= enabled; - pfs->m_timed= timed; - - int res; - res= lf_hash_insert(&setup_object_hash, pins, &pfs); - if (likely(res == 0)) - { - pfs->m_lock.dirty_to_allocated(); - setup_objects_version++; - return 0; - } - - pfs->m_lock.dirty_to_free(); - if (res > 0) - return HA_ERR_FOUND_DUPP_KEY; - /* OOM in lf_hash_insert */ - return HA_ERR_OUT_OF_MEM; - } + setup_objects_version++; + return 0; } + + global_setup_object_container.deallocate(pfs); + + if (res > 0) + return HA_ERR_FOUND_DUPP_KEY; + /* OOM in lf_hash_insert */ + return HA_ERR_OUT_OF_MEM; } return HA_ERR_RECORD_FILE_FULL; @@ -232,7 +201,7 @@ int delete_setup_object(enum_object_type object_type, const String *schema, { PFS_setup_object *pfs= *entry; lf_hash_delete(&setup_object_hash, pins, key.m_hash_key, key.m_key_length); - pfs->m_lock.allocated_to_free(); + global_setup_object_container.deallocate(pfs); } lf_hash_search_unpin(pins); @@ -241,6 +210,26 @@ int delete_setup_object(enum_object_type object_type, const String *schema, return 0; } +class Proc_reset_setup_object + : public PFS_buffer_processor<PFS_setup_object> +{ +public: + Proc_reset_setup_object(LF_PINS* pins) + : m_pins(pins) + {} + + virtual void operator()(PFS_setup_object *pfs) + { + lf_hash_delete(&setup_object_hash, m_pins, + pfs->m_key.m_hash_key, pfs->m_key.m_key_length); + + global_setup_object_container.deallocate(pfs); + } + +private: + LF_PINS* m_pins; +}; + int reset_setup_object() { PFS_thread *thread= PFS_thread::get_current_thread(); @@ -251,18 +240,9 @@ int reset_setup_object() if (unlikely(pins == NULL)) return HA_ERR_OUT_OF_MEM; - PFS_setup_object *pfs= setup_object_array; - PFS_setup_object *pfs_last= setup_object_array + setup_object_max; - - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - { - lf_hash_delete(&setup_object_hash, pins, - pfs->m_key.m_hash_key, pfs->m_key.m_key_length); - pfs->m_lock.allocated_to_free(); - } - } + Proc_reset_setup_object proc(pins); + // FIXME: delete helper instead + global_setup_object_container.apply(proc); setup_objects_version++; return 0; diff --git a/storage/perfschema/pfs_setup_object.h b/storage/perfschema/pfs_setup_object.h index 2615802fe01..9f9dcf0adac 100644 --- a/storage/perfschema/pfs_setup_object.h +++ b/storage/perfschema/pfs_setup_object.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,6 +26,7 @@ class String; struct PFS_global_param; +class PFS_opaque_container_page; /** @addtogroup Performance_schema_buffers @@ -68,11 +69,13 @@ struct PFS_ALIGNED PFS_setup_object bool m_enabled; /** TIMED flag. */ bool m_timed; + /** Container page. */ + PFS_opaque_container_page *m_page; }; int init_setup_object(const PFS_global_param *param); void cleanup_setup_object(void); -int init_setup_object_hash(void); +int init_setup_object_hash(const PFS_global_param *param); void cleanup_setup_object_hash(void); int insert_setup_object(enum_object_type object_type, const String *schema, @@ -88,13 +91,7 @@ void lookup_setup_object(PFS_thread *thread, const char *object_name, int object_name_length, bool *enabled, bool *timed); -/* For iterators and show status. */ - -extern ulong setup_object_max; - -/* Exposing the data directly, for iterators. */ - -extern PFS_setup_object *setup_object_array; +/* For show status. */ extern LF_HASH setup_object_hash; diff --git a/storage/perfschema/pfs_stat.h b/storage/perfschema/pfs_stat.h index 13a32d0e3ad..4670ed73dea 100644 --- a/storage/perfschema/pfs_stat.h +++ b/storage/perfschema/pfs_stat.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,6 +16,7 @@ #ifndef PFS_STAT_H #define PFS_STAT_H +#include <algorithm> #include "sql_const.h" /* memcpy */ #include "string.h" @@ -46,7 +47,7 @@ struct PFS_single_stat { m_count= 0; m_sum= 0; - m_min= ULONGLONG_MAX; + m_min= ULLONG_MAX; m_max= 0; } @@ -54,7 +55,7 @@ struct PFS_single_stat { m_count= 0; m_sum= 0; - m_min= ULONGLONG_MAX; + m_min= ULLONG_MAX; m_max= 0; } @@ -65,6 +66,19 @@ struct PFS_single_stat inline void aggregate(const PFS_single_stat *stat) { + if (stat->m_count != 0) + { + m_count+= stat->m_count; + m_sum+= stat->m_sum; + if (unlikely(m_min > stat->m_min)) + m_min= stat->m_min; + if (unlikely(m_max < stat->m_max)) + m_max= stat->m_max; + } + } + + inline void aggregate_no_check(const PFS_single_stat *stat) + { m_count+= stat->m_count; m_sum+= stat->m_sum; if (unlikely(m_min > stat->m_min)) @@ -92,6 +106,16 @@ struct PFS_single_stat if (unlikely(m_max < value)) m_max= value; } + + inline void aggregate_many_value(ulonglong value, ulonglong count) + { + m_count+= count; + m_sum+= value; + if (unlikely(m_min > value)) + m_min= value; + if (unlikely(m_max < value)) + m_max= value; + } }; /** Combined statistic. */ @@ -100,39 +124,49 @@ struct PFS_byte_stat : public PFS_single_stat /** Byte count statistics */ ulonglong m_bytes; - /* Aggregate wait stats, event count and byte count */ + /** Aggregate wait stats, event count and byte count */ inline void aggregate(const PFS_byte_stat *stat) { - PFS_single_stat::aggregate(stat); + if (stat->m_count != 0) + { + PFS_single_stat::aggregate_no_check(stat); + m_bytes+= stat->m_bytes; + } + } + + /** Aggregate wait stats, event count and byte count */ + inline void aggregate_no_check(const PFS_byte_stat *stat) + { + PFS_single_stat::aggregate_no_check(stat); m_bytes+= stat->m_bytes; } - /* Aggregate individual wait time, event count and byte count */ + /** Aggregate individual wait time, event count and byte count */ inline void aggregate(ulonglong wait, ulonglong bytes) { aggregate_value(wait); m_bytes+= bytes; } - /* Aggregate wait stats and event count */ + /** Aggregate wait stats and event count */ inline void aggregate_waits(const PFS_byte_stat *stat) { PFS_single_stat::aggregate(stat); } - /* Aggregate event count and byte count */ + /** Aggregate event count and byte count */ inline void aggregate_counted() { PFS_single_stat::aggregate_counted(); } - /* Aggregate event count and byte count */ + /** Aggregate event count and byte count */ inline void aggregate_counted(ulonglong bytes) { PFS_single_stat::aggregate_counted(); m_bytes+= bytes; } - + PFS_byte_stat() { reset(); @@ -150,22 +184,28 @@ struct PFS_mutex_stat { /** Wait statistics. */ PFS_single_stat m_wait_stat; +#ifdef PFS_LATER /** Lock statistics. This statistic is not exposed in user visible tables yet. */ PFS_single_stat m_lock_stat; +#endif inline void aggregate(const PFS_mutex_stat *stat) { m_wait_stat.aggregate(&stat->m_wait_stat); +#ifdef PFS_LATER m_lock_stat.aggregate(&stat->m_lock_stat); +#endif } inline void reset(void) { m_wait_stat.reset(); +#ifdef PFS_LATER m_lock_stat.reset(); +#endif } }; @@ -174,6 +214,7 @@ struct PFS_rwlock_stat { /** Wait statistics. */ PFS_single_stat m_wait_stat; +#ifdef PFS_LATER /** RWLock read lock usage statistics. This statistic is not exposed in user visible tables yet. @@ -184,19 +225,24 @@ struct PFS_rwlock_stat This statistic is not exposed in user visible tables yet. */ PFS_single_stat m_write_lock_stat; +#endif inline void aggregate(const PFS_rwlock_stat *stat) { m_wait_stat.aggregate(&stat->m_wait_stat); +#ifdef PFS_LATER m_read_lock_stat.aggregate(&stat->m_read_lock_stat); m_write_lock_stat.aggregate(&stat->m_write_lock_stat); +#endif } inline void reset(void) { m_wait_stat.reset(); +#ifdef PFS_LATER m_read_lock_stat.reset(); m_write_lock_stat.reset(); +#endif } }; @@ -205,6 +251,7 @@ struct PFS_cond_stat { /** Wait statistics. */ PFS_single_stat m_wait_stat; +#ifdef PFS_LATER /** Number of times a condition was signalled. This statistic is not exposed in user visible tables yet. @@ -215,19 +262,24 @@ struct PFS_cond_stat This statistic is not exposed in user visible tables yet. */ ulonglong m_broadcast_count; +#endif inline void aggregate(const PFS_cond_stat *stat) { m_wait_stat.aggregate(&stat->m_wait_stat); +#ifdef PFS_LATER m_signal_count+= stat->m_signal_count; m_broadcast_count+= stat->m_broadcast_count; +#endif } inline void reset(void) { m_wait_stat.reset(); +#ifdef PFS_LATER m_signal_count= 0; m_broadcast_count= 0; +#endif } }; @@ -238,7 +290,7 @@ struct PFS_file_io_stat PFS_byte_stat m_read; /** WRITE statistics */ PFS_byte_stat m_write; - /** Miscelleanous statistics */ + /** Miscellaneous statistics */ PFS_byte_stat m_misc; inline void reset(void) @@ -306,11 +358,51 @@ struct PFS_stage_stat inline void aggregate_value(ulonglong value) { m_timer1_stat.aggregate_value(value); } + inline void aggregate(const PFS_stage_stat *stat) + { m_timer1_stat.aggregate(& stat->m_timer1_stat); } +}; + +/** Statistics for stored program usage. */ +struct PFS_sp_stat +{ + PFS_single_stat m_timer1_stat; + + inline void reset(void) + { m_timer1_stat.reset(); } + + inline void aggregate_counted() + { m_timer1_stat.aggregate_counted(); } + + inline void aggregate_value(ulonglong value) + { m_timer1_stat.aggregate_value(value); } + + inline void aggregate(const PFS_stage_stat *stat) + { m_timer1_stat.aggregate(& stat->m_timer1_stat); } +}; + +/** Statistics for prepared statement usage. */ +struct PFS_prepared_stmt_stat +{ + PFS_single_stat m_timer1_stat; + + inline void reset(void) + { m_timer1_stat.reset(); } + + inline void aggregate_counted() + { m_timer1_stat.aggregate_counted(); } + + inline void aggregate_value(ulonglong value) + { m_timer1_stat.aggregate_value(value); } + inline void aggregate(PFS_stage_stat *stat) { m_timer1_stat.aggregate(& stat->m_timer1_stat); } }; -/** Statistics for statement usage. */ +/** + Statistics for statement usage. + This structure uses lazy initialization, + controlled by member @c m_timer1_stat.m_count. +*/ struct PFS_statement_stat { PFS_single_stat m_timer1_stat; @@ -336,80 +428,128 @@ struct PFS_statement_stat PFS_statement_stat() { - m_error_count= 0; - m_warning_count= 0; - m_rows_affected= 0; - m_lock_time= 0; - m_rows_sent= 0; - m_rows_examined= 0; - m_created_tmp_disk_tables= 0; - m_created_tmp_tables= 0; - m_select_full_join= 0; - m_select_full_range_join= 0; - m_select_range= 0; - m_select_range_check= 0; - m_select_scan= 0; - m_sort_merge_passes= 0; - m_sort_range= 0; - m_sort_rows= 0; - m_sort_scan= 0; - m_no_index_used= 0; - m_no_good_index_used= 0; + reset(); } - inline void reset(void) + inline void reset() { - m_timer1_stat.reset(); - m_error_count= 0; - m_warning_count= 0; - m_rows_affected= 0; - m_lock_time= 0; - m_rows_sent= 0; - m_rows_examined= 0; - m_created_tmp_disk_tables= 0; - m_created_tmp_tables= 0; - m_select_full_join= 0; - m_select_full_range_join= 0; - m_select_range= 0; - m_select_range_check= 0; - m_select_scan= 0; - m_sort_merge_passes= 0; - m_sort_range= 0; - m_sort_rows= 0; - m_sort_scan= 0; - m_no_index_used= 0; - m_no_good_index_used= 0; + m_timer1_stat.m_count= 0; } + inline void mark_used() + { + delayed_reset(); + } + +private: + inline void delayed_reset(void) + { + if (m_timer1_stat.m_count == 0) + { + m_timer1_stat.reset(); + m_error_count= 0; + m_warning_count= 0; + m_rows_affected= 0; + m_lock_time= 0; + m_rows_sent= 0; + m_rows_examined= 0; + m_created_tmp_disk_tables= 0; + m_created_tmp_tables= 0; + m_select_full_join= 0; + m_select_full_range_join= 0; + m_select_range= 0; + m_select_range_check= 0; + m_select_scan= 0; + m_sort_merge_passes= 0; + m_sort_range= 0; + m_sort_rows= 0; + m_sort_scan= 0; + m_no_index_used= 0; + m_no_good_index_used= 0; + } + } + +public: inline void aggregate_counted() - { m_timer1_stat.aggregate_counted(); } + { + delayed_reset(); + m_timer1_stat.aggregate_counted(); + } inline void aggregate_value(ulonglong value) - { m_timer1_stat.aggregate_value(value); } + { + delayed_reset(); + m_timer1_stat.aggregate_value(value); + } + + inline void aggregate(const PFS_statement_stat *stat) + { + if (stat->m_timer1_stat.m_count != 0) + { + delayed_reset(); + m_timer1_stat.aggregate_no_check(& stat->m_timer1_stat); + + m_error_count+= stat->m_error_count; + m_warning_count+= stat->m_warning_count; + m_rows_affected+= stat->m_rows_affected; + m_lock_time+= stat->m_lock_time; + m_rows_sent+= stat->m_rows_sent; + m_rows_examined+= stat->m_rows_examined; + m_created_tmp_disk_tables+= stat->m_created_tmp_disk_tables; + m_created_tmp_tables+= stat->m_created_tmp_tables; + m_select_full_join+= stat->m_select_full_join; + m_select_full_range_join+= stat->m_select_full_range_join; + m_select_range+= stat->m_select_range; + m_select_range_check+= stat->m_select_range_check; + m_select_scan+= stat->m_select_scan; + m_sort_merge_passes+= stat->m_sort_merge_passes; + m_sort_range+= stat->m_sort_range; + m_sort_rows+= stat->m_sort_rows; + m_sort_scan+= stat->m_sort_scan; + m_no_index_used+= stat->m_no_index_used; + m_no_good_index_used+= stat->m_no_good_index_used; + } + } +}; + +/** Statistics for transaction usage. */ +struct PFS_transaction_stat +{ + PFS_single_stat m_read_write_stat; + PFS_single_stat m_read_only_stat; + + ulonglong m_savepoint_count; + ulonglong m_rollback_to_savepoint_count; + ulonglong m_release_savepoint_count; + + PFS_transaction_stat() + { + m_savepoint_count= 0; + m_rollback_to_savepoint_count= 0; + m_release_savepoint_count= 0; + } + + ulonglong count(void) + { + return (m_read_write_stat.m_count + m_read_only_stat.m_count); + } + + inline void reset(void) + { + m_read_write_stat.reset(); + m_read_only_stat.reset(); + m_savepoint_count= 0; + m_rollback_to_savepoint_count= 0; + m_release_savepoint_count= 0; + } - inline void aggregate(PFS_statement_stat *stat) - { - m_timer1_stat.aggregate(& stat->m_timer1_stat); - - m_error_count+= stat->m_error_count; - m_warning_count+= stat->m_warning_count; - m_rows_affected+= stat->m_rows_affected; - m_lock_time+= stat->m_lock_time; - m_rows_sent+= stat->m_rows_sent; - m_rows_examined+= stat->m_rows_examined; - m_created_tmp_disk_tables+= stat->m_created_tmp_disk_tables; - m_created_tmp_tables+= stat->m_created_tmp_tables; - m_select_full_join+= stat->m_select_full_join; - m_select_full_range_join+= stat->m_select_full_range_join; - m_select_range+= stat->m_select_range; - m_select_range_check+= stat->m_select_range_check; - m_select_scan+= stat->m_select_scan; - m_sort_merge_passes+= stat->m_sort_merge_passes; - m_sort_range+= stat->m_sort_range; - m_sort_rows+= stat->m_sort_rows; - m_sort_scan+= stat->m_sort_scan; - m_no_index_used+= stat->m_no_index_used; - m_no_good_index_used+= stat->m_no_good_index_used; + inline void aggregate(const PFS_transaction_stat *stat) + { + m_read_write_stat.aggregate(&stat->m_read_write_stat); + m_read_only_stat.aggregate(&stat->m_read_only_stat); + m_savepoint_count+= stat->m_savepoint_count; + m_rollback_to_savepoint_count+= stat->m_rollback_to_savepoint_count; + m_release_savepoint_count+= stat->m_release_savepoint_count; } }; @@ -473,16 +613,17 @@ enum PFS_TL_LOCK_TYPE PFS_TL_READ_NO_INSERT= 3, PFS_TL_WRITE_ALLOW_WRITE= 4, PFS_TL_WRITE_CONCURRENT_INSERT= 5, - PFS_TL_WRITE_DELAYED= 6, - PFS_TL_WRITE_LOW_PRIORITY= 7, - PFS_TL_WRITE= 8, + PFS_TL_WRITE_LOW_PRIORITY= 6, + PFS_TL_WRITE= 7, /* Locks for handler::ha_external_lock() */ - PFS_TL_READ_EXTERNAL= 9, - PFS_TL_WRITE_EXTERNAL= 10 + PFS_TL_READ_EXTERNAL= 8, + PFS_TL_WRITE_EXTERNAL= 9, + + PFS_TL_NONE= 99 }; -#define COUNT_PFS_TL_LOCK_TYPE 11 +#define COUNT_PFS_TL_LOCK_TYPE 10 /** Statistics for table locks. */ struct PFS_table_lock_stat @@ -637,7 +778,7 @@ struct PFS_socket_io_stat PFS_byte_stat m_read; /** WRITE statistics */ PFS_byte_stat m_write; - /** Miscelleanous statistics */ + /** Miscellaneous statistics */ PFS_byte_stat m_misc; inline void reset(void) @@ -684,6 +825,478 @@ struct PFS_socket_stat } }; +struct PFS_memory_stat_delta +{ + size_t m_alloc_count_delta; + size_t m_free_count_delta; + size_t m_alloc_size_delta; + size_t m_free_size_delta; + + void reset() + { + m_alloc_count_delta= 0; + m_free_count_delta= 0; + m_alloc_size_delta= 0; + m_free_size_delta= 0; + } +}; + +/** + Memory statistics. + Conceptually, the following statistics are maintained: + - CURRENT_COUNT_USED, + - LOW_COUNT_USED, + - HIGH_COUNT_USED + - CURRENT_SIZE_USED, + - LOW_SIZE_USED, + - HIGH_SIZE_USED + Now, the implementation keeps different counters, + which are easier (less overhead) to maintain while + collecting statistics. + Invariants are as follows: + CURRENT_COUNT_USED = @c m_alloc_count - @c m_free_count + LOW_COUNT_USED + @c m_free_count_capacity = CURRENT_COUNT_USED + CURRENT_COUNT_USED + @c m_alloc_count_capacity = HIGH_COUNT_USED + CURRENT_SIZE_USED = @c m_alloc_size - @c m_free_size + LOW_SIZE_USED + @c m_free_size_capacity = CURRENT_SIZE_USED + CURRENT_SIZE_USED + @c m_alloc_size_capacity = HIGH_SIZE_USED + +*/ +struct PFS_memory_stat +{ + bool m_used; + size_t m_alloc_count; + size_t m_free_count; + size_t m_alloc_size; + size_t m_free_size; + + size_t m_alloc_count_capacity; + size_t m_free_count_capacity; + size_t m_alloc_size_capacity; + size_t m_free_size_capacity; + + inline void reset(void) + { + m_used= false; + m_alloc_count= 0; + m_free_count= 0; + m_alloc_size= 0; + m_free_size= 0; + + m_alloc_count_capacity= 0; + m_free_count_capacity= 0; + m_alloc_size_capacity= 0; + m_free_size_capacity= 0; + } + + inline void rebase(void) + { + if (! m_used) + return; + + size_t base; + + base= std::min<size_t>(m_alloc_count, m_free_count); + m_alloc_count-= base; + m_free_count-= base; + + base= std::min<size_t>(m_alloc_size, m_free_size); + m_alloc_size-= base; + m_free_size-= base; + + m_alloc_count_capacity= 0; + m_free_count_capacity= 0; + m_alloc_size_capacity= 0; + m_free_size_capacity= 0; + } + + inline void partial_aggregate_to(PFS_memory_stat *stat) + { + if (! m_used) + return; + + size_t base; + + stat->m_used= true; + + base= std::min<size_t>(m_alloc_count, m_free_count); + if (base != 0) + { + stat->m_alloc_count+= base; + stat->m_free_count+= base; + m_alloc_count-= base; + m_free_count-= base; + } + + base= std::min<size_t>(m_alloc_size, m_free_size); + if (base != 0) + { + stat->m_alloc_size+= base; + stat->m_free_size+= base; + m_alloc_size-= base; + m_free_size-= base; + } + + stat->m_alloc_count_capacity+= m_alloc_count_capacity; + stat->m_free_count_capacity+= m_free_count_capacity; + stat->m_alloc_size_capacity+= m_alloc_size_capacity; + stat->m_free_size_capacity+= m_free_size_capacity; + + m_alloc_count_capacity= 0; + m_free_count_capacity= 0; + m_alloc_size_capacity= 0; + m_free_size_capacity= 0; + } + + inline void full_aggregate_to(PFS_memory_stat *stat) const + { + if (! m_used) + return; + + stat->m_used= true; + + stat->m_alloc_count+= m_alloc_count; + stat->m_free_count+= m_free_count; + stat->m_alloc_size+= m_alloc_size; + stat->m_free_size+= m_free_size; + + stat->m_alloc_count_capacity+= m_alloc_count_capacity; + stat->m_free_count_capacity+= m_free_count_capacity; + stat->m_alloc_size_capacity+= m_alloc_size_capacity; + stat->m_free_size_capacity+= m_free_size_capacity; + } + + inline void partial_aggregate_to(PFS_memory_stat *stat1, PFS_memory_stat *stat2) + { + if (! m_used) + return; + + size_t base; + + stat1->m_used= true; + stat2->m_used= true; + + base= std::min<size_t>(m_alloc_count, m_free_count); + if (base != 0) + { + stat1->m_alloc_count+= base; + stat2->m_alloc_count+= base; + stat1->m_free_count+= base; + stat2->m_free_count+= base; + m_alloc_count-= base; + m_free_count-= base; + } + + base= std::min<size_t>(m_alloc_size, m_free_size); + if (base != 0) + { + stat1->m_alloc_size+= base; + stat2->m_alloc_size+= base; + stat1->m_free_size+= base; + stat2->m_free_size+= base; + m_alloc_size-= base; + m_free_size-= base; + } + + stat1->m_alloc_count_capacity+= m_alloc_count_capacity; + stat2->m_alloc_count_capacity+= m_alloc_count_capacity; + stat1->m_free_count_capacity+= m_free_count_capacity; + stat2->m_free_count_capacity+= m_free_count_capacity; + stat1->m_alloc_size_capacity+= m_alloc_size_capacity; + stat2->m_alloc_size_capacity+= m_alloc_size_capacity; + stat1->m_free_size_capacity+= m_free_size_capacity; + stat2->m_free_size_capacity+= m_free_size_capacity; + + m_alloc_count_capacity= 0; + m_free_count_capacity= 0; + m_alloc_size_capacity= 0; + m_free_size_capacity= 0; + } + + inline void full_aggregate_to(PFS_memory_stat *stat1, PFS_memory_stat *stat2) const + { + if (! m_used) + return; + + stat1->m_used= true; + stat2->m_used= true; + + stat1->m_alloc_count+= m_alloc_count; + stat2->m_alloc_count+= m_alloc_count; + stat1->m_free_count+= m_free_count; + stat2->m_free_count+= m_free_count; + stat1->m_alloc_size+= m_alloc_size; + stat2->m_alloc_size+= m_alloc_size; + stat1->m_free_size+= m_free_size; + stat2->m_free_size+= m_free_size; + + stat1->m_alloc_count_capacity+= m_alloc_count_capacity; + stat2->m_alloc_count_capacity+= m_alloc_count_capacity; + stat1->m_free_count_capacity+= m_free_count_capacity; + stat2->m_free_count_capacity+= m_free_count_capacity; + stat1->m_alloc_size_capacity+= m_alloc_size_capacity; + stat2->m_alloc_size_capacity+= m_alloc_size_capacity; + stat1->m_free_size_capacity+= m_free_size_capacity; + stat2->m_free_size_capacity+= m_free_size_capacity; + } + + void count_builtin_alloc(size_t size) + { + m_used= true; + + m_alloc_count++; + m_free_count_capacity++; + m_alloc_size+= size; + m_free_size_capacity+= size; + + if (m_alloc_count_capacity >= 1) + { + m_alloc_count_capacity--; + } + + if (m_alloc_size_capacity >= size) + { + m_alloc_size_capacity-= size; + } + + return; + } + + void count_builtin_free(size_t size) + { + m_used= true; + + m_free_count++; + m_alloc_count_capacity++; + m_free_size+= size; + m_alloc_size_capacity+= size; + + if (m_free_count_capacity >= 1) + { + m_free_count_capacity--; + } + + if (m_free_size_capacity >= size) + { + m_free_size_capacity-= size; + } + + return; + } + + inline PFS_memory_stat_delta *count_alloc(size_t size, + PFS_memory_stat_delta *delta) + { + m_used= true; + + m_alloc_count++; + m_free_count_capacity++; + m_alloc_size+= size; + m_free_size_capacity+= size; + + if ((m_alloc_count_capacity >= 1) && + (m_alloc_size_capacity >= size)) + { + m_alloc_count_capacity--; + m_alloc_size_capacity-= size; + return NULL; + } + + delta->reset(); + + if (m_alloc_count_capacity >= 1) + { + m_alloc_count_capacity--; + } + else + { + delta->m_alloc_count_delta= 1; + } + + if (m_alloc_size_capacity >= size) + { + m_alloc_size_capacity-= size; + } + else + { + delta->m_alloc_size_delta= size - m_alloc_size_capacity; + m_alloc_size_capacity= 0; + } + + return delta; + } + + inline PFS_memory_stat_delta *count_realloc(size_t old_size, size_t new_size, + PFS_memory_stat_delta *delta) + { + m_used= true; + + size_t size_delta= new_size - old_size; + m_alloc_count++; + m_alloc_size+= new_size; + m_free_count++; + m_free_size+= old_size; + + if (new_size == old_size) + { + return NULL; + } + + if (new_size > old_size) + { + /* Growing */ + size_delta= new_size - old_size; + m_free_size_capacity+= size_delta; + + if (m_alloc_size_capacity >= size_delta) + { + m_alloc_size_capacity-= size_delta; + return NULL; + } + + delta->reset(); + delta->m_alloc_size_delta= size_delta - m_alloc_size_capacity; + m_alloc_size_capacity= 0; + } + else + { + /* Shrinking */ + size_delta= old_size - new_size; + m_alloc_size_capacity+= size_delta; + + if (m_free_size_capacity >= size_delta) + { + m_free_size_capacity-= size_delta; + return NULL; + } + + delta->reset(); + delta->m_free_size_delta= size_delta - m_free_size_capacity; + m_free_size_capacity= 0; + } + + return delta; + } + + inline PFS_memory_stat_delta *count_free(size_t size, PFS_memory_stat_delta *delta) + { + m_used= true; + + m_free_count++; + m_alloc_count_capacity++; + m_free_size+= size; + m_alloc_size_capacity+= size; + + if ((m_free_count_capacity >= 1) && + (m_free_size_capacity >= size)) + { + m_free_count_capacity--; + m_free_size_capacity-= size; + return NULL; + } + + delta->reset(); + + if (m_free_count_capacity >= 1) + { + m_free_count_capacity--; + } + else + { + delta->m_free_count_delta= 1; + } + + if (m_free_size_capacity >= size) + { + m_free_size_capacity-= size; + } + else + { + delta->m_free_size_delta= size - m_free_size_capacity; + m_free_size_capacity= 0; + } + + return delta; + } + + inline PFS_memory_stat_delta *apply_delta(const PFS_memory_stat_delta *delta, + PFS_memory_stat_delta *delta_buffer) + { + size_t val; + size_t remaining_alloc_count; + size_t remaining_alloc_size; + size_t remaining_free_count; + size_t remaining_free_size; + bool has_remaining= false; + + m_used= true; + + val= delta->m_alloc_count_delta; + if (val <= m_alloc_count_capacity) + { + m_alloc_count_capacity-= val; + remaining_alloc_count= 0; + } + else + { + remaining_alloc_count= val - m_alloc_count_capacity; + m_alloc_count_capacity= 0; + has_remaining= true; + } + + val= delta->m_alloc_size_delta; + if (val <= m_alloc_size_capacity) + { + m_alloc_size_capacity-= val; + remaining_alloc_size= 0; + } + else + { + remaining_alloc_size= val - m_alloc_size_capacity; + m_alloc_size_capacity= 0; + has_remaining= true; + } + + val= delta->m_free_count_delta; + if (val <= m_free_count_capacity) + { + m_free_count_capacity-= val; + remaining_free_count= 0; + } + else + { + remaining_free_count= val - m_free_count_capacity; + m_free_count_capacity= 0; + has_remaining= true; + } + + val= delta->m_free_size_delta; + if (val <= m_free_size_capacity) + { + m_free_size_capacity-= val; + remaining_free_size= 0; + } + else + { + remaining_free_size= val - m_free_size_capacity; + m_free_size_capacity= 0; + has_remaining= true; + } + + if (! has_remaining) + return NULL; + + delta_buffer->m_alloc_count_delta= remaining_alloc_count; + delta_buffer->m_alloc_size_delta= remaining_alloc_size; + delta_buffer->m_free_count_delta= remaining_free_count; + delta_buffer->m_free_size_delta= remaining_free_size; + return delta_buffer; + } +}; + +#define PFS_MEMORY_STAT_INITIALIZER { false, 0, 0, 0, 0, 0, 0, 0, 0} + +/** Connections statistics. */ struct PFS_connection_stat { PFS_connection_stat() diff --git a/storage/perfschema/pfs_status.cc b/storage/perfschema/pfs_status.cc new file mode 100644 index 00000000000..5d67bf2fa6f --- /dev/null +++ b/storage/perfschema/pfs_status.cc @@ -0,0 +1,159 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/pfs_status.cc + Status variables statistics (implementation). +*/ + +#include "my_global.h" +#include "my_sys.h" +#include "pfs_global.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_account.h" +#include "pfs_host.h" +#include "pfs_user.h" +#include "pfs_status.h" +#include "pfs_atomic.h" +#include "pfs_buffer_container.h" + +#include "sql_show.h" /* reset_status_vars */ + +PFS_status_stats::PFS_status_stats() +{ + reset(); +} + +void PFS_status_stats::reset() +{ + m_has_stats= false; + memset(&m_stats, 0, sizeof(m_stats)); +} + +void PFS_status_stats::aggregate(const PFS_status_stats *from) +{ + if (from->m_has_stats) + { + m_has_stats= true; + for (int i= 0; i < COUNT_GLOBAL_STATUS_VARS; i++) + { + m_stats[i] += from->m_stats[i]; + } + } +} + +void PFS_status_stats::aggregate_from(const STATUS_VAR *from) +{ + ulonglong *from_var= (ulonglong*) from; + + m_has_stats= true; + for (int i= 0; + i < COUNT_GLOBAL_STATUS_VARS; + i++, from_var++) + { + m_stats[i] += *from_var; + } +} + +void PFS_status_stats::aggregate_to(STATUS_VAR *to) +{ + if (m_has_stats) + { + ulonglong *to_var= (ulonglong*) to; + + for (int i= 0; + i < COUNT_GLOBAL_STATUS_VARS; + i++, to_var++) + { + *to_var += m_stats[i]; + } + } +} + +static void fct_reset_status_by_thread(PFS_thread *thread) +{ + PFS_account *account; + PFS_user *user; + PFS_host *host; + + if (thread->m_lock.is_populated()) + { + account= sanitize_account(thread->m_account); + user= sanitize_user(thread->m_user); + host= sanitize_host(thread->m_host); + aggregate_thread_status(thread, account, user, host); + } +} + +/** Reset table STATUS_BY_THREAD data. */ +void reset_status_by_thread() +{ + global_thread_container.apply_all(fct_reset_status_by_thread); +} + +static void fct_reset_status_by_account(PFS_account *account) +{ + PFS_user *user; + PFS_host *host; + + if (account->m_lock.is_populated()) + { + user= sanitize_user(account->m_user); + host= sanitize_host(account->m_host); + account->aggregate_status(user, host); + } +} + +/** Reset table STATUS_BY_ACCOUNT data. */ +void reset_status_by_account() +{ + global_account_container.apply_all(fct_reset_status_by_account); +} + +static void fct_reset_status_by_user(PFS_user *user) +{ + if (user->m_lock.is_populated()) + user->aggregate_status(); +} + +/** Reset table STATUS_BY_USER data. */ +void reset_status_by_user() +{ + global_user_container.apply_all(fct_reset_status_by_user); +} + +static void fct_reset_status_by_host(PFS_host *host) +{ + if (host->m_lock.is_populated()) + host->aggregate_status(); +} + +/** Reset table STATUS_BY_HOST data. */ +void reset_status_by_host() +{ + global_host_container.apply_all(fct_reset_status_by_host); +} + +/** Reset table GLOBAL_STATUS data. */ +void reset_global_status() +{ + /* + Do not memset global_status_var, + NO_FLUSH counters need to be preserved + */ + reset_status_vars(); +} + diff --git a/storage/perfschema/pfs_status.h b/storage/perfschema/pfs_status.h new file mode 100644 index 00000000000..26b9974deda --- /dev/null +++ b/storage/perfschema/pfs_status.h @@ -0,0 +1,44 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef PFS_STATUS_H +#define PFS_STATUS_H + +/** + @file storage/perfschema/pfs_status.h + Status variables statistics (declarations). +*/ + +struct PFS_status_stats +{ + PFS_status_stats(); + + void reset(); + void aggregate(const PFS_status_stats *from); + void aggregate_from(const STATUS_VAR *from); + void aggregate_to(STATUS_VAR *to); + + bool m_has_stats; + ulonglong m_stats[COUNT_GLOBAL_STATUS_VARS]; +}; + +void reset_status_by_thread(); +void reset_status_by_account(); +void reset_status_by_user(); +void reset_status_by_host(); +void reset_global_status(); + +#endif + diff --git a/storage/perfschema/pfs_timer.cc b/storage/perfschema/pfs_timer.cc index 8348f165e5c..68be91c7b5d 100644 --- a/storage/perfschema/pfs_timer.cc +++ b/storage/perfschema/pfs_timer.cc @@ -26,6 +26,7 @@ enum_timer_name idle_timer= TIMER_NAME_MICROSEC; enum_timer_name wait_timer= TIMER_NAME_CYCLE; enum_timer_name stage_timer= TIMER_NAME_NANOSEC; enum_timer_name statement_timer= TIMER_NAME_NANOSEC; +enum_timer_name transaction_timer= TIMER_NAME_NANOSEC; MY_TIMER_INFO pfs_timer_info; static ulonglong cycle_v0; @@ -170,30 +171,35 @@ void init_timers(void) /* Normal case. */ stage_timer= TIMER_NAME_NANOSEC; statement_timer= TIMER_NAME_NANOSEC; + transaction_timer= TIMER_NAME_NANOSEC; } else if (microsec_to_pico != 0) { /* Windows. */ stage_timer= TIMER_NAME_MICROSEC; statement_timer= TIMER_NAME_MICROSEC; + transaction_timer= TIMER_NAME_MICROSEC; } else if (millisec_to_pico != 0) { /* Robustness, no known cases. */ stage_timer= TIMER_NAME_MILLISEC; statement_timer= TIMER_NAME_MILLISEC; + transaction_timer= TIMER_NAME_MILLISEC; } else if (tick_to_pico != 0) { /* Robustness, no known cases. */ stage_timer= TIMER_NAME_TICK; statement_timer= TIMER_NAME_TICK; + transaction_timer= TIMER_NAME_TICK; } else { /* Robustness, no known cases. */ stage_timer= TIMER_NAME_CYCLE; statement_timer= TIMER_NAME_CYCLE; + transaction_timer= TIMER_NAME_CYCLE; } /* diff --git a/storage/perfschema/pfs_timer.h b/storage/perfschema/pfs_timer.h index 1cae20e89dd..212254cd2fd 100644 --- a/storage/perfschema/pfs_timer.h +++ b/storage/perfschema/pfs_timer.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -99,6 +99,11 @@ extern enum_timer_name stage_timer; */ extern enum_timer_name statement_timer; /** + Transaction timer. + The timer used to measure all transaction events. +*/ +extern enum_timer_name transaction_timer; +/** Timer information data. Characteristics about each suported timer. */ diff --git a/storage/perfschema/pfs_user.cc b/storage/perfschema/pfs_user.cc index 671afab0d16..868e37e2edf 100644 --- a/storage/perfschema/pfs_user.cc +++ b/storage/perfschema/pfs_user.cc @@ -27,21 +27,13 @@ #include "pfs_user.h" #include "pfs_global.h" #include "pfs_instr_class.h" +#include "pfs_buffer_container.h" /** @addtogroup Performance_schema_buffers @{ */ -ulong user_max; -ulong user_lost; - -PFS_user *user_array= NULL; - -static PFS_single_stat *user_instr_class_waits_array= NULL; -static PFS_stage_stat *user_instr_class_stages_array= NULL; -static PFS_statement_stat *user_instr_class_statements_array= NULL; - LF_HASH user_hash; static bool user_hash_inited= false; @@ -52,59 +44,8 @@ static bool user_hash_inited= false; */ int init_user(const PFS_global_param *param) { - uint index; - - user_max= param->m_user_sizing; - - user_array= NULL; - user_instr_class_waits_array= NULL; - user_instr_class_stages_array= NULL; - user_instr_class_statements_array= NULL; - uint waits_sizing= user_max * wait_class_max; - uint stages_sizing= user_max * stage_class_max; - uint statements_sizing= user_max * statement_class_max; - - if (user_max > 0) - { - user_array= PFS_MALLOC_ARRAY(user_max, sizeof(PFS_user), PFS_user, - MYF(MY_ZEROFILL)); - if (unlikely(user_array == NULL)) - return 1; - } - - if (waits_sizing > 0) - { - user_instr_class_waits_array= - PFS_connection_slice::alloc_waits_slice(waits_sizing); - if (unlikely(user_instr_class_waits_array == NULL)) - return 1; - } - - if (stages_sizing > 0) - { - user_instr_class_stages_array= - PFS_connection_slice::alloc_stages_slice(stages_sizing); - if (unlikely(user_instr_class_stages_array == NULL)) - return 1; - } - - if (statements_sizing > 0) - { - user_instr_class_statements_array= - PFS_connection_slice::alloc_statements_slice(statements_sizing); - if (unlikely(user_instr_class_statements_array == NULL)) - return 1; - } - - for (index= 0; index < user_max; index++) - { - user_array[index].m_instr_class_waits_stats= - &user_instr_class_waits_array[index * wait_class_max]; - user_array[index].m_instr_class_stages_stats= - &user_instr_class_stages_array[index * stage_class_max]; - user_array[index].m_instr_class_statements_stats= - &user_instr_class_statements_array[index * statement_class_max]; - } + if (global_user_container.init(param->m_user_sizing)) + return 1; return 0; } @@ -112,15 +53,7 @@ int init_user(const PFS_global_param *param) /** Cleanup all the user buffers. */ void cleanup_user(void) { - pfs_free(user_array); - user_array= NULL; - pfs_free(user_instr_class_waits_array); - user_instr_class_waits_array= NULL; - pfs_free(user_instr_class_stages_array); - user_instr_class_stages_array= NULL; - pfs_free(user_instr_class_statements_array); - user_instr_class_statements_array= NULL; - user_max= 0; + global_user_container.cleanup(); } C_MODE_START @@ -144,13 +77,12 @@ C_MODE_END Initialize the user hash. @return 0 on success */ -int init_user_hash(void) +int init_user_hash(const PFS_global_param *param) { - if ((! user_hash_inited) && (user_max > 0)) + if ((! user_hash_inited) && (param->m_user_sizing != 0)) { lf_hash_init(&user_hash, sizeof(PFS_user*), LF_HASH_UNIQUE, 0, 0, user_hash_get_key, &my_charset_bin); - user_hash.size= user_max; user_hash_inited= true; } return 0; @@ -197,16 +129,10 @@ PFS_user * find_or_create_user(PFS_thread *thread, const char *username, uint username_length) { - if (user_max == 0) - { - user_lost++; - return NULL; - } - LF_PINS *pins= get_user_hash_pins(thread); if (unlikely(pins == NULL)) { - user_lost++; + global_user_container.m_lost++; return NULL; } @@ -214,8 +140,10 @@ find_or_create_user(PFS_thread *thread, set_user_key(&key, username, username_length); PFS_user **entry; + PFS_user *pfs; uint retry_count= 0; const uint retry_max= 3; + pfs_dirty_state dirty_state; search: entry= reinterpret_cast<PFS_user**> @@ -223,7 +151,6 @@ search: key.m_hash_key, key.m_key_length)); if (entry && (entry != MY_ERRPTR)) { - PFS_user *pfs; pfs= *entry; pfs->inc_refcount(); lf_hash_search_unpin(pins); @@ -232,68 +159,55 @@ search: lf_hash_search_unpin(pins); - PFS_scan scan; - uint random= randomized_index(username, user_max); - - for (scan.init(random, user_max); - scan.has_pass(); - scan.next_pass()) + pfs= global_user_container.allocate(& dirty_state); + if (pfs != NULL) { - PFS_user *pfs= user_array + scan.first(); - PFS_user *pfs_last= user_array + scan.last(); - for ( ; pfs < pfs_last; pfs++) + pfs->m_key= key; + if (username_length > 0) + pfs->m_username= &pfs->m_key.m_hash_key[0]; + else + pfs->m_username= NULL; + pfs->m_username_length= username_length; + + pfs->init_refcount(); + pfs->reset_stats(); + pfs->m_disconnected_count= 0; + + int res; + pfs->m_lock.dirty_to_allocated(& dirty_state); + res= lf_hash_insert(&user_hash, pins, &pfs); + if (likely(res == 0)) { - if (pfs->m_lock.is_free()) + return pfs; + } + + global_user_container.deallocate(pfs); + + if (res > 0) + { + if (++retry_count > retry_max) { - if (pfs->m_lock.free_to_dirty()) - { - pfs->m_key= key; - if (username_length > 0) - pfs->m_username= &pfs->m_key.m_hash_key[0]; - else - pfs->m_username= NULL; - pfs->m_username_length= username_length; - - pfs->init_refcount(); - pfs->reset_stats(); - pfs->m_disconnected_count= 0; - - int res; - res= lf_hash_insert(&user_hash, pins, &pfs); - if (likely(res == 0)) - { - pfs->m_lock.dirty_to_allocated(); - return pfs; - } - - pfs->m_lock.dirty_to_free(); - - if (res > 0) - { - if (++retry_count > retry_max) - { - user_lost++; - return NULL; - } - goto search; - } - - user_lost++; - return NULL; - } + global_user_container.m_lost++; + return NULL; } + goto search; } + + global_user_container.m_lost++; + return NULL; } - user_lost++; return NULL; } -void PFS_user::aggregate() +void PFS_user::aggregate(bool alive) { aggregate_waits(); aggregate_stages(); aggregate_statements(); + aggregate_transactions(); + aggregate_memory(alive); + aggregate_status(); aggregate_stats(); } @@ -315,6 +229,24 @@ void PFS_user::aggregate_statements() reset_statements_stats(); } +void PFS_user::aggregate_transactions() +{ + /* No parent to aggregate to, clean the stats */ + reset_transactions_stats(); +} + +void PFS_user::aggregate_memory(bool alive) +{ + /* No parent to aggregate to, clean the stats */ + rebase_memory_stats(); +} + +void PFS_user::aggregate_status() +{ + /* No parent to aggregate to, clean the stats */ + reset_status_stats(); +} + void PFS_user::aggregate_stats() { /* No parent to aggregate to, clean the stats */ @@ -326,12 +258,20 @@ void PFS_user::release() dec_refcount(); } +void PFS_user::carry_memory_stat_delta(PFS_memory_stat_delta *delta, uint index) +{ + PFS_memory_stat *event_name_array; + PFS_memory_stat *stat; + PFS_memory_stat_delta delta_buffer; + + event_name_array= write_instr_class_memory_stats(); + stat= & event_name_array[index]; + (void) stat->apply_delta(delta, &delta_buffer); +} + PFS_user *sanitize_user(PFS_user *unsafe) { - if ((&user_array[0] <= unsafe) && - (unsafe < &user_array[user_max])) - return unsafe; - return NULL; + return global_user_container.sanitize(unsafe); } void purge_user(PFS_thread *thread, PFS_user *user) @@ -351,13 +291,33 @@ void purge_user(PFS_thread *thread, PFS_user *user) { lf_hash_delete(&user_hash, pins, user->m_key.m_hash_key, user->m_key.m_key_length); - user->m_lock.allocated_to_free(); + user->aggregate(false); + global_user_container.deallocate(user); } } lf_hash_search_unpin(pins); } +class Proc_purge_user + : public PFS_buffer_processor<PFS_user> +{ +public: + Proc_purge_user(PFS_thread *thread) + : m_thread(thread) + {} + + virtual void operator()(PFS_user *pfs) + { + pfs->aggregate(true); + if (pfs->get_refcount() == 0) + purge_user(m_thread, pfs); + } + +private: + PFS_thread *m_thread; +}; + /** Purge non connected users, reset stats of connected users. */ void purge_all_user(void) { @@ -365,18 +325,8 @@ void purge_all_user(void) if (unlikely(thread == NULL)) return; - PFS_user *pfs= user_array; - PFS_user *pfs_last= user_array + user_max; - - for ( ; pfs < pfs_last; pfs++) - { - if (pfs->m_lock.is_populated()) - { - pfs->aggregate(); - if (pfs->get_refcount() == 0) - purge_user(thread, pfs); - } - } + Proc_purge_user proc(thread); + global_user_container.apply(proc); } /** @} */ diff --git a/storage/perfschema/pfs_user.h b/storage/perfschema/pfs_user.h index 2cb70e8e4ea..bfb6e516b42 100644 --- a/storage/perfschema/pfs_user.h +++ b/storage/perfschema/pfs_user.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,6 +33,7 @@ struct PFS_thread; @{ */ +/** Hash key for a user. */ struct PFS_user_key { /** @@ -44,6 +45,7 @@ struct PFS_user_key uint m_key_length; }; +/** Per user statistics. */ struct PFS_ALIGNED PFS_user : public PFS_connection_slice { public: @@ -67,13 +69,18 @@ public: PFS_atomic::add_32(& m_refcount, -1); } - void aggregate(void); + void aggregate(bool alive); void aggregate_waits(void); void aggregate_stages(void); void aggregate_statements(void); + void aggregate_transactions(void); + void aggregate_memory(bool alive); + void aggregate_status(void); void aggregate_stats(void); void release(void); + void carry_memory_stat_delta(PFS_memory_stat_delta *delta, uint index); + /** Internal lock. */ pfs_lock m_lock; PFS_user_key m_key; @@ -88,7 +95,7 @@ private: int init_user(const PFS_global_param *param); void cleanup_user(void); -int init_user_hash(void); +int init_user_hash(const PFS_global_param *param); void cleanup_user_hash(void); PFS_user * @@ -99,14 +106,7 @@ PFS_user *sanitize_user(PFS_user *unsafe); void purge_all_user(void); -/* For iterators and show status. */ - -extern ulong user_max; -extern ulong user_lost; - -/* Exposing the data directly, for iterators. */ - -extern PFS_user *user_array; +/* For show status. */ extern LF_HASH user_hash; diff --git a/storage/perfschema/pfs_variable.cc b/storage/perfschema/pfs_variable.cc new file mode 100644 index 00000000000..52a45e91b3c --- /dev/null +++ b/storage/perfschema/pfs_variable.cc @@ -0,0 +1,1303 @@ +/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + +/** + @file storage/perfschema/pfs_variable.cc + Performance schema system variable and status variable (implementation). +*/ +#include "my_global.h" +#include "pfs_variable.h" +#include "my_sys.h" +#include "debug_sync.h" +#include "pfs.h" +#include "pfs_global.h" +#include "pfs_visitor.h" +#include "sql_audit.h" // audit_global_variable_get + +/** + CLASS PFS_system_variable_cache +*/ + +/** + Build a sorted list of all system variables from the system variable hash. + Filter by scope. Must be called inside of LOCK_plugin_delete. +*/ +bool PFS_system_variable_cache::init_show_var_array(enum_var_type scope, bool strict) +{ + DBUG_ASSERT(!m_initialized); + m_query_scope= scope; + + mysql_rwlock_rdlock(&LOCK_system_variables_hash); + DEBUG_SYNC(m_current_thd, "acquired_LOCK_system_variables_hash"); + + /* Record the system variable hash version to detect subsequent changes. */ + m_version= get_system_variable_hash_version(); + + /* Build the SHOW_VAR array from the system variable hash. */ + enumerate_sys_vars(m_current_thd, &m_show_var_array, true, m_query_scope, strict); + + mysql_rwlock_unlock(&LOCK_system_variables_hash); + + /* Increase cache size if necessary. */ + m_cache.reserve(m_show_var_array.size()); + + m_initialized= true; + return true; +} + +/** + Build an array of SHOW_VARs from the system variable hash. + Filter for SESSION scope. +*/ +bool PFS_system_variable_cache::do_initialize_session(void) +{ + /* Block plugins from unloading. */ + mysql_mutex_lock(&LOCK_plugin_delete); + + /* Build the array. */ + bool ret= init_show_var_array(OPT_SESSION, true); + + mysql_mutex_unlock(&LOCK_plugin_delete); + return ret; +} + +/** + Match system variable scope to desired scope. +*/ +bool PFS_system_variable_cache::match_scope(int scope) +{ + switch (scope) + { + case sys_var::GLOBAL: + return m_query_scope == OPT_GLOBAL; + break; + + case sys_var::SESSION: + return (m_query_scope == OPT_GLOBAL || m_query_scope == OPT_SESSION); + break; + + case sys_var::ONLY_SESSION: + return m_query_scope == OPT_SESSION; + break; + + default: + return false; + break; + } + return false; +} + +/** + Build a GLOBAL system variable cache. +*/ +int PFS_system_variable_cache::do_materialize_global(void) +{ + /* Block plugins from unloading. */ + mysql_mutex_lock(&LOCK_plugin_delete); + + m_materialized= false; + + /* + Build array of SHOW_VARs from system variable hash. Do this within + LOCK_plugin_delete to ensure that the hash table remains unchanged + during materialization. + */ + if (!m_external_init) + init_show_var_array(OPT_GLOBAL, true); + + /* Resolve the value for each SHOW_VAR in the array, add to cache. */ + for (Show_var_array::iterator show_var= m_show_var_array.begin(); + show_var->value && (show_var != m_show_var_array.end()); show_var++) + { + const char* name= show_var->name; + sys_var *value= (sys_var *)show_var->value; + DBUG_ASSERT(value); + + if ((m_query_scope == OPT_GLOBAL) && + (!my_strcasecmp(system_charset_info, name, "sql_log_bin"))) + { + /* + PLEASE READ: + http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-6.html + + SQL_LOG_BIN is: + - declared in sys_vars.cc as both GLOBAL and SESSION in 5.7 + - impossible to SET with SET GLOBAL (raises an error) + - and yet can be read with @@global.sql_log_bin + + When show_compatibility_56 = ON, + - SHOW GLOBAL VARIABLES does expose a row for SQL_LOG_BIN + - INFORMATION_SCHEMA.GLOBAL_VARIABLES also does expose a row, + both are for backward compatibility of existing applications, + so that no application logic change is required. + + Now, with show_compatibility_56 = OFF (aka, in this code) + - SHOW GLOBAL VARIABLES does -- not -- expose a row for SQL_LOG_BIN + - PERFORMANCE_SCHEMA.GLOBAL_VARIABLES also does -- not -- expose a row + so that a clean interface is exposed to (upgraded and modified) applications. + + The assert below will fail once SQL_LOG_BIN really is defined + as SESSION_ONLY (in 5.8), so that this special case can be removed. + */ + DBUG_ASSERT(value->scope() == sys_var::SESSION); + continue; + } + + /* Match the system variable scope to the target scope. */ + if (match_scope(value->scope())) + { + /* Resolve value, convert to text, add to cache. */ + System_variable system_var(m_current_thd, show_var, m_query_scope); + m_cache.push_back(system_var); + } + } + + m_materialized= true; + mysql_mutex_unlock(&LOCK_plugin_delete); + return 0; +} + +/** + Build a GLOBAL and SESSION system variable cache. +*/ +int PFS_system_variable_cache::do_materialize_all(THD *unsafe_thd) +{ + int ret= 1; + + m_unsafe_thd= unsafe_thd; + m_safe_thd= NULL; + m_materialized= false; + m_cache.clear(); + + /* Block plugins from unloading. */ + mysql_mutex_lock(&LOCK_plugin_delete); + + /* + Build array of SHOW_VARs from system variable hash. Do this within + LOCK_plugin_delete to ensure that the hash table remains unchanged + while this thread is materialized. + */ + if (!m_external_init) + init_show_var_array(OPT_SESSION, false); + + /* Get and lock a validated THD from the thread manager. */ + if ((m_safe_thd= get_THD(unsafe_thd)) != NULL) + { + for (Show_var_array::iterator show_var= m_show_var_array.begin(); + show_var->value && (show_var != m_show_var_array.end()); show_var++) + { + const char* name= show_var->name; + sys_var *value= (sys_var *)show_var->value; + DBUG_ASSERT(value); + + if (value->scope() == sys_var::SESSION && + (!my_strcasecmp(system_charset_info, name, "gtid_executed"))) + { + /* + GTID_EXECUTED is: + - declared in sys_vars.cc as both GLOBAL and SESSION in 5.7 + - can be read with @@session.gtid_executed + + When show_compatibility_56 = ON, + - SHOW SESSION VARIABLES does expose a row for GTID_EXECUTED + - INFORMATION_SCHEMA.SESSION_VARIABLES also does expose a row, + both are for backward compatibility of existing applications, + so that no application logic change is required. + + Now, with show_compatibility_56 = OFF (aka, in this code) + - SHOW SESSION VARIABLES does -- not -- expose a row for GTID_EXECUTED + - PERFORMANCE_SCHEMA.SESSION_VARIABLES also does -- not -- expose a row + so that a clean interface is exposed to (upgraded and modified) + applications. + + This special case needs be removed once @@SESSION.GTID_EXECUTED is + deprecated. + */ + continue; + } + /* Resolve value, convert to text, add to cache. */ + System_variable system_var(m_safe_thd, show_var, m_query_scope); + m_cache.push_back(system_var); + } + + /* Release lock taken in get_THD(). */ + mysql_mutex_unlock(&m_safe_thd->LOCK_thd_data); + + m_materialized= true; + ret= 0; + } + + mysql_mutex_unlock(&LOCK_plugin_delete); + return ret; +} + +/** + Allocate and assign mem_root for system variable materialization. +*/ +void PFS_system_variable_cache::set_mem_root(void) +{ + if (m_mem_sysvar_ptr == NULL) + { + init_sql_alloc(PSI_INSTRUMENT_ME, &m_mem_sysvar, SYSVAR_MEMROOT_BLOCK_SIZE, 0); + m_mem_sysvar_ptr= &m_mem_sysvar; + } + m_mem_thd= my_thread_get_THR_MALLOC(); /* pointer to current THD mem_root */ + m_mem_thd_save= *m_mem_thd; /* restore later */ + *m_mem_thd= &m_mem_sysvar; /* use temporary mem_root */ +} + +/** + Mark memory blocks in the temporary mem_root as free. + Restore THD::mem_root. +*/ +void PFS_system_variable_cache::clear_mem_root(void) +{ + if (m_mem_sysvar_ptr) + { + free_root(&m_mem_sysvar, MYF(MY_MARK_BLOCKS_FREE)); + *m_mem_thd= m_mem_thd_save; /* restore original mem_root */ + m_mem_thd= NULL; + m_mem_thd_save= NULL; + } +} + +/** + Free the temporary mem_root. + Restore THD::mem_root if necessary. +*/ +void PFS_system_variable_cache::free_mem_root(void) +{ + if (m_mem_sysvar_ptr) + { + free_root(&m_mem_sysvar, MYF(0)); + m_mem_sysvar_ptr= NULL; + if (m_mem_thd && m_mem_thd_save) + { + *m_mem_thd= m_mem_thd_save; /* restore original mem_root */ + m_mem_thd= NULL; + m_mem_thd_save= NULL; + } + } +} + +/** + Build a SESSION system variable cache for a pfs_thread. + Requires that init_show_var_array() has already been called. + Return 0 for success. +*/ +int PFS_system_variable_cache::do_materialize_session(PFS_thread *pfs_thread) +{ + int ret= 1; + + m_pfs_thread= pfs_thread; + m_materialized= false; + m_cache.clear(); + + /* Block plugins from unloading. */ + mysql_mutex_lock(&LOCK_plugin_delete); + + /* The SHOW_VAR array must be initialized externally. */ + DBUG_ASSERT(m_initialized); + + /* Use a temporary mem_root to avoid depleting THD mem_root. */ + if (m_use_mem_root) + set_mem_root(); + + /* Get and lock a validated THD from the thread manager. */ + if ((m_safe_thd= get_THD(pfs_thread)) != NULL) + { + for (Show_var_array::iterator show_var= m_show_var_array.begin(); + show_var->value && (show_var != m_show_var_array.end()); show_var++) + { + sys_var *value= (sys_var *)show_var->value; + + /* Match the system variable scope to the target scope. */ + if (match_scope(value->scope())) + { + const char* name= show_var->name; + if (value->scope() == sys_var::SESSION && + (!my_strcasecmp(system_charset_info, name, "gtid_executed"))) + { + /* + Please check PFS_system_variable_cache::do_materialize_all for + details about this special case. + */ + continue; + } + /* Resolve value, convert to text, add to cache. */ + System_variable system_var(m_safe_thd, show_var, m_query_scope); + m_cache.push_back(system_var); + } + } + + /* Release lock taken in get_THD(). */ + mysql_mutex_unlock(&m_safe_thd->LOCK_thd_data); + + m_materialized= true; + ret= 0; + } + + /* Mark mem_root blocks as free. */ + if (m_use_mem_root) + clear_mem_root(); + + mysql_mutex_unlock(&LOCK_plugin_delete); + return ret; +} + +/** + Materialize a single system variable for a pfs_thread. + Requires that init_show_var_array() has already been called. + Return 0 for success. +*/ +int PFS_system_variable_cache::do_materialize_session(PFS_thread *pfs_thread, uint index) +{ + int ret= 1; + + m_pfs_thread= pfs_thread; + m_materialized= false; + m_cache.clear(); + + /* Block plugins from unloading. */ + mysql_mutex_lock(&LOCK_plugin_delete); + + /* The SHOW_VAR array must be initialized externally. */ + DBUG_ASSERT(m_initialized); + + /* Get and lock a validated THD from the thread manager. */ + if ((m_safe_thd= get_THD(pfs_thread)) != NULL) + { + SHOW_VAR *show_var= &m_show_var_array.at(index); + + if (show_var && show_var->value && + (show_var != m_show_var_array.end())) + { + sys_var *value= (sys_var *)show_var->value; + + /* Match the system variable scope to the target scope. */ + if (match_scope(value->scope())) + { + const char* name= show_var->name; + /* + Please check PFS_system_variable_cache::do_materialize_all for + details about this special case. + */ + if ((my_strcasecmp(system_charset_info, name, "gtid_executed") != 0) || + (value->scope() != sys_var::SESSION && + (!my_strcasecmp(system_charset_info, name, "gtid_executed")))) + { + /* Resolve value, convert to text, add to cache. */ + System_variable system_var(m_safe_thd, show_var, m_query_scope); + m_cache.push_back(system_var); + } + } + } + + /* Release lock taken in get_THD(). */ + mysql_mutex_unlock(&m_safe_thd->LOCK_thd_data); + + m_materialized= true; + ret= 0; + } + + mysql_mutex_unlock(&LOCK_plugin_delete); + return ret; +} + +/** + Build a SESSION system variable cache for a THD. +*/ +int PFS_system_variable_cache::do_materialize_session(THD *unsafe_thd) +{ + int ret= 1; + + m_unsafe_thd= unsafe_thd; + m_safe_thd= NULL; + m_materialized= false; + m_cache.clear(); + + /* Block plugins from unloading. */ + mysql_mutex_lock(&LOCK_plugin_delete); + + /* + Build array of SHOW_VARs from system variable hash. Do this within + LOCK_plugin_delete to ensure that the hash table remains unchanged + while this thread is materialized. + */ + if (!m_external_init) + init_show_var_array(OPT_SESSION, true); + + /* Get and lock a validated THD from the thread manager. */ + if ((m_safe_thd= get_THD(unsafe_thd)) != NULL) + { + for (Show_var_array::iterator show_var= m_show_var_array.begin(); + show_var->value && (show_var != m_show_var_array.end()); show_var++) + { + sys_var *value = (sys_var *)show_var->value; + + /* Match the system variable scope to the target scope. */ + if (match_scope(value->scope())) + { + const char* name= show_var->name; + if (value->scope() == sys_var::SESSION && + (!my_strcasecmp(system_charset_info, name, "gtid_executed"))) + { + /* + Please check PFS_system_variable_cache::do_materialize_all for + details about this special case. + */ + continue; + } + /* Resolve value, convert to text, add to cache. */ + System_variable system_var(m_safe_thd, show_var, m_query_scope); + m_cache.push_back(system_var); + } + } + + /* Release lock taken in get_THD(). */ + mysql_mutex_unlock(&m_safe_thd->LOCK_thd_data); + + m_materialized= true; + ret= 0; + } + + mysql_mutex_unlock(&LOCK_plugin_delete); + return ret; +} + + +/** + CLASS System_variable +*/ + +/** + Empty placeholder. +*/ +System_variable::System_variable() + : m_name(NULL), m_name_length(0), m_value_length(0), m_type(SHOW_UNDEF), m_scope(0), + m_charset(NULL), m_initialized(false) +{ + m_value_str[0]= '\0'; +} + +/** + GLOBAL or SESSION system variable. +*/ +System_variable::System_variable(THD *target_thd, const SHOW_VAR *show_var, + enum_var_type query_scope) + : m_name(NULL), m_name_length(0), m_value_length(0), m_type(SHOW_UNDEF), m_scope(0), + m_charset(NULL), m_initialized(false) +{ + init(target_thd, show_var, query_scope); +} + +/** + Get sys_var value from global or local source then convert to string. +*/ +void System_variable::init(THD *target_thd, const SHOW_VAR *show_var, + enum_var_type query_scope) +{ + if (show_var == NULL || show_var->name == NULL) + return; + + enum_mysql_show_type show_var_type= show_var->type; + DBUG_ASSERT(show_var_type == SHOW_SYS); + THD *current_thread= current_thd; + + m_name= show_var->name; + m_name_length= strlen(m_name); + + /* Block remote target thread from updating this system variable. */ + if (target_thd != current_thread) + mysql_mutex_lock(&target_thd->LOCK_thd_sysvar); + /* Block system variable additions or deletions. */ + mysql_mutex_lock(&LOCK_global_system_variables); + + sys_var *system_var= (sys_var *)show_var->value; + DBUG_ASSERT(system_var != NULL); + m_charset= system_var->charset(target_thd); + m_type= system_var->show_type(); + m_scope= system_var->scope(); + + /* Get the value of the system variable. */ + const char *value; + value= get_one_variable_ext(current_thread, target_thd, show_var, query_scope, show_var_type, + NULL, &m_charset, m_value_str, &m_value_length); + + m_value_length= MY_MIN(m_value_length, SHOW_VAR_FUNC_BUFF_SIZE); + + /* Returned value may reference a string other than m_value_str. */ + if (value != m_value_str) + memcpy(m_value_str, value, m_value_length); + m_value_str[m_value_length]= 0; + + mysql_mutex_unlock(&LOCK_global_system_variables); + if (target_thd != current_thread) + mysql_mutex_unlock(&target_thd->LOCK_thd_sysvar); + +#ifndef EMBEDDED_LIBRARY + if (show_var_type != SHOW_FUNC && query_scope == OPT_GLOBAL && + mysql_audit_notify(current_thread, + AUDIT_EVENT(MYSQL_AUDIT_GLOBAL_VARIABLE_GET), + m_name, value, m_value_length)) + return; +#endif + + + m_initialized= true; +} + + +/** + CLASS PFS_status_variable_cache +*/ + +PFS_status_variable_cache:: +PFS_status_variable_cache(bool external_init) : + PFS_variable_cache<Status_variable>(external_init), + m_show_command(false), m_sum_client_status(NULL) +{ + /* Determine if the originating query is a SHOW command. */ + m_show_command= (m_current_thd->lex->sql_command == SQLCOM_SHOW_STATUS); +} + +/** + Build cache of SESSION status variables for a user. +*/ +int PFS_status_variable_cache::materialize_user(PFS_user *pfs_user) +{ + if (!pfs_user) + return 1; + + if (is_materialized(pfs_user)) + return 0; + + if (!pfs_user->m_lock.is_populated()) + return 1; + + /* Set callback function. */ + m_sum_client_status= sum_user_status; + return do_materialize_client((PFS_client *)pfs_user); +} + +/** + Build cache of SESSION status variables for a host. +*/ +int PFS_status_variable_cache::materialize_host(PFS_host *pfs_host) +{ + if (!pfs_host) + return 1; + + if (is_materialized(pfs_host)) + return 0; + + if (!pfs_host->m_lock.is_populated()) + return 1; + + /* Set callback function. */ + m_sum_client_status= sum_host_status; + return do_materialize_client((PFS_client *)pfs_host); +} + +/** + Build cache of SESSION status variables for an account. +*/ +int PFS_status_variable_cache::materialize_account(PFS_account *pfs_account) +{ + if (!pfs_account) + return 1; + + if (is_materialized(pfs_account)) + return 0; + + if (!pfs_account->m_lock.is_populated()) + return 1; + + /* Set callback function. */ + m_sum_client_status= sum_account_status; + return do_materialize_client((PFS_client *)pfs_account); +} +/** + Compare status variable scope to desired scope. + @param variable_scope Scope of current status variable + @return TRUE if variable matches the query scope +*/ +bool PFS_status_variable_cache::match_scope(SHOW_SCOPE variable_scope, bool strict) +{ + switch (variable_scope) + { + case SHOW_SCOPE_GLOBAL: + return (m_query_scope == OPT_GLOBAL) || (! strict && (m_query_scope == OPT_SESSION)); + break; + case SHOW_SCOPE_SESSION: + /* Ignore session-only vars if aggregating by user, host or account. */ + if (m_aggregate) + return false; + else + return (m_query_scope == OPT_SESSION); + break; + case SHOW_SCOPE_ALL: + return (m_query_scope == OPT_GLOBAL || m_query_scope == OPT_SESSION); + break; + case SHOW_SCOPE_UNDEF: + default: + return false; + break; + } + return false; +} + +/* + Exclude specific status variables from the query by name or prefix. + Return TRUE if variable should be filtered. +*/ +bool PFS_status_variable_cache::filter_by_name(const SHOW_VAR *show_var) +{ + DBUG_ASSERT(show_var); + DBUG_ASSERT(show_var->name); + + if (show_var->type == SHOW_ARRAY) + { + /* The SHOW_ARRAY name is the prefix for the variables in the subarray. */ + const char *prefix= show_var->name; + /* Exclude COM counters if not a SHOW STATUS command. */ + if (!my_strcasecmp(system_charset_info, prefix, "Com") && !m_show_command) + return true; + } + else + { + /* + Slave status resides in Performance Schema replication tables. Exclude + these slave status variables from the SHOW STATUS command and from the + status tables. + Assume null prefix to ensure that only server-defined slave status + variables are filtered. + */ + const char *name= show_var->name; + if (!my_strcasecmp(system_charset_info, name, "Slave_running") || + !my_strcasecmp(system_charset_info, name, "Slave_retried_transactions") || + !my_strcasecmp(system_charset_info, name, "Slave_last_heartbeat") || + !my_strcasecmp(system_charset_info, name, "Slave_received_heartbeats") || + !my_strcasecmp(system_charset_info, name, "Slave_heartbeat_period")) + { + return true; + } + } + + return false; +} + +/** + Check that the variable type is aggregatable. + + @param variable_type Status variable type + @return TRUE if variable type can be aggregated +*/ +bool PFS_status_variable_cache::can_aggregate(enum_mysql_show_type variable_type) +{ + switch(variable_type) + { + /* + All server status counters that are totaled across threads are defined in + system_status_var as either SHOW_LONGLONG_STATUS or SHOW_LONG_STATUS. + These data types are not available to plugins. + */ + case SHOW_LONGLONG_STATUS: + case SHOW_LONG_STATUS: + return true; + break; + + /* Server and plugin */ + case SHOW_UNDEF: + case SHOW_BOOL: + case SHOW_CHAR: + case SHOW_CHAR_PTR: + case SHOW_ARRAY: + case SHOW_FUNC: + case SHOW_INT: + case SHOW_LONG: + case SHOW_LONGLONG: + case SHOW_DOUBLE: + /* Server only */ + case SHOW_HAVE: + case SHOW_MY_BOOL: + case SHOW_SYS: + case SHOW_LEX_STRING: + case SHOW_KEY_CACHE_LONG: + case SHOW_KEY_CACHE_LONGLONG: + case SHOW_DOUBLE_STATUS: + case SHOW_HA_ROWS: + case SHOW_LONG_NOFLUSH: + case SHOW_SIGNED_LONG: + default: + return false; + break; + } +} + +/** + Check if a status variable should be excluded from the query. + Return TRUE if the variable should be excluded. +*/ +bool PFS_status_variable_cache::filter_show_var(const SHOW_VAR *show_var, bool strict) +{ + /* Match the variable scope with the query scope. */ + if (!match_scope(show_var->scope, strict)) + return true; + + /* Exclude specific status variables by name or prefix. */ + if (filter_by_name(show_var)) + return true; + + /* For user, host or account, ignore variables having non-aggregatable types. */ + if (m_aggregate && !can_aggregate(show_var->type)) + return true; + + return false; +} + + +/** + Build an array of SHOW_VARs from the global status array. Expand nested + subarrays, filter unwanted variables. + NOTE: Must be done inside of LOCK_status to guard against plugin load/unload. +*/ +bool PFS_status_variable_cache::init_show_var_array(enum_var_type scope, bool strict) +{ + DBUG_ASSERT(!m_initialized); + + /* Resize if necessary. */ + m_show_var_array.reserve(all_status_vars.size()+1); + + m_query_scope= scope; + + for (Status_var_array::iterator show_var_iter= all_status_vars.begin(); + show_var_iter != all_status_vars.end(); + show_var_iter++) + { + SHOW_VAR show_var= *show_var_iter; + + /* Check if this status var should be excluded from the query. */ + if (filter_show_var(&show_var, strict)) + continue; + + if (show_var.type == SHOW_ARRAY) + { + /* Expand nested subarray. The name is used as a prefix. */ + expand_show_var_array((SHOW_VAR *)show_var.value, show_var.name, strict); + } + else + { + show_var.name= make_show_var_name(NULL, show_var.name); + m_show_var_array.push_back(show_var); + } + } + + /* Last element is NULL. */ + m_show_var_array.push_back(st_mysql_show_var()); + + /* Get the latest version of all_status_vars. */ + m_version= get_status_vars_version(); + + /* Increase cache size if necessary. */ + m_cache.reserve(m_show_var_array.size()); + + m_initialized= true; + return true; +} + +/** + Expand a nested subarray of status variables, indicated by a type of SHOW_ARRAY. +*/ +void PFS_status_variable_cache::expand_show_var_array(const SHOW_VAR *show_var_array, const char *prefix, bool strict) +{ + for (const SHOW_VAR *show_var_ptr= show_var_array; + show_var_ptr && show_var_ptr->name; + show_var_ptr++) + { + SHOW_VAR show_var= *show_var_ptr; + + if (filter_show_var(&show_var, strict)) + continue; + + if (show_var.type == SHOW_ARRAY) + { + char name_buf[SHOW_VAR_MAX_NAME_LEN]; + show_var.name= make_show_var_name(prefix, show_var.name, name_buf, sizeof(name_buf)); + /* Expand nested subarray. The name is used as a prefix. */ + expand_show_var_array((SHOW_VAR *)show_var.value, show_var.name, strict); + } + else + { + /* Add the SHOW_VAR element. Make a local copy of the name string. */ + show_var.name= make_show_var_name(prefix, show_var.name); + m_show_var_array.push_back(show_var); + } + } +} + +/** + Build the complete status variable name, with prefix. Return in buffer provided. +*/ +char * PFS_status_variable_cache::make_show_var_name(const char* prefix, const char* name, + char *name_buf, size_t buf_len) +{ + DBUG_ASSERT(name_buf != NULL); + char *prefix_end= name_buf; + + if (prefix && *prefix) + { + /* Drop the prefix into the front of the name buffer. */ + prefix_end= my_stpnmov(name_buf, prefix, buf_len-1); + *prefix_end++= '_'; + } + + /* Restrict name length to remaining buffer size. */ + size_t max_name_len= name_buf + buf_len - prefix_end; + + /* Load the name into the buffer after the prefix. */ + my_stpnmov(prefix_end, name, max_name_len); + name_buf[buf_len-1]= 0; + + return (name_buf); +} + +/** + Make a copy of the name string prefixed with the subarray name if necessary. +*/ +char * PFS_status_variable_cache::make_show_var_name(const char* prefix, const char* name) +{ + char name_buf[SHOW_VAR_MAX_NAME_LEN]; + size_t buf_len= sizeof(name_buf); + make_show_var_name(prefix, name, name_buf, buf_len); + return m_current_thd->mem_strdup(name_buf); /* freed at statement end */ +} + +/** + Build an internal SHOW_VAR array from the external status variable array. +*/ +bool PFS_status_variable_cache::do_initialize_session(void) +{ + /* Acquire LOCK_status to guard against plugin load/unload. */ + if (m_current_thd->fill_status_recursion_level++ == 0) + mysql_mutex_lock(&LOCK_status); + + bool ret= init_show_var_array(OPT_SESSION, true); + + if (m_current_thd->fill_status_recursion_level-- == 1) + mysql_mutex_unlock(&LOCK_status); + + return ret; +} + +/** + For the current THD, use initial_status_vars taken from before the query start. +*/ +STATUS_VAR *PFS_status_variable_cache::set_status_vars(void) +{ + STATUS_VAR *status_vars; + if (m_safe_thd == m_current_thd && m_current_thd->initial_status_var != NULL) + status_vars= m_current_thd->initial_status_var; + else + status_vars= &m_safe_thd->status_var; + + return status_vars; +} + +/** + Build cache for GLOBAL status variables using values totaled from all threads. +*/ +int PFS_status_variable_cache::do_materialize_global(void) +{ + STATUS_VAR status_totals; + + m_materialized= false; + DEBUG_SYNC(m_current_thd, "before_materialize_global_status_array"); + + /* Acquire LOCK_status to guard against plugin load/unload. */ + if (m_current_thd->fill_status_recursion_level++ == 0) + mysql_mutex_lock(&LOCK_status); + + /* + Build array of SHOW_VARs from global status array. Do this within + LOCK_status to ensure that the array remains unchanged during + materialization. + */ + if (!m_external_init) + init_show_var_array(OPT_GLOBAL, true); + + /* + Collect totals for all active threads. Start with global status vars as a + baseline. + */ + PFS_connection_status_visitor visitor(&status_totals); + PFS_connection_iterator::visit_global(false, /* hosts */ + false, /* users */ + false, /* accounts */ + false, /* threads */ + true, /* THDs */ + &visitor); + /* + Build the status variable cache using the SHOW_VAR array as a reference. + Use the status totals collected from all threads. + */ + manifest(m_current_thd, m_show_var_array.begin(), &status_totals, "", false, true); + + if (m_current_thd->fill_status_recursion_level-- == 1) + mysql_mutex_unlock(&LOCK_status); + + m_materialized= true; + DEBUG_SYNC(m_current_thd, "after_materialize_global_status_array"); + + return 0; +} + +/** + Build GLOBAL and SESSION status variable cache using values for a non-instrumented thread. +*/ +int PFS_status_variable_cache::do_materialize_all(THD* unsafe_thd) +{ + int ret= 1; + DBUG_ASSERT(unsafe_thd != NULL); + + m_unsafe_thd= unsafe_thd; + m_materialized= false; + m_cache.clear(); + + /* Avoid recursive acquisition of LOCK_status. */ + if (m_current_thd->fill_status_recursion_level++ == 0) + mysql_mutex_lock(&LOCK_status); + + /* + Build array of SHOW_VARs from global status array. Do this within + LOCK_status to ensure that the array remains unchanged while this + thread is materialized. + */ + if (!m_external_init) + init_show_var_array(OPT_SESSION, false); + + /* Get and lock a validated THD from the thread manager. */ + if ((m_safe_thd= get_THD(unsafe_thd)) != NULL) + { + /* + Build the status variable cache using the SHOW_VAR array as a reference. + Use the status values from the THD protected by the thread manager lock. + */ + STATUS_VAR *status_vars= set_status_vars(); + manifest(m_safe_thd, m_show_var_array.begin(), status_vars, "", false, false); + + /* Release lock taken in get_THD(). */ + mysql_mutex_unlock(&m_safe_thd->LOCK_thd_data); + + m_materialized= true; + ret= 0; + } + + if (m_current_thd->fill_status_recursion_level-- == 1) + mysql_mutex_unlock(&LOCK_status); + return ret; +} + +/** + Build SESSION status variable cache using values for a non-instrumented thread. +*/ +int PFS_status_variable_cache::do_materialize_session(THD* unsafe_thd) +{ + int ret= 1; + DBUG_ASSERT(unsafe_thd != NULL); + + m_unsafe_thd= unsafe_thd; + m_materialized= false; + m_cache.clear(); + + /* Avoid recursive acquisition of LOCK_status. */ + if (m_current_thd->fill_status_recursion_level++ == 0) + mysql_mutex_lock(&LOCK_status); + + /* + Build array of SHOW_VARs from global status array. Do this within + LOCK_status to ensure that the array remains unchanged while this + thread is materialized. + */ + if (!m_external_init) + init_show_var_array(OPT_SESSION, true); + + /* Get and lock a validated THD from the thread manager. */ + if ((m_safe_thd= get_THD(unsafe_thd)) != NULL) + { + /* + Build the status variable cache using the SHOW_VAR array as a reference. + Use the status values from the THD protected by the thread manager lock. + */ + STATUS_VAR *status_vars= set_status_vars(); + manifest(m_safe_thd, m_show_var_array.begin(), status_vars, "", false, true); + + /* Release lock taken in get_THD(). */ + mysql_mutex_unlock(&m_safe_thd->LOCK_thd_data); + + m_materialized= true; + ret= 0; + } + + if (m_current_thd->fill_status_recursion_level-- == 1) + mysql_mutex_unlock(&LOCK_status); + return ret; +} + +/** + Build SESSION status variable cache using values for a PFS_thread. + NOTE: Requires that init_show_var_array() has already been called. +*/ +int PFS_status_variable_cache::do_materialize_session(PFS_thread *pfs_thread) +{ + int ret= 1; + DBUG_ASSERT(pfs_thread != NULL); + + m_pfs_thread= pfs_thread; + m_materialized= false; + m_cache.clear(); + + /* Acquire LOCK_status to guard against plugin load/unload. */ + if (m_current_thd->fill_status_recursion_level++ == 0) + mysql_mutex_lock(&LOCK_status); + + /* The SHOW_VAR array must be initialized externally. */ + DBUG_ASSERT(m_initialized); + + /* Get and lock a validated THD from the thread manager. */ + if ((m_safe_thd= get_THD(pfs_thread)) != NULL) + { + /* + Build the status variable cache using the SHOW_VAR array as a reference. + Use the status values from the THD protected by the thread manager lock. + */ + STATUS_VAR *status_vars= set_status_vars(); + manifest(m_safe_thd, m_show_var_array.begin(), status_vars, "", false, true); + + /* Release lock taken in get_THD(). */ + mysql_mutex_unlock(&m_safe_thd->LOCK_thd_data); + + m_materialized= true; + ret= 0; + } + + if (m_current_thd->fill_status_recursion_level-- == 1) + mysql_mutex_unlock(&LOCK_status); + return ret; +} + +/** + Build cache of SESSION status variables using the status values provided. + The cache is associated with a user, host or account, but not with any + particular thread. + NOTE: Requires that init_show_var_array() has already been called. +*/ +int PFS_status_variable_cache::do_materialize_client(PFS_client *pfs_client) +{ + DBUG_ASSERT(pfs_client != NULL); + STATUS_VAR status_totals; + + m_pfs_client= pfs_client; + m_materialized= false; + m_cache.clear(); + + /* Acquire LOCK_status to guard against plugin load/unload. */ + if (m_current_thd->fill_status_recursion_level++ == 0) + mysql_mutex_lock(&LOCK_status); + + /* The SHOW_VAR array must be initialized externally. */ + DBUG_ASSERT(m_initialized); + + /* + Generate status totals from active threads and from totals aggregated + from disconnected threads. + */ + m_sum_client_status(pfs_client, &status_totals); + + /* + Build the status variable cache using the SHOW_VAR array as a reference and + the status totals collected from threads associated with this client. + */ + manifest(m_current_thd, m_show_var_array.begin(), &status_totals, "", false, true); + + if (m_current_thd->fill_status_recursion_level-- == 1) + mysql_mutex_unlock(&LOCK_status); + + m_materialized= true; + return 0; +} + +/* + Build the status variable cache from the expanded and sorted SHOW_VAR array. + Resolve status values using the STATUS_VAR struct provided. +*/ +void PFS_status_variable_cache::manifest(THD *thd, const SHOW_VAR *show_var_array, + STATUS_VAR *status_vars, const char *prefix, + bool nested_array, bool strict) +{ + for (const SHOW_VAR *show_var_iter= show_var_array; + show_var_iter && show_var_iter->name; + show_var_iter++) + { + char value_buf[SHOW_VAR_FUNC_BUFF_SIZE+1]; /* work buffer */ + SHOW_VAR show_var_tmp; + const SHOW_VAR *show_var_ptr= show_var_iter; /* preserve array pointer */ + + /* + If the value is a function reference, then execute the function and + reevaluate the new SHOW_TYPE and value. Handle nested case where + SHOW_FUNC resolves to another SHOW_FUNC. + */ + if (show_var_ptr->type == SHOW_FUNC) + { + show_var_tmp= *show_var_ptr; + /* + Execute the function reference in show_var_tmp->value, which returns + show_var_tmp with a new type and new value. + */ + for (const SHOW_VAR *var= show_var_ptr; var->type == SHOW_FUNC; var= &show_var_tmp) + { + ((mysql_show_var_func)(var->value))(thd, &show_var_tmp, value_buf); + } + show_var_ptr= &show_var_tmp; + } + + /* + If we are expanding a SHOW_ARRAY, filter variables that were not prefiltered by + init_show_var_array(). + */ + if (nested_array && filter_show_var(show_var_ptr, strict)) + continue; + + if (show_var_ptr->type == SHOW_ARRAY) + { + /* + Status variables of type SHOW_ARRAY were expanded and filtered by + init_show_var_array(), except where a SHOW_FUNC resolves into a + SHOW_ARRAY, such as with InnoDB. Recurse to expand the subarray. + */ + manifest(thd, (SHOW_VAR *)show_var_ptr->value, status_vars, show_var_ptr->name, true, strict); + } + else + { + /* Add the materialized status variable to the cache. */ + SHOW_VAR show_var= *show_var_ptr; + /* + For nested array expansions, make a copy of the variable name, just as + done in init_show_var_array(). + */ + if (nested_array) + show_var.name= make_show_var_name(prefix, show_var_ptr->name); + + /* Convert status value to string format. Add to the cache. */ + Status_variable status_var(&show_var, status_vars, m_query_scope); + m_cache.push_back(status_var); + } + } +} + +/** + CLASS Status_variable +*/ +Status_variable::Status_variable(const SHOW_VAR *show_var, STATUS_VAR *status_vars, enum_var_type query_scope) + : m_name_length(0), m_value_length(0), m_type(SHOW_UNDEF), + m_scope(SHOW_SCOPE_UNDEF), m_charset(NULL), m_initialized(false) +{ + init(show_var, status_vars, query_scope); +} + +/** + Resolve status value, convert to string. + show_var->value is an offset into status_vars. + NOTE: Assumes LOCK_status is held. +*/ +void Status_variable::init(const SHOW_VAR *show_var, STATUS_VAR *status_vars, enum_var_type query_scope) +{ + if (show_var == NULL || show_var->name == NULL) + return; + m_name= show_var->name; + m_name_length= strlen(m_name); + m_type= show_var->type; + m_scope= show_var->scope; + + const CHARSET_INFO *charset= system_charset_info; + + /* Get the value of the status variable. */ + const char *value; + value= get_one_variable(current_thd, show_var, query_scope, m_type, + status_vars, &charset, m_value_str, &m_value_length); + m_value_length= MY_MIN(m_value_length, SHOW_VAR_FUNC_BUFF_SIZE); + + /* Returned value may reference a string other than m_value_str. */ + if (value != m_value_str) + memcpy(m_value_str, value, m_value_length); + m_value_str[m_value_length]= 0; + + m_initialized= true; +} + +/* + Get status totals for this user from active THDs and related accounts. +*/ +void sum_user_status(PFS_client *pfs_user, STATUS_VAR *status_totals) +{ + PFS_connection_status_visitor visitor(status_totals); + PFS_connection_iterator::visit_user((PFS_user *)pfs_user, + true, /* accounts */ + false, /* threads */ + true, /* THDs */ + &visitor); +} + +/* + Get status totals for this host from active THDs and related accounts. +*/ +void sum_host_status(PFS_client *pfs_host, STATUS_VAR *status_totals) +{ + PFS_connection_status_visitor visitor(status_totals); + PFS_connection_iterator::visit_host((PFS_host *)pfs_host, + true, /* accounts */ + false, /* threads */ + true, /* THDs */ + &visitor); +} + +/* + Get status totals for this account from active THDs and from totals aggregated + from disconnectd threads. +*/ +void sum_account_status(PFS_client *pfs_account, STATUS_VAR *status_totals) +{ + PFS_connection_status_visitor visitor(status_totals); + PFS_connection_iterator::visit_account((PFS_account *)pfs_account, + false, /* threads */ + true, /* THDs */ + &visitor); +} + +/** + Reset aggregated status counter stats for account, user and host. + NOTE: Assumes LOCK_status is held. +*/ +void reset_pfs_status_stats() +{ + reset_status_by_account(); + reset_status_by_user(); + reset_status_by_host(); + /* Clear again, updated by previous aggregations. */ + reset_global_status(); +} + +/** @} */ diff --git a/storage/perfschema/pfs_variable.h b/storage/perfschema/pfs_variable.h new file mode 100644 index 00000000000..bc08650ed23 --- /dev/null +++ b/storage/perfschema/pfs_variable.h @@ -0,0 +1,698 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ + +#ifndef PFS_VARIABLE_H +#define PFS_VARIABLE_H + +/** + @file storage/perfschema/pfs_variable.h + Performance schema system and status variables (declarations). +*/ + +/** + OVERVIEW + -------- + Status and system variables are implemented differently in the server, but the + steps to process them in the Performance Schema are essentially the same: + + 1. INITIALIZE - Build or acquire a sorted list of variables to use for input. + Use the SHOW_VAR struct as an intermediate format common to system, status + and user vars: + + SHOW_VAR + Name - Text string + Value - Pointer to memory location, function, subarray structure + Type - Scalar, function, or subarray + Scope - SESSION, GLOBAL, BOTH + + Steps: + - Register the server's internal buffer with the class. Acquire locks + if necessary, then scan the contents of the input buffer. + - For system variables, convert each element to SHOW_VAR format, store in + a temporary array. + - For status variables, copy existing global status array into a local + array that can be used without locks. Expand nested subarrays, indicated + by a type of SHOW_ARRAY. + + 2. MATERIALIZE - Convert the list of SHOW_VAR variables to string format, + store in a local cache: + - Resolve each variable according to the type. + - Recursively process unexpanded nested arrays and callback functions. + - Aggregate values across threads for global status. + - Convert numeric values to a string. + - Prefix variable name with the plugin name. + + 3. OUTPUT - Iterate the cache for the SHOW command or table query. + + CLASS OVERVIEW + -------------- + 1. System_variable - A materialized system variable + 2. Status_variable - A materialized status variable + 3. PFS_variable_cache - Base class that defines the interface for the operations above. + public + init_show_var_array() - Build SHOW_VAR list of variables for processing + materialize_global() - Materialize global variables, aggregate across sessions + materialize_session() - Materialize variables for a given PFS_thread or THD + materialize_user() - Materialize variables for a user, aggregate across related threads. + materialize_host() - Materialize variables for a host, aggregate across related threads. + materialize_account() - Materialize variables for a account, aggregate across related threads. + private + m_show_var_array - Prealloc_array of SHOW_VARs for input to Materialize + m_cache - Prealloc_array of materialized variables for output + do_materialize_global() - Implementation of materialize_global() + do_materialize_session() - Implementation of materialize_session() + do_materialize_client() - Implementation of materialize_user/host/account() + + 4. PFS_system_variable_cache - System variable implementation of PFS_variable_cache + 5. PFS_status_variable_cache - Status variable implementation of PFS_variable_cache + 6. Find_THD_variable - Used by the thread manager to find and lock a THD. + + GLOSSARY + -------- + Status variable - Server or plugin status counter. Not dynamic. + System variable - Server or plugin configuration variable. Usually dynamic. + GLOBAL scope - Associated with the server, no context at thread level. + SESSION scope - Associated with a connection or thread, but no global context. + BOTH scope - Globally defined but applies at the session level. + Initialize - Build list of variables in SHOW_VAR format. + Materialize - Convert variables in SHOW_VAR list to string, cache for output. + Manifest - Substep of Materialize. Resolve variable values according to + type. This includes SHOW_FUNC types which are resolved by + executing a callback function (possibly recursively), and + SHOW_ARRAY types that expand into nested subarrays. + LOCK PRIORITIES + --------------- + System Variables + LOCK_plugin_delete (block plugin delete) + LOCK_system_variables_hash + LOCK_thd_data (block THD delete) + LOCK_thd_sysvar (block system variable updates, alloc_and_copy_thd_dynamic_variables) + LOCK_global_system_variables (very briefly held) + + Status Variables + LOCK_status + LOCK_thd_data (block THD delete) +*/ + +/* Iteration on THD from the sql layer. */ +#include "mysqld_thd_manager.h" +#define PFS_VAR +/* Class sys_var */ +#include "set_var.h" +/* convert_value_to_string */ +#include "sql_show.h" +/* PFS_thread */ +#include "pfs_instr.h" +#include "pfs_user.h" +#include "pfs_host.h" +#include "pfs_account.h" + +/* Global array of all server and plugin-defined status variables. */ +extern Status_var_array all_status_vars; +extern bool status_vars_inited; +static const uint SYSVAR_MEMROOT_BLOCK_SIZE = 4096; + +extern mysql_mutex_t LOCK_plugin_delete; + +class Find_THD_Impl; +class Find_THD_variable; +typedef PFS_connection_slice PFS_client; + +/** + CLASS System_variable - System variable derived from sys_var object. +*/ +class System_variable +{ +public: + System_variable(); + System_variable(THD *target_thd, const SHOW_VAR *show_var, enum_var_type query_scope); + ~System_variable() {} + + bool is_null() const {return !m_initialized;}; + +public: + const char *m_name; + size_t m_name_length; + char m_value_str[SHOW_VAR_FUNC_BUFF_SIZE+1]; + size_t m_value_length; + enum_mysql_show_type m_type; + int m_scope; + const CHARSET_INFO *m_charset; + +private: + bool m_initialized; + void init(THD *thd, const SHOW_VAR *show_var, enum_var_type query_scope); +}; + + +/** + CLASS Status_variable - Status variable derived from SHOW_VAR. +*/ +class Status_variable +{ +public: + Status_variable() : m_name(NULL), m_name_length(0), m_value_length(0), + m_type(SHOW_UNDEF), m_scope(SHOW_SCOPE_UNDEF), + m_charset(NULL), m_initialized(false) {} + + Status_variable(const SHOW_VAR *show_var, STATUS_VAR *status_array, enum_var_type query_scope); + + ~Status_variable() {} + + bool is_null() const {return !m_initialized;}; + +public: + const char *m_name; + size_t m_name_length; + char m_value_str[SHOW_VAR_FUNC_BUFF_SIZE+1]; + size_t m_value_length; + SHOW_TYPE m_type; + SHOW_SCOPE m_scope; + const CHARSET_INFO *m_charset; +private: + bool m_initialized; + void init(const SHOW_VAR *show_var, STATUS_VAR *status_array, enum_var_type query_scope); +}; + + +/** + CLASS Find_THD_variable - Get and lock a validated THD from the thread manager. +*/ +class Find_THD_variable : public Find_THD_Impl +{ +public: + Find_THD_variable() : m_unsafe_thd(NULL) {} + Find_THD_variable(THD *unsafe_thd) : m_unsafe_thd(unsafe_thd) {} + + virtual bool operator()(THD *thd) + { + //TODO: filter bg threads? + if (thd != m_unsafe_thd) + return false; + + /* Hold this lock to keep THD during materialization. */ + mysql_mutex_lock(&thd->LOCK_thd_data); + return true; + } + void set_unsafe_thd(THD *unsafe_thd) { m_unsafe_thd= unsafe_thd; } +private: + THD *m_unsafe_thd; +}; + +/** + CLASS PFS_variable_cache - Base class for a system or status variable cache. +*/ +template <class Var_type> +class PFS_variable_cache +{ +public: + typedef Prealloced_array<Var_type, SHOW_VAR_PREALLOC, false> Variable_array; + + PFS_variable_cache(bool external_init) + : m_safe_thd(NULL), + m_unsafe_thd(NULL), + m_current_thd(current_thd), + m_pfs_thread(NULL), + m_pfs_client(NULL), + m_thd_finder(), + m_cache(PSI_INSTRUMENT_ME), + m_initialized(false), + m_external_init(external_init), + m_materialized(false), + m_show_var_array(PSI_INSTRUMENT_ME), + m_version(0), + m_query_scope(OPT_DEFAULT), + m_use_mem_root(false), + m_aggregate(false) + { } + + virtual ~PFS_variable_cache()= 0; + + /** + Build array of SHOW_VARs from the external variable source. + Filter using session scope. + */ + bool initialize_session(void); + + /** + Build array of SHOW_VARs suitable for aggregation by user, host or account. + Filter using session scope. + */ + bool initialize_client_session(void); + + /** + Build cache of GLOBAL system or status variables. + Aggregate across threads if applicable. + */ + int materialize_global(); + + /** + Build cache of GLOBAL and SESSION variables for a non-instrumented thread. + */ + int materialize_all(THD *thd); + + /** + Build cache of SESSION variables for a non-instrumented thread. + */ + int materialize_session(THD *thd); + + /** + Build cache of SESSION variables for an instrumented thread. + */ + int materialize_session(PFS_thread *pfs_thread, bool use_mem_root= false); + + /** + Cache a single SESSION variable for an instrumented thread. + */ + int materialize_session(PFS_thread *pfs_thread, uint index); + + /** + Build cache of SESSION status variables for a user. + */ + int materialize_user(PFS_user *pfs_user); + + /** + Build cache of SESSION status variables for a host. + */ + int materialize_host(PFS_host *pfs_host); + + /** + Build cache of SESSION status variables for an account. + */ + int materialize_account(PFS_account *pfs_account); + + /** + True if variables have been materialized. + */ + bool is_materialized(void) + { + return m_materialized; + } + + /** + True if variables have been materialized for given THD. + */ + bool is_materialized(THD *unsafe_thd) + { + return (unsafe_thd == m_unsafe_thd && m_materialized); + } + + /** + True if variables have been materialized for given PFS_thread. + */ + bool is_materialized(PFS_thread *pfs_thread) + { + return (pfs_thread == m_pfs_thread && m_materialized); + } + + /** + True if variables have been materialized for given PFS_user. + */ + bool is_materialized(PFS_user *pfs_user) + { + return (static_cast<PFS_client *>(pfs_user) == m_pfs_client && m_materialized); + } + + /** + True if variables have been materialized for given PFS_host. + */ + bool is_materialized(PFS_host *pfs_host) + { + return (static_cast<PFS_client *>(pfs_host) == m_pfs_client && m_materialized); + } + + /** + True if variables have been materialized for given PFS_account. + */ + bool is_materialized(PFS_account *pfs_account) + { + return (static_cast<PFS_client *>(pfs_account) == m_pfs_client && m_materialized); + } + + /** + True if variables have been materialized for given PFS_user/host/account. + */ + bool is_materialized(PFS_client *pfs_client) + { + return (static_cast<PFS_client *>(pfs_client) == m_pfs_client && m_materialized); + } + + /** + Get a validated THD from the thread manager. Execute callback function while + inside of the thread manager locks. + */ + THD *get_THD(THD *thd); + THD *get_THD(PFS_thread *pfs_thread); + + /** + Get a single variable from the cache. + Get the first element in the cache by default. + */ + const Var_type *get(uint index= 0) const + { + if (index >= m_cache.size()) + return NULL; + + const Var_type *p= &m_cache.at(index); + return p; + } + + /** + Number of elements in the cache. + */ + uint size() + { + return (uint)m_cache.size(); + } + +private: + virtual bool do_initialize_global(void) { return true; } + virtual bool do_initialize_session(void) { return true; } + virtual int do_materialize_global(void) { return 1; } + virtual int do_materialize_all(THD *thd) { return 1; } + virtual int do_materialize_session(THD *thd) { return 1; } + virtual int do_materialize_session(PFS_thread *) { return 1; } + virtual int do_materialize_session(PFS_thread *, uint index) { return 1; } + +protected: + /* Validated THD */ + THD *m_safe_thd; + + /* Unvalidated THD */ + THD *m_unsafe_thd; + + /* Current THD */ + THD *m_current_thd; + + /* Current PFS_thread. */ + PFS_thread *m_pfs_thread; + + /* Current PFS_user, host or account. */ + PFS_client *m_pfs_client; + + /* Callback for thread iterator. */ + Find_THD_variable m_thd_finder; + + /* Cache of materialized variables. */ + Variable_array m_cache; + + /* True when list of SHOW_VAR is complete. */ + bool m_initialized; + + /* + True if the SHOW_VAR array must be initialized externally from the + materialization step, such as with aggregations and queries by thread. + */ + bool m_external_init; + + /* True when cache is complete. */ + bool m_materialized; + + /* Array of variables to be materialized. Last element must be null. */ + Show_var_array m_show_var_array; + + /* Version of global hash/array. Changes when vars added/removed. */ + ulonglong m_version; + + /* Query scope: GLOBAL or SESSION. */ + enum_var_type m_query_scope; + + /* True if temporary mem_root should be used for materialization. */ + bool m_use_mem_root; + + /* True if summarizing across users, hosts or accounts. */ + bool m_aggregate; + +}; + +/** + Required implementation for pure virtual destructor of a template class. +*/ +template <class Var_type> +PFS_variable_cache<Var_type>::~PFS_variable_cache() +{ +} + +/** + Get a validated THD from the thread manager. Execute callback function while + while inside the thread manager lock. +*/ +template <class Var_type> +THD *PFS_variable_cache<Var_type>::get_THD(THD *unsafe_thd) +{ + DBUG_ASSERT(unsafe_thd != NULL); + m_thd_finder.set_unsafe_thd(unsafe_thd); + THD* safe_thd= Global_THD_manager::get_instance()->find_thd(&m_thd_finder); + return safe_thd; +} + +template <class Var_type> +THD *PFS_variable_cache<Var_type>::get_THD(PFS_thread *pfs_thread) +{ + DBUG_ASSERT(pfs_thread != NULL); + return get_THD(pfs_thread->m_thd); +} + +/** + Build array of SHOW_VARs from external source of system or status variables. + Filter using session scope. +*/ +template <class Var_type> +bool PFS_variable_cache<Var_type>::initialize_session(void) +{ + if (m_initialized) + return 0; + + return do_initialize_session(); +} + +/** + Build array of SHOW_VARs suitable for aggregation by user, host or account. + Filter using session scope. +*/ +template <class Var_type> +bool PFS_variable_cache<Var_type>::initialize_client_session(void) +{ + if (m_initialized) + return 0; + + /* Requires aggregation by user, host or account. */ + m_aggregate= true; + + return do_initialize_session(); +} + +/** + Build cache of all GLOBAL variables. +*/ +template <class Var_type> +int PFS_variable_cache<Var_type>::materialize_global() +{ + if (is_materialized()) + return 0; + + return do_materialize_global(); +} + +/** + Build cache of GLOBAL and SESSION variables for a non-instrumented thread. +*/ +template <class Var_type> +int PFS_variable_cache<Var_type>::materialize_all(THD *unsafe_thd) +{ + if (!unsafe_thd) + return 1; + + if (is_materialized(unsafe_thd)) + return 0; + + return do_materialize_all(unsafe_thd); +} + +/** + Build cache of SESSION variables for a non-instrumented thread. +*/ +template <class Var_type> +int PFS_variable_cache<Var_type>::materialize_session(THD *unsafe_thd) +{ + if (!unsafe_thd) + return 1; + + if (is_materialized(unsafe_thd)) + return 0; + + return do_materialize_session(unsafe_thd); +} + +/** + Build cache of SESSION variables for a thread. +*/ +template <class Var_type> +int PFS_variable_cache<Var_type>::materialize_session(PFS_thread *pfs_thread, bool use_mem_root) +{ + if (!pfs_thread) + return 1; + + if (is_materialized(pfs_thread)) + return 0; + + if (!pfs_thread->m_lock.is_populated() || pfs_thread->m_thd == NULL) + return 1; + + m_use_mem_root= use_mem_root; + + return do_materialize_session(pfs_thread); +} + +/** + Materialize a single variable for a thread. +*/ +template <class Var_type> +int PFS_variable_cache<Var_type>::materialize_session(PFS_thread *pfs_thread, uint index) +{ + /* No check for is_materialized(). */ + + if (!pfs_thread) + return 1; + + if (!pfs_thread->m_lock.is_populated() || pfs_thread->m_thd == NULL) + return 1; + + return do_materialize_session(pfs_thread, index); +} + +/** + CLASS PFS_system_variable_cache - System variable cache. +*/ +class PFS_system_variable_cache : public PFS_variable_cache<System_variable> +{ +public: + PFS_system_variable_cache(bool external_init) : + PFS_variable_cache<System_variable>(external_init), + m_mem_thd(NULL), m_mem_thd_save(NULL), + m_mem_sysvar_ptr(NULL) { } + bool match_scope(int scope); + ulonglong get_sysvar_hash_version(void) { return m_version; } + ~PFS_system_variable_cache() { free_mem_root(); } + +private: + /* Build SHOW_var array. */ + bool init_show_var_array(enum_var_type scope, bool strict); + bool do_initialize_session(void); + + /* Global */ + int do_materialize_global(void); + /* Global and Session - THD */ + int do_materialize_all(THD* thd); + /* Session - THD */ + int do_materialize_session(THD* thd); + /* Session - PFS_thread */ + int do_materialize_session(PFS_thread *thread); + /* Single variable - PFS_thread */ + int do_materialize_session(PFS_thread *pfs_thread, uint index); + + /* Temporary mem_root to use for materialization. */ + MEM_ROOT m_mem_sysvar; + /* Pointer to THD::mem_root. */ + MEM_ROOT **m_mem_thd; + /* Save THD::mem_root. */ + MEM_ROOT *m_mem_thd_save; + /* Pointer to temporary mem_root. */ + MEM_ROOT *m_mem_sysvar_ptr; + /* Allocate and/or assign temporary mem_root. */ + void set_mem_root(void); + /* Mark all memory blocks as free in temporary mem_root. */ + void clear_mem_root(void); + /* Free mem_root memory. */ + void free_mem_root(void); +}; + + +/** + CLASS PFS_status_variable_cache - Status variable cache +*/ +class PFS_status_variable_cache : public PFS_variable_cache<Status_variable> +{ +public: + PFS_status_variable_cache(bool external_init); + + int materialize_user(PFS_user *pfs_user); + int materialize_host(PFS_host *pfs_host); + int materialize_account(PFS_account *pfs_account); + + ulonglong get_status_array_version(void) { return m_version; } + +protected: + /* Get PFS_user, account or host associated with a PFS_thread. Implemented by table class. */ + virtual PFS_client *get_pfs(PFS_thread *pfs_thread) { return NULL; } + + /* True if query is a SHOW command. */ + bool m_show_command; + +private: + bool do_initialize_session(void); + + int do_materialize_global(void); + /* Global and Session - THD */ + int do_materialize_all(THD* thd); + int do_materialize_session(THD *thd); + int do_materialize_session(PFS_thread *thread); + int do_materialize_session(PFS_thread *thread, uint index) { return 0; } + int do_materialize_client(PFS_client *pfs_client); + + /* Callback to sum user, host or account status variables. */ + void (*m_sum_client_status)(PFS_client *pfs_client, STATUS_VAR *status_totals); + + /* Build SHOW_VAR array from external source. */ + bool init_show_var_array(enum_var_type scope, bool strict); + + /* Recursively expand nested SHOW_VAR arrays. */ + void expand_show_var_array(const SHOW_VAR *show_var_array, const char *prefix, bool strict); + + /* Exclude unwanted variables from the query. */ + bool filter_show_var(const SHOW_VAR *show_var, bool strict); + + /* Check the variable scope against the query scope. */ + bool match_scope(SHOW_SCOPE variable_scope, bool strict); + + /* Exclude specific status variables by name or prefix. */ + bool filter_by_name(const SHOW_VAR *show_var); + + /* Check if a variable has an aggregatable type. */ + bool can_aggregate(enum_mysql_show_type variable_type); + + /* Build status variable name with prefix. Return in the buffer provided. */ + char *make_show_var_name(const char* prefix, const char* name, char *name_buf, size_t buf_len); + + /* Build status variable name with prefix. Return copy of the string. */ + char *make_show_var_name(const char* prefix, const char* name); + + /* For the current THD, use initial_status_vars taken from before the query start. */ + STATUS_VAR *set_status_vars(void); + + /* Build the list of status variables from SHOW_VAR array. */ + void manifest(THD *thd, const SHOW_VAR *show_var_array, + STATUS_VAR *status_var_array, const char *prefix, bool nested_array, bool strict); +}; + +/* Callback functions to sum status variables for a given user, host or account. */ +void sum_user_status(PFS_client *pfs_user, STATUS_VAR *status_totals); +void sum_host_status(PFS_client *pfs_host, STATUS_VAR *status_totals); +void sum_account_status(PFS_client *pfs_account, STATUS_VAR *status_totals); + + +/** @} */ +#endif + diff --git a/storage/perfschema/pfs_visitor.cc b/storage/perfschema/pfs_visitor.cc index 616bc27900a..25ba1d9df1c 100644 --- a/storage/perfschema/pfs_visitor.cc +++ b/storage/perfschema/pfs_visitor.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,6 +21,8 @@ #include "pfs_user.h" #include "pfs_host.h" #include "pfs_account.h" +#include "mysqld_thd_manager.h" +#include "pfs_buffer_container.h" /** @file storage/perfschema/pfs_visitor.cc @@ -32,182 +34,330 @@ @{ */ +class All_THD_visitor_adapter : public Do_THD_Impl +{ +public: + All_THD_visitor_adapter(PFS_connection_visitor *visitor) + : m_visitor(visitor) + {} + + virtual void operator()(THD *thd) + { + m_visitor->visit_THD(thd); + } + +private: + PFS_connection_visitor *m_visitor; +}; + /** Connection iterator */ void PFS_connection_iterator::visit_global(bool with_hosts, bool with_users, bool with_accounts, bool with_threads, + bool with_THDs, PFS_connection_visitor *visitor) { DBUG_ASSERT(visitor != NULL); + DBUG_ASSERT(! with_threads || ! with_THDs); visitor->visit_global(); if (with_hosts) { - PFS_host *pfs= host_array; - PFS_host *pfs_last= pfs + host_max; - for ( ; pfs < pfs_last; pfs++) + PFS_host_iterator it= global_host_container.iterate(); + PFS_host *pfs= it.scan_next(); + + while (pfs != NULL) { - if (pfs->m_lock.is_populated()) - visitor->visit_host(pfs); + visitor->visit_host(pfs); + pfs= it.scan_next(); } } if (with_users) { - PFS_user *pfs= user_array; - PFS_user *pfs_last= pfs + user_max; - for ( ; pfs < pfs_last; pfs++) + PFS_user_iterator it= global_user_container.iterate(); + PFS_user *pfs= it.scan_next(); + + while (pfs != NULL) { - if (pfs->m_lock.is_populated()) - visitor->visit_user(pfs); + visitor->visit_user(pfs); + pfs= it.scan_next(); } } if (with_accounts) { - PFS_account *pfs= account_array; - PFS_account *pfs_last= pfs + account_max; - for ( ; pfs < pfs_last; pfs++) + PFS_account_iterator it= global_account_container.iterate(); + PFS_account *pfs= it.scan_next(); + + while (pfs != NULL) { - if (pfs->m_lock.is_populated()) - visitor->visit_account(pfs); + visitor->visit_account(pfs); + pfs= it.scan_next(); } } + if (with_threads) { - PFS_thread *pfs= thread_array; - PFS_thread *pfs_last= pfs + thread_max; - for ( ; pfs < pfs_last; pfs++) + PFS_thread_iterator it= global_thread_container.iterate(); + PFS_thread *pfs= it.scan_next(); + + while (pfs != NULL) { - if (pfs->m_lock.is_populated()) - visitor->visit_thread(pfs); + visitor->visit_thread(pfs); + pfs= it.scan_next(); } } + + if (with_THDs) + { + All_THD_visitor_adapter adapter(visitor); + Global_THD_manager::get_instance()->do_for_all_thd(& adapter); + } } +class All_host_THD_visitor_adapter : public Do_THD_Impl +{ +public: + All_host_THD_visitor_adapter(PFS_connection_visitor *visitor, PFS_host *host) + : m_visitor(visitor), m_host(host) + {} + + virtual void operator()(THD *thd) + { + PSI_thread *psi= thd->get_psi(); + PFS_thread *pfs= reinterpret_cast<PFS_thread*>(psi); + pfs= sanitize_thread(pfs); + if (pfs != NULL) + { + PFS_account *account= sanitize_account(pfs->m_account); + if (account != NULL) + { + if (account->m_host == m_host) + { + m_visitor->visit_THD(thd); + } + } + else if (pfs->m_host == m_host) + { + m_visitor->visit_THD(thd); + } + } + } + +private: + PFS_connection_visitor *m_visitor; + PFS_host *m_host; +}; + void PFS_connection_iterator::visit_host(PFS_host *host, bool with_accounts, bool with_threads, + bool with_THDs, PFS_connection_visitor *visitor) { DBUG_ASSERT(visitor != NULL); + DBUG_ASSERT(! with_threads || ! with_THDs); visitor->visit_host(host); if (with_accounts) { - PFS_account *pfs= account_array; - PFS_account *pfs_last= pfs + account_max; - for ( ; pfs < pfs_last; pfs++) + PFS_account_iterator it= global_account_container.iterate(); + PFS_account *pfs= it.scan_next(); + + while (pfs != NULL) { - if ((pfs->m_host == host) && pfs->m_lock.is_populated()) + if (pfs->m_host == host) { visitor->visit_account(pfs); } + pfs= it.scan_next(); } } if (with_threads) { - PFS_thread *pfs= thread_array; - PFS_thread *pfs_last= pfs + thread_max; - for ( ; pfs < pfs_last; pfs++) + PFS_thread_iterator it= global_thread_container.iterate(); + PFS_thread *pfs= it.scan_next(); + + while (pfs != NULL) { - if (pfs->m_lock.is_populated()) + PFS_account *safe_account= sanitize_account(pfs->m_account); + if (((safe_account != NULL) && (safe_account->m_host == host)) /* 1 */ + || (pfs->m_host == host)) /* 2 */ { - PFS_account *safe_account= sanitize_account(pfs->m_account); - if ((safe_account != NULL) && (safe_account->m_host == host)) - { - /* - If the thread belongs to a known user@host that belongs to this host, - process it. - */ - visitor->visit_thread(pfs); - } - else if (pfs->m_host == host) + /* + If the thread belongs to: + - (1) a known user@host that belongs to this host, + - (2) a 'lost' user@host that belongs to this host + process it. + */ + visitor->visit_thread(pfs); + } + pfs= it.scan_next(); + } + } + + if (with_THDs) + { + All_host_THD_visitor_adapter adapter(visitor, host); + Global_THD_manager::get_instance()->do_for_all_thd(& adapter); + } +} + +class All_user_THD_visitor_adapter : public Do_THD_Impl +{ +public: + All_user_THD_visitor_adapter(PFS_connection_visitor *visitor, PFS_user *user) + : m_visitor(visitor), m_user(user) + {} + + virtual void operator()(THD *thd) + { + PSI_thread *psi= thd->get_psi(); + PFS_thread *pfs= reinterpret_cast<PFS_thread*>(psi); + pfs= sanitize_thread(pfs); + if (pfs != NULL) + { + PFS_account *account= sanitize_account(pfs->m_account); + if (account != NULL) + { + if (account->m_user == m_user) { - /* - If the thread belongs to a 'lost' user@host that belong to this host, - process it. - */ - visitor->visit_thread(pfs); + m_visitor->visit_THD(thd); } } + else if (pfs->m_user == m_user) + { + m_visitor->visit_THD(thd); + } } } -} + +private: + PFS_connection_visitor *m_visitor; + PFS_user *m_user; +}; void PFS_connection_iterator::visit_user(PFS_user *user, bool with_accounts, bool with_threads, + bool with_THDs, PFS_connection_visitor *visitor) { DBUG_ASSERT(visitor != NULL); + DBUG_ASSERT(! with_threads || ! with_THDs); visitor->visit_user(user); if (with_accounts) { - PFS_account *pfs= account_array; - PFS_account *pfs_last= pfs + account_max; - for ( ; pfs < pfs_last; pfs++) + PFS_account_iterator it= global_account_container.iterate(); + PFS_account *pfs= it.scan_next(); + + while (pfs != NULL) { - if ((pfs->m_user == user) && pfs->m_lock.is_populated()) + if (pfs->m_user == user) { visitor->visit_account(pfs); } + pfs= it.scan_next(); } } if (with_threads) { - PFS_thread *pfs= thread_array; - PFS_thread *pfs_last= pfs + thread_max; - for ( ; pfs < pfs_last; pfs++) + PFS_thread_iterator it= global_thread_container.iterate(); + PFS_thread *pfs= it.scan_next(); + + while (pfs != NULL) { - if (pfs->m_lock.is_populated()) + PFS_account *safe_account= sanitize_account(pfs->m_account); + if (((safe_account != NULL) && (safe_account->m_user == user)) /* 1 */ + || (pfs->m_user == user)) /* 2 */ { - PFS_account *safe_account= sanitize_account(pfs->m_account); - if ((safe_account != NULL) && (safe_account->m_user == user)) - { - /* - If the thread belongs to a known user@host that belongs to this user, - process it. - */ - visitor->visit_thread(pfs); - } - else if (pfs->m_user == user) - { - /* - If the thread belongs to a 'lost' user@host that belong to this user, - process it. - */ - visitor->visit_thread(pfs); - } + /* + If the thread belongs to: + - (1) a known user@host that belongs to this user, + - (2) a 'lost' user@host that belongs to this user + process it. + */ + visitor->visit_thread(pfs); } + pfs= it.scan_next(); } } + + if (with_THDs) + { + All_user_THD_visitor_adapter adapter(visitor, user); + Global_THD_manager::get_instance()->do_for_all_thd(& adapter); + } } +class All_account_THD_visitor_adapter : public Do_THD_Impl +{ +public: + All_account_THD_visitor_adapter(PFS_connection_visitor *visitor, PFS_account *account) + : m_visitor(visitor), m_account(account) + {} + + virtual void operator()(THD *thd) + { + PSI_thread *psi= thd->get_psi(); + PFS_thread *pfs= reinterpret_cast<PFS_thread*>(psi); + pfs= sanitize_thread(pfs); + if (pfs != NULL) + { + if (pfs->m_account == m_account) + { + m_visitor->visit_THD(thd); + } + } + } + +private: + PFS_connection_visitor *m_visitor; + PFS_account *m_account; +}; + void PFS_connection_iterator::visit_account(PFS_account *account, - bool with_threads, - PFS_connection_visitor *visitor) + bool with_threads, + bool with_THDs, + PFS_connection_visitor *visitor) { DBUG_ASSERT(visitor != NULL); + DBUG_ASSERT(! with_threads || ! with_THDs); visitor->visit_account(account); if (with_threads) { - PFS_thread *pfs= thread_array; - PFS_thread *pfs_last= pfs + thread_max; - for ( ; pfs < pfs_last; pfs++) + PFS_thread_iterator it= global_thread_container.iterate(); + PFS_thread *pfs= it.scan_next(); + + while (pfs != NULL) { - if ((pfs->m_account == account) && pfs->m_lock.is_populated()) + if (pfs->m_account == account) { visitor->visit_thread(pfs); } + pfs= it.scan_next(); } } + + if (with_THDs) + { + All_account_THD_visitor_adapter adapter(visitor, account); + Global_THD_manager::get_instance()->do_for_all_thd(& adapter); + } +} + +void PFS_connection_iterator::visit_THD(THD *thd, + PFS_connection_visitor *visitor) +{ + DBUG_ASSERT(visitor != NULL); + visitor->visit_THD(thd); } void PFS_instance_iterator::visit_all(PFS_instance_visitor *visitor) @@ -239,14 +389,13 @@ void PFS_instance_iterator::visit_all_mutex_classes(PFS_instance_visitor *visito void PFS_instance_iterator::visit_all_mutex_instances(PFS_instance_visitor *visitor) { - PFS_mutex *pfs= mutex_array; - PFS_mutex *pfs_last= pfs + mutex_max; - for ( ; pfs < pfs_last; pfs++) + PFS_mutex_iterator it= global_mutex_container.iterate(); + PFS_mutex *pfs= it.scan_next(); + + while (pfs != NULL) { - if (pfs->m_lock.is_populated()) - { - visitor->visit_mutex(pfs); - } + visitor->visit_mutex(pfs); + pfs= it.scan_next(); } } @@ -271,14 +420,13 @@ void PFS_instance_iterator::visit_all_rwlock_classes(PFS_instance_visitor *visit void PFS_instance_iterator::visit_all_rwlock_instances(PFS_instance_visitor *visitor) { - PFS_rwlock *pfs= rwlock_array; - PFS_rwlock *pfs_last= pfs + rwlock_max; - for ( ; pfs < pfs_last; pfs++) + PFS_rwlock_iterator it= global_rwlock_container.iterate(); + PFS_rwlock *pfs= it.scan_next(); + + while (pfs != NULL) { - if (pfs->m_lock.is_populated()) - { - visitor->visit_rwlock(pfs); - } + visitor->visit_rwlock(pfs); + pfs= it.scan_next(); } } @@ -303,14 +451,13 @@ void PFS_instance_iterator::visit_all_cond_classes(PFS_instance_visitor *visitor void PFS_instance_iterator::visit_all_cond_instances(PFS_instance_visitor *visitor) { - PFS_cond *pfs= cond_array; - PFS_cond *pfs_last= pfs + cond_max; - for ( ; pfs < pfs_last; pfs++) + PFS_cond_iterator it= global_cond_container.iterate(); + PFS_cond *pfs= it.scan_next(); + + while (pfs != NULL) { - if (pfs->m_lock.is_populated()) - { - visitor->visit_cond(pfs); - } + visitor->visit_cond(pfs); + pfs= it.scan_next(); } } @@ -335,14 +482,13 @@ void PFS_instance_iterator::visit_all_file_classes(PFS_instance_visitor *visitor void PFS_instance_iterator::visit_all_file_instances(PFS_instance_visitor *visitor) { - PFS_file *pfs= file_array; - PFS_file *pfs_last= pfs + file_max; - for ( ; pfs < pfs_last; pfs++) + PFS_file_iterator it= global_file_container.iterate(); + PFS_file *pfs= it.scan_next(); + + while (pfs != NULL) { - if (pfs->m_lock.is_populated()) - { - visitor->visit_file(pfs); - } + visitor->visit_file(pfs); + pfs= it.scan_next(); } } @@ -368,14 +514,16 @@ void PFS_instance_iterator::visit_mutex_instances(PFS_mutex_class *klass, } else { - PFS_mutex *pfs= mutex_array; - PFS_mutex *pfs_last= pfs + mutex_max; - for ( ; pfs < pfs_last; pfs++) + PFS_mutex_iterator it= global_mutex_container.iterate(); + PFS_mutex *pfs= it.scan_next(); + + while (pfs != NULL) { - if ((pfs->m_class == klass) && pfs->m_lock.is_populated()) + if (pfs->m_class == klass) { visitor->visit_mutex(pfs); } + pfs= it.scan_next(); } } } @@ -400,14 +548,16 @@ void PFS_instance_iterator::visit_rwlock_instances(PFS_rwlock_class *klass, } else { - PFS_rwlock *pfs= rwlock_array; - PFS_rwlock *pfs_last= pfs + rwlock_max; - for ( ; pfs < pfs_last; pfs++) + PFS_rwlock_iterator it= global_rwlock_container.iterate(); + PFS_rwlock *pfs= it.scan_next(); + + while (pfs != NULL) { - if ((pfs->m_class == klass) && pfs->m_lock.is_populated()) + if (pfs->m_class == klass) { visitor->visit_rwlock(pfs); } + pfs= it.scan_next(); } } } @@ -432,14 +582,16 @@ void PFS_instance_iterator::visit_cond_instances(PFS_cond_class *klass, } else { - PFS_cond *pfs= cond_array; - PFS_cond *pfs_last= pfs + cond_max; - for ( ; pfs < pfs_last; pfs++) + PFS_cond_iterator it= global_cond_container.iterate(); + PFS_cond *pfs= it.scan_next(); + + while (pfs != NULL) { - if ((pfs->m_class == klass) && pfs->m_lock.is_populated()) + if (pfs->m_class == klass) { visitor->visit_cond(pfs); } + pfs= it.scan_next(); } } } @@ -464,14 +616,16 @@ void PFS_instance_iterator::visit_file_instances(PFS_file_class *klass, } else { - PFS_file *pfs= file_array; - PFS_file *pfs_last= pfs + file_max; - for ( ; pfs < pfs_last; pfs++) + PFS_file_iterator it= global_file_container.iterate(); + PFS_file *pfs= it.scan_next(); + + while (pfs != NULL) { - if ((pfs->m_class == klass) && pfs->m_lock.is_populated()) + if (pfs->m_class == klass) { visitor->visit_file(pfs); } + pfs= it.scan_next(); } } } @@ -498,14 +652,16 @@ void PFS_instance_iterator::visit_socket_instances(PFS_socket_class *klass, } else { - PFS_socket *pfs= socket_array; - PFS_socket *pfs_last= pfs + socket_max; - for ( ; pfs < pfs_last; pfs++) + PFS_socket_iterator it= global_socket_container.iterate(); + PFS_socket *pfs= it.scan_next(); + + while (pfs != NULL) { - if ((pfs->m_class == klass) && pfs->m_lock.is_populated()) + if (pfs->m_class == klass) { visitor->visit_socket(pfs); } + pfs= it.scan_next(); } } } @@ -535,16 +691,17 @@ void PFS_instance_iterator::visit_socket_instances(PFS_socket_class *klass, else { /* Get current socket stats from each socket instance owned by this thread */ - PFS_socket *pfs= socket_array; - PFS_socket *pfs_last= pfs + socket_max; + PFS_socket_iterator it= global_socket_container.iterate(); + PFS_socket *pfs= it.scan_next(); - for ( ; pfs < pfs_last; pfs++) + while (pfs != NULL) { if (unlikely((pfs->m_class == klass) && (pfs->m_thread_owner == thread))) { visitor->visit_socket(pfs); } + pfs= it.scan_next(); } } } @@ -579,53 +736,127 @@ void PFS_object_iterator::visit_all(PFS_object_visitor *visitor) visit_all_tables(visitor); } -void PFS_object_iterator::visit_all_tables(PFS_object_visitor *visitor) +class Proc_all_table_shares + : public PFS_buffer_processor<PFS_table_share> { - DBUG_ASSERT(visitor != NULL); +public: + Proc_all_table_shares(PFS_object_visitor *visitor) + : m_visitor(visitor) + {} - visitor->visit_global(); + virtual void operator()(PFS_table_share *pfs) + { + if (pfs->m_enabled) + { + m_visitor->visit_table_share(pfs); + } + } - /* For all the table shares ... */ - PFS_table_share *share= table_share_array; - PFS_table_share *share_last= table_share_array + table_share_max; - for ( ; share < share_last; share++) +private: + PFS_object_visitor* m_visitor; +}; + +class Proc_all_table_handles + : public PFS_buffer_processor<PFS_table> +{ +public: + Proc_all_table_handles(PFS_object_visitor *visitor) + : m_visitor(visitor) + {} + + virtual void operator()(PFS_table *pfs) { - if (share->m_lock.is_populated()) + PFS_table_share *safe_share= sanitize_table_share(pfs->m_share); + if (safe_share != NULL) { - visitor->visit_table_share(share); + if (safe_share->m_enabled) + { + m_visitor->visit_table(pfs); + } } } +private: + PFS_object_visitor* m_visitor; +}; + +void PFS_object_iterator::visit_all_tables(PFS_object_visitor *visitor) +{ + DBUG_ASSERT(visitor != NULL); + + visitor->visit_global(); + + /* For all the table shares ... */ + Proc_all_table_shares proc_shares(visitor); + global_table_share_container.apply(proc_shares); + /* For all the table handles ... */ - PFS_table *table= table_array; - PFS_table *table_last= table_array + table_max; - for ( ; table < table_last; table++) + Proc_all_table_handles proc_handles(visitor); + global_table_container.apply(proc_handles); +} + +class Proc_one_table_share_handles + : public PFS_buffer_processor<PFS_table> +{ +public: + Proc_one_table_share_handles(PFS_object_visitor *visitor, PFS_table_share *share) + : m_visitor(visitor), m_share(share) + {} + + virtual void operator()(PFS_table *pfs) { - if (table->m_lock.is_populated()) + if (pfs->m_share == m_share) { - visitor->visit_table(table); + m_visitor->visit_table(pfs); } } -} + +private: + PFS_object_visitor* m_visitor; + PFS_table_share* m_share; +}; void PFS_object_iterator::visit_tables(PFS_table_share *share, PFS_object_visitor *visitor) { DBUG_ASSERT(visitor != NULL); + if (!share->m_enabled) + return; + visitor->visit_table_share(share); +#ifdef LATER + if (share->get_refcount() == 0) + return; +#endif + /* For all the table handles ... */ - PFS_table *table= table_array; - PFS_table *table_last= table_array + table_max; - for ( ; table < table_last; table++) + Proc_one_table_share_handles proc(visitor, share); + global_table_container.apply(proc); +} + +class Proc_one_table_share_indexes + : public PFS_buffer_processor<PFS_table> +{ +public: + Proc_one_table_share_indexes(PFS_object_visitor *visitor, PFS_table_share *share, uint index) + : m_visitor(visitor), m_share(share), m_index(index) + {} + + virtual void operator()(PFS_table *pfs) { - if ((table->m_share == share) && table->m_lock.is_populated()) + if (pfs->m_share == m_share) { - visitor->visit_table(table); + m_visitor->visit_table_index(pfs, m_index); } } -} + +private: + PFS_object_visitor* m_visitor; + PFS_table_share* m_share; + uint m_index; +}; void PFS_object_iterator::visit_table_indexes(PFS_table_share *share, uint index, @@ -633,18 +864,19 @@ void PFS_object_iterator::visit_table_indexes(PFS_table_share *share, { DBUG_ASSERT(visitor != NULL); + if (!share->m_enabled) + return; + visitor->visit_table_share_index(share, index); +#ifdef LATER + if (share->get_refcount() == 0) + return; +#endif + /* For all the table handles ... */ - PFS_table *table= table_array; - PFS_table *table_last= table_array + table_max; - for ( ; table < table_last; table++) - { - if ((table->m_share == share) && table->m_lock.is_populated()) - { - visitor->visit_table_index(table, index); - } - } + Proc_one_table_share_indexes proc(visitor, share, index); + global_table_container.apply(proc); } /** Connection wait visitor */ @@ -661,32 +893,62 @@ PFS_connection_wait_visitor::~PFS_connection_wait_visitor() void PFS_connection_wait_visitor::visit_global() { /* - This visitor is used only for idle instruments. + This visitor is used only for global instruments + that do not have instances. For waits, do not sum by connection but by instances, it is more efficient. */ - DBUG_ASSERT(m_index == global_idle_class.m_event_name_index); - m_stat.aggregate(& global_idle_stat); + DBUG_ASSERT( (m_index == global_idle_class.m_event_name_index) + || (m_index == global_metadata_class.m_event_name_index)); + + if (m_index == global_idle_class.m_event_name_index) + { + m_stat.aggregate(& global_idle_stat); + } + else + { + m_stat.aggregate(& global_metadata_stat); + } } void PFS_connection_wait_visitor::visit_host(PFS_host *pfs) { - m_stat.aggregate(& pfs->m_instr_class_waits_stats[m_index]); + const PFS_single_stat *event_name_array; + event_name_array= pfs->read_instr_class_waits_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } void PFS_connection_wait_visitor::visit_user(PFS_user *pfs) { - m_stat.aggregate(& pfs->m_instr_class_waits_stats[m_index]); + const PFS_single_stat *event_name_array; + event_name_array= pfs->read_instr_class_waits_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } void PFS_connection_wait_visitor::visit_account(PFS_account *pfs) { - m_stat.aggregate(& pfs->m_instr_class_waits_stats[m_index]); + const PFS_single_stat *event_name_array; + event_name_array= pfs->read_instr_class_waits_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } void PFS_connection_wait_visitor::visit_thread(PFS_thread *pfs) { - m_stat.aggregate(& pfs->m_instr_class_waits_stats[m_index]); + const PFS_single_stat *event_name_array; + event_name_array= pfs->read_instr_class_waits_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } PFS_connection_all_wait_visitor @@ -704,11 +966,14 @@ void PFS_connection_all_wait_visitor::visit_global() void PFS_connection_all_wait_visitor::visit_connection_slice(PFS_connection_slice *pfs) { - PFS_single_stat *stat= pfs->m_instr_class_waits_stats; - PFS_single_stat *stat_last= stat + wait_class_max; - for ( ; stat < stat_last; stat++) + const PFS_single_stat *stat= pfs->read_instr_class_waits_stats(); + if (stat != NULL) { - m_stat.aggregate(stat); + const PFS_single_stat *stat_last= stat + wait_class_max; + for ( ; stat < stat_last; stat++) + { + m_stat.aggregate(stat); + } } } @@ -747,22 +1012,42 @@ void PFS_connection_stage_visitor::visit_global() void PFS_connection_stage_visitor::visit_host(PFS_host *pfs) { - m_stat.aggregate(& pfs->m_instr_class_stages_stats[m_index]); + const PFS_stage_stat *event_name_array; + event_name_array= pfs->read_instr_class_stages_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } void PFS_connection_stage_visitor::visit_user(PFS_user *pfs) { - m_stat.aggregate(& pfs->m_instr_class_stages_stats[m_index]); + const PFS_stage_stat *event_name_array; + event_name_array= pfs->read_instr_class_stages_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } void PFS_connection_stage_visitor::visit_account(PFS_account *pfs) { - m_stat.aggregate(& pfs->m_instr_class_stages_stats[m_index]); + const PFS_stage_stat *event_name_array; + event_name_array= pfs->read_instr_class_stages_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } void PFS_connection_stage_visitor::visit_thread(PFS_thread *pfs) { - m_stat.aggregate(& pfs->m_instr_class_stages_stats[m_index]); + const PFS_stage_stat *event_name_array; + event_name_array= pfs->read_instr_class_stages_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } PFS_connection_statement_visitor @@ -781,22 +1066,42 @@ void PFS_connection_statement_visitor::visit_global() void PFS_connection_statement_visitor::visit_host(PFS_host *pfs) { - m_stat.aggregate(& pfs->m_instr_class_statements_stats[m_index]); + const PFS_statement_stat *event_name_array; + event_name_array= pfs->read_instr_class_statements_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } void PFS_connection_statement_visitor::visit_user(PFS_user *pfs) { - m_stat.aggregate(& pfs->m_instr_class_statements_stats[m_index]); + const PFS_statement_stat *event_name_array; + event_name_array= pfs->read_instr_class_statements_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } void PFS_connection_statement_visitor::visit_account(PFS_account *pfs) { - m_stat.aggregate(& pfs->m_instr_class_statements_stats[m_index]); + const PFS_statement_stat *event_name_array; + event_name_array= pfs->read_instr_class_statements_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } void PFS_connection_statement_visitor::visit_thread(PFS_thread *pfs) { - m_stat.aggregate(& pfs->m_instr_class_statements_stats[m_index]); + const PFS_statement_stat *event_name_array; + event_name_array= pfs->read_instr_class_statements_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } } /** Instance wait visitor */ @@ -819,11 +1124,14 @@ void PFS_connection_all_statement_visitor::visit_global() void PFS_connection_all_statement_visitor::visit_connection_slice(PFS_connection_slice *pfs) { - PFS_statement_stat *stat= pfs->m_instr_class_statements_stats; - PFS_statement_stat *stat_last= stat + statement_class_max; - for ( ; stat < stat_last; stat++) + const PFS_statement_stat *stat= pfs->read_instr_class_statements_stats(); + if (stat != NULL) { - m_stat.aggregate(stat); + const PFS_statement_stat *stat_last= stat + statement_class_max; + for ( ; stat < stat_last; stat++) + { + m_stat.aggregate(stat); + } } } @@ -847,6 +1155,102 @@ void PFS_connection_all_statement_visitor::visit_thread(PFS_thread *pfs) visit_connection_slice(pfs); } +PFS_connection_transaction_visitor +::PFS_connection_transaction_visitor(PFS_transaction_class *klass) +{ + m_index= klass->m_event_name_index; +} + +PFS_connection_transaction_visitor::~PFS_connection_transaction_visitor() +{} + +void PFS_connection_transaction_visitor::visit_global() +{ + m_stat.aggregate(&global_transaction_stat); +} + +void PFS_connection_transaction_visitor::visit_host(PFS_host *pfs) +{ + const PFS_transaction_stat *event_name_array; + event_name_array= pfs->read_instr_class_transactions_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } +} + +void PFS_connection_transaction_visitor::visit_user(PFS_user *pfs) +{ + const PFS_transaction_stat *event_name_array; + event_name_array= pfs->read_instr_class_transactions_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } +} + +void PFS_connection_transaction_visitor::visit_account(PFS_account *pfs) +{ + const PFS_transaction_stat *event_name_array; + event_name_array= pfs->read_instr_class_transactions_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } +} + +void PFS_connection_transaction_visitor::visit_thread(PFS_thread *pfs) +{ + const PFS_transaction_stat *event_name_array; + event_name_array= pfs->read_instr_class_transactions_stats(); + if (event_name_array != NULL) + { + m_stat.aggregate(& event_name_array[m_index]); + } +} + +/** Disabled pending code review */ +#if 0 +/** Instance wait visitor */ +PFS_connection_all_transaction_visitor +::PFS_connection_all_transaction_visitor() +{} + +PFS_connection_all_transaction_visitor::~PFS_connection_all_transaction_visitor() +{} + +void PFS_connection_all_transaction_visitor::visit_global() +{ + m_stat.aggregate(&global_transaction_stat); +} + +void PFS_connection_all_transaction_visitor::visit_connection_slice(PFS_connection_slice *pfs) +{ + PFS_transaction_stat *stat= pfs->m_instr_class_transactions_stats; + m_stat.aggregate(stat); +} + +void PFS_connection_all_transaction_visitor::visit_host(PFS_host *pfs) +{ + visit_connection_slice(pfs); +} + +void PFS_connection_all_transaction_visitor::visit_user(PFS_user *pfs) +{ + visit_connection_slice(pfs); +} + +void PFS_connection_all_transaction_visitor::visit_account(PFS_account *pfs) +{ + visit_connection_slice(pfs); +} + +void PFS_connection_all_transaction_visitor::visit_thread(PFS_thread *pfs) +{ + visit_connection_slice(pfs); +} +#endif + PFS_connection_stat_visitor::PFS_connection_stat_visitor() {} @@ -876,10 +1280,117 @@ void PFS_connection_stat_visitor::visit_thread(PFS_thread *) m_stat.aggregate_active(1); } -PFS_instance_wait_visitor::PFS_instance_wait_visitor() +PFS_connection_memory_visitor +::PFS_connection_memory_visitor(PFS_memory_class *klass) +{ + m_index= klass->m_event_name_index; + m_stat.reset(); +} + +PFS_connection_memory_visitor::~PFS_connection_memory_visitor() +{} + +void PFS_connection_memory_visitor::visit_global() +{ + PFS_memory_stat *stat; + stat= & global_instr_class_memory_array[m_index]; + stat->full_aggregate_to(& m_stat); +} + +void PFS_connection_memory_visitor::visit_host(PFS_host *pfs) +{ + const PFS_memory_stat *event_name_array; + event_name_array= pfs->read_instr_class_memory_stats(); + if (event_name_array != NULL) + { + const PFS_memory_stat *stat; + stat= & event_name_array[m_index]; + stat->full_aggregate_to(& m_stat); + } +} + +void PFS_connection_memory_visitor::visit_user(PFS_user *pfs) { + const PFS_memory_stat *event_name_array; + event_name_array= pfs->read_instr_class_memory_stats(); + if (event_name_array != NULL) + { + const PFS_memory_stat *stat; + stat= & event_name_array[m_index]; + stat->full_aggregate_to(& m_stat); + } } +void PFS_connection_memory_visitor::visit_account(PFS_account *pfs) +{ + const PFS_memory_stat *event_name_array; + event_name_array= pfs->read_instr_class_memory_stats(); + if (event_name_array != NULL) + { + const PFS_memory_stat *stat; + stat= & event_name_array[m_index]; + stat->full_aggregate_to(& m_stat); + } +} + +void PFS_connection_memory_visitor::visit_thread(PFS_thread *pfs) +{ + const PFS_memory_stat *event_name_array; + event_name_array= pfs->read_instr_class_memory_stats(); + if (event_name_array != NULL) + { + const PFS_memory_stat *stat; + stat= & event_name_array[m_index]; + stat->full_aggregate_to(& m_stat); + } +} + + +PFS_connection_status_visitor:: +PFS_connection_status_visitor(STATUS_VAR *status_vars) : m_status_vars(status_vars) +{ + memset(m_status_vars, 0, sizeof(STATUS_VAR)); +} + +PFS_connection_status_visitor::~PFS_connection_status_visitor() +{} + +/** Aggregate from global status. */ +void PFS_connection_status_visitor::visit_global() +{ + /* NOTE: Requires lock on LOCK_status. */ + mysql_mutex_assert_owner(&LOCK_status); + add_to_status(m_status_vars, &global_status_var, false); +} + +void PFS_connection_status_visitor::visit_host(PFS_host *pfs) +{ + pfs->m_status_stats.aggregate_to(m_status_vars); +} + +void PFS_connection_status_visitor::visit_user(PFS_user *pfs) +{ + pfs->m_status_stats.aggregate_to(m_status_vars); +} + +void PFS_connection_status_visitor::visit_account(PFS_account *pfs) +{ + pfs->m_status_stats.aggregate_to(m_status_vars); +} + +void PFS_connection_status_visitor::visit_thread(PFS_thread *pfs) +{ +} + +void PFS_connection_status_visitor::visit_THD(THD *thd) +{ + add_to_status(m_status_vars, &thd->status_var, false); +} + + +PFS_instance_wait_visitor::PFS_instance_wait_visitor() +{} + PFS_instance_wait_visitor::~PFS_instance_wait_visitor() {} @@ -923,7 +1434,7 @@ void PFS_instance_wait_visitor::visit_cond(PFS_cond *pfs) m_stat.aggregate(& pfs->m_cond_stat.m_wait_stat); } -void PFS_instance_wait_visitor::visit_file(PFS_file *pfs) +void PFS_instance_wait_visitor::visit_file(PFS_file *pfs) { /* Combine per-operation file wait stats before aggregating */ PFS_single_stat stat; @@ -931,7 +1442,7 @@ void PFS_instance_wait_visitor::visit_file(PFS_file *pfs) m_stat.aggregate(&stat); } -void PFS_instance_wait_visitor::visit_socket(PFS_socket *pfs) +void PFS_instance_wait_visitor::visit_socket(PFS_socket *pfs) { /* Combine per-operation socket wait stats before aggregating */ PFS_single_stat stat; @@ -956,7 +1467,7 @@ void PFS_object_wait_visitor::visit_global() void PFS_object_wait_visitor::visit_table_share(PFS_table_share *pfs) { uint safe_key_count= sanitize_index_count(pfs->m_key_count); - pfs->m_table_stat.sum(& m_stat, safe_key_count); + pfs->sum(& m_stat, safe_key_count); } void PFS_object_wait_visitor::visit_table(PFS_table *pfs) @@ -985,13 +1496,20 @@ void PFS_table_io_wait_visitor::visit_table_share(PFS_table_share *pfs) PFS_table_io_stat io_stat; uint safe_key_count= sanitize_index_count(pfs->m_key_count); uint index; + PFS_table_share_index *index_stat; /* Aggregate index stats */ for (index= 0; index < safe_key_count; index++) - io_stat.aggregate(& pfs->m_table_stat.m_index_stat[index]); + { + index_stat= pfs->find_index_stat(index); + if (index_stat != NULL) + io_stat.aggregate(& index_stat->m_stat); + } /* Aggregate global stats */ - io_stat.aggregate(& pfs->m_table_stat.m_index_stat[MAX_INDEXES]); + index_stat= pfs->find_index_stat(MAX_INDEXES); + if (index_stat != NULL) + io_stat.aggregate(& index_stat->m_stat); io_stat.sum(& m_stat); } @@ -1029,13 +1547,20 @@ void PFS_table_io_stat_visitor::visit_table_share(PFS_table_share *pfs) { uint safe_key_count= sanitize_index_count(pfs->m_key_count); uint index; + PFS_table_share_index *index_stat; /* Aggregate index stats */ for (index= 0; index < safe_key_count; index++) - m_stat.aggregate(& pfs->m_table_stat.m_index_stat[index]); + { + index_stat= pfs->find_index_stat(index); + if (index_stat != NULL) + m_stat.aggregate(& index_stat->m_stat); + } /* Aggregate global stats */ - m_stat.aggregate(& pfs->m_table_stat.m_index_stat[MAX_INDEXES]); + index_stat= pfs->find_index_stat(MAX_INDEXES); + if (index_stat != NULL) + m_stat.aggregate(& index_stat->m_stat); } void PFS_table_io_stat_visitor::visit_table(PFS_table *pfs) @@ -1066,7 +1591,11 @@ PFS_index_io_stat_visitor::~PFS_index_io_stat_visitor() void PFS_index_io_stat_visitor::visit_table_share_index(PFS_table_share *pfs, uint index) { - m_stat.aggregate(& pfs->m_table_stat.m_index_stat[index]); + PFS_table_share_index *index_stat; + + index_stat= pfs->find_index_stat(index); + if (index_stat != NULL) + m_stat.aggregate(& index_stat->m_stat); } void PFS_index_io_stat_visitor::visit_table_index(PFS_table *pfs, uint index) @@ -1089,7 +1618,7 @@ void PFS_table_lock_wait_visitor::visit_global() void PFS_table_lock_wait_visitor::visit_table_share(PFS_table_share *pfs) { - pfs->m_table_stat.sum_lock(& m_stat); + pfs->sum_lock(& m_stat); } void PFS_table_lock_wait_visitor::visit_table(PFS_table *pfs) @@ -1107,7 +1636,11 @@ PFS_table_lock_stat_visitor::~PFS_table_lock_stat_visitor() void PFS_table_lock_stat_visitor::visit_table_share(PFS_table_share *pfs) { - m_stat.aggregate(& pfs->m_table_stat.m_lock_stat); + PFS_table_share_lock *lock_stat; + + lock_stat= pfs->find_lock_stat(); + if (lock_stat != NULL) + m_stat.aggregate(& lock_stat->m_stat); } void PFS_table_lock_stat_visitor::visit_table(PFS_table *pfs) @@ -1121,32 +1654,31 @@ PFS_instance_socket_io_stat_visitor::PFS_instance_socket_io_stat_visitor() PFS_instance_socket_io_stat_visitor::~PFS_instance_socket_io_stat_visitor() {} -void PFS_instance_socket_io_stat_visitor::visit_socket_class(PFS_socket_class *pfs) +void PFS_instance_socket_io_stat_visitor::visit_socket_class(PFS_socket_class *pfs) { /* Aggregate wait times, event counts and byte counts */ m_socket_io_stat.aggregate(&pfs->m_socket_stat.m_io_stat); } -void PFS_instance_socket_io_stat_visitor::visit_socket(PFS_socket *pfs) +void PFS_instance_socket_io_stat_visitor::visit_socket(PFS_socket *pfs) { /* Aggregate wait times, event counts and byte counts */ m_socket_io_stat.aggregate(&pfs->m_socket_stat.m_io_stat); } - PFS_instance_file_io_stat_visitor::PFS_instance_file_io_stat_visitor() {} PFS_instance_file_io_stat_visitor::~PFS_instance_file_io_stat_visitor() {} -void PFS_instance_file_io_stat_visitor::visit_file_class(PFS_file_class *pfs) +void PFS_instance_file_io_stat_visitor::visit_file_class(PFS_file_class *pfs) { /* Aggregate wait times, event counts and byte counts */ m_file_io_stat.aggregate(&pfs->m_file_stat.m_io_stat); } -void PFS_instance_file_io_stat_visitor::visit_file(PFS_file *pfs) +void PFS_instance_file_io_stat_visitor::visit_file(PFS_file *pfs) { /* Aggregate wait times, event counts and byte counts */ m_file_io_stat.aggregate(&pfs->m_file_stat.m_io_stat); diff --git a/storage/perfschema/pfs_visitor.h b/storage/perfschema/pfs_visitor.h index 4ec63d00636..d1773f45bae 100644 --- a/storage/perfschema/pfs_visitor.h +++ b/storage/perfschema/pfs_visitor.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,6 +18,8 @@ #include "pfs_stat.h" +typedef struct system_status_var STATUS_VAR; + /** @file storage/perfschema/pfs_visitor.h Visitors (declarations). @@ -38,6 +40,7 @@ struct PFS_rwlock_class; struct PFS_cond_class; struct PFS_file_class; struct PFS_socket_class; +struct PFS_memory_class; struct PFS_table_share; struct PFS_mutex; struct PFS_rwlock; @@ -46,6 +49,7 @@ struct PFS_file; struct PFS_table; struct PFS_stage_class; struct PFS_statement_class; +struct PFS_transaction_class; struct PFS_socket; struct PFS_connection_slice; @@ -68,6 +72,8 @@ public: virtual void visit_user(PFS_user *pfs) {} /** Visit a thread. */ virtual void visit_thread(PFS_thread *pfs) {} + /** Visit a THD associated with a thread. */ + virtual void visit_THD(THD *thd) {} }; /** @@ -83,37 +89,45 @@ public: @param with_users when true, visit also all users. @param with_accounts when true, visit also all user+host. @param with_threads when true, visit also all threads. + @param with_THDs when true, visit also all threads THD. @param visitor the visitor to call */ static void visit_global(bool with_hosts, bool with_users, bool with_accounts, bool with_threads, + bool with_THDs, PFS_connection_visitor *visitor); /** Visit all connections of a host. @param host the host to visit. @param with_accounts when true, visit also all related user+host. @param with_threads when true, visit also all related threads. + @param with_THDs when true, visit also all related threads THD. @param visitor the visitor to call */ static void visit_host(PFS_host *host, bool with_accounts, bool with_threads, + bool with_THDs, PFS_connection_visitor *visitor); /** Visit all connections of a user. @param user the user to visit. @param with_accounts when true, visit also all related user+host. @param with_threads when true, visit also all related threads. + @param with_THDs when true, visit also all related threads THD. @param visitor the visitor to call */ static void visit_user(PFS_user *user, bool with_accounts, bool with_threads, + bool with_THDs, PFS_connection_visitor *visitor); /** Visit all connections of a user+host. @param account the user+host to visit. @param with_threads when true, visit also all related threads. + @param with_THDs when true, visit also all related threads THD. @param visitor the visitor to call */ static void visit_account(PFS_account *account, bool with_threads, - PFS_connection_visitor *visitor); + bool with_THDs, + PFS_connection_visitor *visitor); /** Visit a thread or connection. @param thread the thread to visit. @@ -122,6 +136,13 @@ public: static inline void visit_thread(PFS_thread *thread, PFS_connection_visitor *visitor) { visitor->visit_thread(thread); } + + /** + Visit THD. + @param thd the THD to visit. + @param visitor the visitor to call. + */ + static void visit_THD(THD *thd, PFS_connection_visitor *visitor); }; /** @@ -390,6 +411,54 @@ private: /** A concrete connection visitor that aggregates + transaction statistics for a given event_name. +*/ +class PFS_connection_transaction_visitor : public PFS_connection_visitor +{ +public: + /** Constructor. */ + PFS_connection_transaction_visitor(PFS_transaction_class *klass); + virtual ~PFS_connection_transaction_visitor(); + virtual void visit_global(); + virtual void visit_host(PFS_host *pfs); + virtual void visit_account(PFS_account *pfs); + virtual void visit_user(PFS_user *pfs); + virtual void visit_thread(PFS_thread *pfs); + + /** EVENT_NAME instrument index. */ + uint m_index; + /** Statement statistic collected. */ + PFS_transaction_stat m_stat; +}; + +/** Disabled pending code review */ +#if 0 +/** + A concrete connection visitor that aggregates + transaction statistics for all events. +*/ +class PFS_connection_all_transaction_visitor : public PFS_connection_visitor +{ +public: + /** Constructor. */ + PFS_connection_all_transaction_visitor(); + virtual ~PFS_connection_all_transaction_visitor(); + virtual void visit_global(); + virtual void visit_host(PFS_host *pfs); + virtual void visit_account(PFS_account *pfs); + virtual void visit_user(PFS_user *pfs); + virtual void visit_thread(PFS_thread *pfs); + + /** Statement statistic collected. */ + PFS_transaction_stat m_stat; + +private: + void visit_connection_slice(PFS_connection_slice *pfs); +}; +#endif + +/** + A concrete connection visitor that aggregates connection statistics. */ class PFS_connection_stat_visitor : public PFS_connection_visitor @@ -409,6 +478,49 @@ public: }; /** + A concrete connection visitor that aggregates + memory statistics for a given event_name. +*/ +class PFS_connection_memory_visitor : public PFS_connection_visitor +{ +public: + /** Constructor. */ + PFS_connection_memory_visitor(PFS_memory_class *klass); + virtual ~PFS_connection_memory_visitor(); + virtual void visit_global(); + virtual void visit_host(PFS_host *pfs); + virtual void visit_account(PFS_account *pfs); + virtual void visit_user(PFS_user *pfs); + virtual void visit_thread(PFS_thread *pfs); + + /** EVENT_NAME instrument index. */ + uint m_index; + /** Statement statistic collected. */ + PFS_memory_stat m_stat; +}; + +/** + A concrete connection visitor that aggregates + status variables. +*/ +class PFS_connection_status_visitor : public PFS_connection_visitor +{ +public: + /** Constructor. */ + PFS_connection_status_visitor(STATUS_VAR *status_vars); + virtual ~PFS_connection_status_visitor(); + virtual void visit_global(); + virtual void visit_host(PFS_host *pfs); + virtual void visit_account(PFS_account *pfs); + virtual void visit_user(PFS_user *pfs); + virtual void visit_thread(PFS_thread *pfs); + virtual void visit_THD(THD *thd); + +private: + STATUS_VAR *m_status_vars; +}; + +/** A concrete instance visitor that aggregates wait statistics. */ diff --git a/storage/perfschema/table_accounts.cc b/storage/perfschema/table_accounts.cc index 92a5d264a44..32da94039e1 100644 --- a/storage/perfschema/table_accounts.cc +++ b/storage/perfschema/table_accounts.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,12 +14,15 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_accounts.h" #include "pfs_instr_class.h" #include "pfs_instr.h" #include "pfs_account.h" #include "pfs_visitor.h" +#include "pfs_memory.h" +#include "pfs_status.h" +#include "field.h" THR_LOCK table_accounts::m_table_lock; @@ -27,7 +30,7 @@ static const TABLE_FIELD_TYPE field_types[]= { { { C_STRING_WITH_LEN("USER") }, - { C_STRING_WITH_LEN("char(16)") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, { NULL, 0} }, { @@ -56,15 +59,15 @@ table_accounts::m_share= { { C_STRING_WITH_LEN("accounts") }, &pfs_truncatable_acl, - &table_accounts::create, + table_accounts::create, NULL, /* write_row */ table_accounts::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + cursor_by_account::get_row_count, sizeof(PFS_simple_index), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_accounts::create() @@ -81,6 +84,12 @@ table_accounts::delete_all_rows(void) reset_events_stages_by_account(); reset_events_statements_by_thread(); reset_events_statements_by_account(); + reset_events_transactions_by_thread(); + reset_events_transactions_by_account(); + reset_memory_by_thread(); + reset_memory_by_account(); + reset_status_by_thread(); + reset_status_by_account(); purge_all_account(); return 0; } @@ -92,7 +101,7 @@ table_accounts::table_accounts() void table_accounts::make_row(PFS_account *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; pfs->m_lock.begin_optimistic_lock(&lock); @@ -101,7 +110,10 @@ void table_accounts::make_row(PFS_account *pfs) return; PFS_connection_stat_visitor visitor; - PFS_connection_iterator::visit_account(pfs, true, & visitor); + PFS_connection_iterator::visit_account(pfs, + true, /* threads */ + false, /* THDs */ + & visitor); if (! pfs->m_lock.end_optimistic_lock(& lock)) return; diff --git a/storage/perfschema/table_accounts.h b/storage/perfschema/table_accounts.h index 232cb9d9b36..b8910feba5c 100644 --- a/storage/perfschema/table_accounts.h +++ b/storage/perfschema/table_accounts.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/storage/perfschema/table_all_instr.cc b/storage/perfschema/table_all_instr.cc index ae8988d3a93..f425c337f48 100644 --- a/storage/perfschema/table_all_instr.cc +++ b/storage/perfschema/table_all_instr.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,9 +19,20 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_all_instr.h" #include "pfs_global.h" +#include "pfs_buffer_container.h" + +ha_rows +table_all_instr::get_row_count(void) +{ + return global_mutex_container.get_row_count() + + global_rwlock_container.get_row_count() + + global_cond_container.get_row_count() + + global_file_container.get_row_count() + + global_socket_container.get_row_count() ; +} table_all_instr::table_all_instr(const PFS_engine_table_share *share) : PFS_engine_table(share, &m_pos), @@ -48,10 +59,10 @@ int table_all_instr::rnd_next(void) { switch (m_pos.m_index_1) { case pos_all_instr::VIEW_MUTEX: - for ( ; m_pos.m_index_2 < mutex_max; m_pos.m_index_2++) { - mutex= &mutex_array[m_pos.m_index_2]; - if (mutex->m_lock.is_populated()) + PFS_mutex_iterator it= global_mutex_container.iterate(m_pos.m_index_2); + mutex= it.scan_next(& m_pos.m_index_2); + if (mutex != NULL) { make_mutex_row(mutex); m_next_pos.set_after(&m_pos); @@ -60,10 +71,10 @@ int table_all_instr::rnd_next(void) } break; case pos_all_instr::VIEW_RWLOCK: - for ( ; m_pos.m_index_2 < rwlock_max; m_pos.m_index_2++) { - rwlock= &rwlock_array[m_pos.m_index_2]; - if (rwlock->m_lock.is_populated()) + PFS_rwlock_iterator it= global_rwlock_container.iterate(m_pos.m_index_2); + rwlock= it.scan_next(& m_pos.m_index_2); + if (rwlock != NULL) { make_rwlock_row(rwlock); m_next_pos.set_after(&m_pos); @@ -72,10 +83,10 @@ int table_all_instr::rnd_next(void) } break; case pos_all_instr::VIEW_COND: - for ( ; m_pos.m_index_2 < cond_max; m_pos.m_index_2++) { - cond= &cond_array[m_pos.m_index_2]; - if (cond->m_lock.is_populated()) + PFS_cond_iterator it= global_cond_container.iterate(m_pos.m_index_2); + cond= it.scan_next(& m_pos.m_index_2); + if (cond != NULL) { make_cond_row(cond); m_next_pos.set_after(&m_pos); @@ -84,10 +95,10 @@ int table_all_instr::rnd_next(void) } break; case pos_all_instr::VIEW_FILE: - for ( ; m_pos.m_index_2 < file_max; m_pos.m_index_2++) { - file= &file_array[m_pos.m_index_2]; - if (file->m_lock.is_populated()) + PFS_file_iterator it= global_file_container.iterate(m_pos.m_index_2); + file= it.scan_next(& m_pos.m_index_2); + if (file != NULL) { make_file_row(file); m_next_pos.set_after(&m_pos); @@ -96,10 +107,10 @@ int table_all_instr::rnd_next(void) } break; case pos_all_instr::VIEW_SOCKET: - for ( ; m_pos.m_index_2 < socket_max; m_pos.m_index_2++) { - socket= &socket_array[m_pos.m_index_2]; - if (socket->m_lock.is_populated()) + PFS_socket_iterator it= global_socket_container.iterate(m_pos.m_index_2); + socket= it.scan_next(& m_pos.m_index_2); + if (socket != NULL) { make_socket_row(socket); m_next_pos.set_after(&m_pos); @@ -125,45 +136,40 @@ int table_all_instr::rnd_pos(const void *pos) switch (m_pos.m_index_1) { case pos_all_instr::VIEW_MUTEX: - DBUG_ASSERT(m_pos.m_index_2 < mutex_max); - mutex= &mutex_array[m_pos.m_index_2]; - if (mutex->m_lock.is_populated()) + mutex= global_mutex_container.get(m_pos.m_index_2); + if (mutex != NULL) { make_mutex_row(mutex); return 0; } break; case pos_all_instr::VIEW_RWLOCK: - DBUG_ASSERT(m_pos.m_index_2 < rwlock_max); - rwlock= &rwlock_array[m_pos.m_index_2]; - if (rwlock->m_lock.is_populated()) + rwlock= global_rwlock_container.get(m_pos.m_index_2); + if (rwlock != NULL) { make_rwlock_row(rwlock); return 0; } break; case pos_all_instr::VIEW_COND: - DBUG_ASSERT(m_pos.m_index_2 < cond_max); - cond= &cond_array[m_pos.m_index_2]; - if (cond->m_lock.is_populated()) + cond= global_cond_container.get(m_pos.m_index_2); + if (cond != NULL) { make_cond_row(cond); return 0; } break; case pos_all_instr::VIEW_FILE: - DBUG_ASSERT(m_pos.m_index_2 < file_max); - file= &file_array[m_pos.m_index_2]; - if (file->m_lock.is_populated()) + file= global_file_container.get(m_pos.m_index_2); + if (file != NULL) { make_file_row(file); return 0; } break; case pos_all_instr::VIEW_SOCKET: - DBUG_ASSERT(m_pos.m_index_2 < socket_max); - socket= &socket_array[m_pos.m_index_2]; - if (socket->m_lock.is_populated()) + socket= global_socket_container.get(m_pos.m_index_2); + if (socket != NULL) { make_socket_row(socket); return 0; diff --git a/storage/perfschema/table_all_instr.h b/storage/perfschema/table_all_instr.h index f78f8cee3ba..762b85d167c 100644 --- a/storage/perfschema/table_all_instr.h +++ b/storage/perfschema/table_all_instr.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -67,6 +67,8 @@ struct pos_all_instr : public PFS_double_index, class table_all_instr : public PFS_engine_table { public: + static ha_rows get_row_count(); + virtual int rnd_next(); virtual int rnd_pos(const void *pos); virtual void reset_position(void); diff --git a/storage/perfschema/table_esgs_by_account_by_event_name.cc b/storage/perfschema/table_esgs_by_account_by_event_name.cc index 87b414c7c40..6241b721477 100644 --- a/storage/perfschema/table_esgs_by_account_by_event_name.cc +++ b/storage/perfschema/table_esgs_by_account_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,13 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_esgs_by_account_by_event_name.h" #include "pfs_global.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_esgs_by_account_by_event_name::m_table_lock; @@ -33,7 +35,7 @@ static const TABLE_FIELD_TYPE field_types[]= { { { C_STRING_WITH_LEN("USER") }, - { C_STRING_WITH_LEN("char(16)") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, { NULL, 0} }, { @@ -85,12 +87,12 @@ table_esgs_by_account_by_event_name::m_share= table_esgs_by_account_by_event_name::create, NULL, /* write_row */ table_esgs_by_account_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_esgs_by_account_by_event_name::get_row_count, sizeof(pos_esgs_by_account_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -107,6 +109,12 @@ table_esgs_by_account_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_esgs_by_account_by_event_name::get_row_count(void) +{ + return global_account_container.get_row_count() * stage_class_max; +} + table_esgs_by_account_by_event_name::table_esgs_by_account_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -128,13 +136,14 @@ int table_esgs_by_account_by_event_name::rnd_next(void) { PFS_account *account; PFS_stage_class *stage_class; + bool has_more_account= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_account(); + has_more_account; m_pos.next_account()) { - account= &account_array[m_pos.m_index_1]; - if (account->m_lock.is_populated()) + account= global_account_container.get(m_pos.m_index_1, & has_more_account); + if (account != NULL) { stage_class= find_stage_class(m_pos.m_index_2); if (stage_class) @@ -156,17 +165,16 @@ table_esgs_by_account_by_event_name::rnd_pos(const void *pos) PFS_stage_class *stage_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < account_max); - account= &account_array[m_pos.m_index_1]; - if (! account->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - - stage_class= find_stage_class(m_pos.m_index_2); - if (stage_class) + account= global_account_container.get(m_pos.m_index_1); + if (account != NULL) { - make_row(account, stage_class); - return 0; + stage_class= find_stage_class(m_pos.m_index_2); + if (stage_class) + { + make_row(account, stage_class); + return 0; + } } return HA_ERR_RECORD_DELETED; @@ -175,7 +183,7 @@ table_esgs_by_account_by_event_name::rnd_pos(const void *pos) void table_esgs_by_account_by_event_name ::make_row(PFS_account *account, PFS_stage_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; account->m_lock.begin_optimistic_lock(&lock); @@ -186,7 +194,10 @@ void table_esgs_by_account_by_event_name m_row.m_event_name.make_row(klass); PFS_connection_stage_visitor visitor(klass); - PFS_connection_iterator::visit_account(account, true, & visitor); + PFS_connection_iterator::visit_account(account, + true, /* threads */ + false, /* THDs */ + & visitor); if (! account->m_lock.end_optimistic_lock(&lock)) return; diff --git a/storage/perfschema/table_esgs_by_account_by_event_name.h b/storage/perfschema/table_esgs_by_account_by_event_name.h index 2cd51783db1..4335d1a5ddb 100644 --- a/storage/perfschema/table_esgs_by_account_by_event_name.h +++ b/storage/perfschema/table_esgs_by_account_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ struct row_esgs_by_account_by_event_name /** Position of a cursor on PERFORMANCE_SCHEMA.EVENTS_STAGES_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. - Index 1 on user@host (0 based) + Index 1 on account (0 based) Index 2 on stage class (1 based) */ struct pos_esgs_by_account_by_event_name @@ -66,9 +66,6 @@ struct pos_esgs_by_account_by_event_name m_index_2= 1; } - inline bool has_more_account(void) - { return (m_index_1 < account_max); } - inline void next_account(void) { m_index_1++; @@ -84,6 +81,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_esgs_by_host_by_event_name.cc b/storage/perfschema/table_esgs_by_host_by_event_name.cc index 4087b22f98e..322764ba159 100644 --- a/storage/perfschema/table_esgs_by_host_by_event_name.cc +++ b/storage/perfschema/table_esgs_by_host_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" @@ -27,6 +27,8 @@ #include "pfs_global.h" #include "pfs_account.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_esgs_by_host_by_event_name::m_table_lock; @@ -81,12 +83,12 @@ table_esgs_by_host_by_event_name::m_share= table_esgs_by_host_by_event_name::create, NULL, /* write_row */ table_esgs_by_host_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_esgs_by_host_by_event_name::get_row_count, sizeof(pos_esgs_by_host_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -104,6 +106,12 @@ table_esgs_by_host_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_esgs_by_host_by_event_name::get_row_count(void) +{ + return global_host_container.get_row_count() * stage_class_max; +} + table_esgs_by_host_by_event_name::table_esgs_by_host_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -125,13 +133,14 @@ int table_esgs_by_host_by_event_name::rnd_next(void) { PFS_host *host; PFS_stage_class *stage_class; + bool has_more_host= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_host(); + has_more_host; m_pos.next_host()) { - host= &host_array[m_pos.m_index_1]; - if (host->m_lock.is_populated()) + host= global_host_container.get(m_pos.m_index_1, & has_more_host); + if (host != NULL) { stage_class= find_stage_class(m_pos.m_index_2); if (stage_class) @@ -153,17 +162,16 @@ table_esgs_by_host_by_event_name::rnd_pos(const void *pos) PFS_stage_class *stage_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < host_max); - host= &host_array[m_pos.m_index_1]; - if (! host->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - - stage_class= find_stage_class(m_pos.m_index_2); - if (stage_class) + host= global_host_container.get(m_pos.m_index_1); + if (host != NULL) { - make_row(host, stage_class); - return 0; + stage_class= find_stage_class(m_pos.m_index_2); + if (stage_class) + { + make_row(host, stage_class); + return 0; + } } return HA_ERR_RECORD_DELETED; @@ -172,7 +180,7 @@ table_esgs_by_host_by_event_name::rnd_pos(const void *pos) void table_esgs_by_host_by_event_name ::make_row(PFS_host *host, PFS_stage_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; host->m_lock.begin_optimistic_lock(&lock); @@ -183,7 +191,11 @@ void table_esgs_by_host_by_event_name m_row.m_event_name.make_row(klass); PFS_connection_stage_visitor visitor(klass); - PFS_connection_iterator::visit_host(host, true, true, & visitor); + PFS_connection_iterator::visit_host(host, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); if (! host->m_lock.end_optimistic_lock(&lock)) return; diff --git a/storage/perfschema/table_esgs_by_host_by_event_name.h b/storage/perfschema/table_esgs_by_host_by_event_name.h index a8404e11e93..b4f0449f930 100644 --- a/storage/perfschema/table_esgs_by_host_by_event_name.h +++ b/storage/perfschema/table_esgs_by_host_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -66,9 +66,6 @@ struct pos_esgs_by_host_by_event_name m_index_2= 1; } - inline bool has_more_host(void) - { return (m_index_1 < host_max); } - inline void next_host(void) { m_index_1++; @@ -84,6 +81,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_esgs_by_thread_by_event_name.cc b/storage/perfschema/table_esgs_by_thread_by_event_name.cc index eeef6c3fbb2..93f9f0d289f 100644 --- a/storage/perfschema/table_esgs_by_thread_by_event_name.cc +++ b/storage/perfschema/table_esgs_by_thread_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,13 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_esgs_by_thread_by_event_name.h" #include "pfs_global.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_esgs_by_thread_by_event_name::m_table_lock; @@ -80,12 +82,12 @@ table_esgs_by_thread_by_event_name::m_share= table_esgs_by_thread_by_event_name::create, NULL, /* write_row */ table_esgs_by_thread_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_esgs_by_thread_by_event_name::get_row_count, sizeof(pos_esgs_by_thread_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -101,6 +103,12 @@ table_esgs_by_thread_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_esgs_by_thread_by_event_name::get_row_count(void) +{ + return global_thread_container.get_row_count() * stage_class_max; +} + table_esgs_by_thread_by_event_name::table_esgs_by_thread_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -122,18 +130,14 @@ int table_esgs_by_thread_by_event_name::rnd_next(void) { PFS_thread *thread; PFS_stage_class *stage_class; + bool has_more_thread= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_thread(); + has_more_thread; m_pos.next_thread()) { - thread= &thread_array[m_pos.m_index_1]; - - /* - Important note: the thread scan is the outer loop (index 1), - to minimize the number of calls to atomic operations. - */ - if (thread->m_lock.is_populated()) + thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (thread != NULL) { stage_class= find_stage_class(m_pos.m_index_2); if (stage_class) @@ -155,17 +159,16 @@ table_esgs_by_thread_by_event_name::rnd_pos(const void *pos) PFS_stage_class *stage_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < thread_max); - thread= &thread_array[m_pos.m_index_1]; - if (! thread->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - - stage_class= find_stage_class(m_pos.m_index_2); - if (stage_class) + thread= global_thread_container.get(m_pos.m_index_1); + if (thread != NULL) { - make_row(thread, stage_class); - return 0; + stage_class= find_stage_class(m_pos.m_index_2); + if (stage_class) + { + make_row(thread, stage_class); + return 0; + } } return HA_ERR_RECORD_DELETED; @@ -174,7 +177,7 @@ table_esgs_by_thread_by_event_name::rnd_pos(const void *pos) void table_esgs_by_thread_by_event_name ::make_row(PFS_thread *thread, PFS_stage_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; /* Protect this reader against a thread termination */ diff --git a/storage/perfschema/table_esgs_by_thread_by_event_name.h b/storage/perfschema/table_esgs_by_thread_by_event_name.h index 5295a9eacdf..2adf4d70363 100644 --- a/storage/perfschema/table_esgs_by_thread_by_event_name.h +++ b/storage/perfschema/table_esgs_by_thread_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -65,9 +65,6 @@ struct pos_esgs_by_thread_by_event_name m_index_2= 1; } - inline bool has_more_thread(void) - { return (m_index_1 < thread_max); } - inline void next_thread(void) { m_index_1++; @@ -88,6 +85,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_esgs_by_user_by_event_name.cc b/storage/perfschema/table_esgs_by_user_by_event_name.cc index cbaec6e16e9..393dd5f1247 100644 --- a/storage/perfschema/table_esgs_by_user_by_event_name.cc +++ b/storage/perfschema/table_esgs_by_user_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,14 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_esgs_by_user_by_event_name.h" #include "pfs_global.h" -#include "pfs_account.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_esgs_by_user_by_event_name::m_table_lock; @@ -34,7 +35,7 @@ static const TABLE_FIELD_TYPE field_types[]= { { { C_STRING_WITH_LEN("USER") }, - { C_STRING_WITH_LEN("char(16)") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, { NULL, 0} }, { @@ -81,12 +82,12 @@ table_esgs_by_user_by_event_name::m_share= table_esgs_by_user_by_event_name::create, NULL, /* write_row */ table_esgs_by_user_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_esgs_by_user_by_event_name::get_row_count, sizeof(pos_esgs_by_user_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -104,6 +105,12 @@ table_esgs_by_user_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_esgs_by_user_by_event_name::get_row_count(void) +{ + return global_user_container.get_row_count() * stage_class_max; +} + table_esgs_by_user_by_event_name::table_esgs_by_user_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -125,13 +132,14 @@ int table_esgs_by_user_by_event_name::rnd_next(void) { PFS_user *user; PFS_stage_class *stage_class; + bool has_more_user= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_user(); + has_more_user; m_pos.next_user()) { - user= &user_array[m_pos.m_index_1]; - if (user->m_lock.is_populated()) + user= global_user_container.get(m_pos.m_index_1, & has_more_user); + if (user != NULL) { stage_class= find_stage_class(m_pos.m_index_2); if (stage_class) @@ -153,17 +161,16 @@ table_esgs_by_user_by_event_name::rnd_pos(const void *pos) PFS_stage_class *stage_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < user_max); - user= &user_array[m_pos.m_index_1]; - if (! user->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - - stage_class= find_stage_class(m_pos.m_index_2); - if (stage_class) + user= global_user_container.get(m_pos.m_index_1); + if (user != NULL) { - make_row(user, stage_class); - return 0; + stage_class= find_stage_class(m_pos.m_index_2); + if (stage_class) + { + make_row(user, stage_class); + return 0; + } } return HA_ERR_RECORD_DELETED; @@ -172,7 +179,7 @@ table_esgs_by_user_by_event_name::rnd_pos(const void *pos) void table_esgs_by_user_by_event_name ::make_row(PFS_user *user, PFS_stage_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; user->m_lock.begin_optimistic_lock(&lock); @@ -183,7 +190,11 @@ void table_esgs_by_user_by_event_name m_row.m_event_name.make_row(klass); PFS_connection_stage_visitor visitor(klass); - PFS_connection_iterator::visit_user(user, true, true, & visitor); + PFS_connection_iterator::visit_user(user, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); if (! user->m_lock.end_optimistic_lock(&lock)) return; diff --git a/storage/perfschema/table_esgs_by_user_by_event_name.h b/storage/perfschema/table_esgs_by_user_by_event_name.h index 9fc66033caa..de726bd96fd 100644 --- a/storage/perfschema/table_esgs_by_user_by_event_name.h +++ b/storage/perfschema/table_esgs_by_user_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -66,9 +66,6 @@ struct pos_esgs_by_user_by_event_name m_index_2= 1; } - inline bool has_more_user(void) - { return (m_index_1 < user_max); } - inline void next_user(void) { m_index_1++; @@ -89,6 +86,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_esgs_global_by_event_name.cc b/storage/perfschema/table_esgs_global_by_event_name.cc index 276ac8d7704..6f9097c55f4 100644 --- a/storage/perfschema/table_esgs_global_by_event_name.cc +++ b/storage/perfschema/table_esgs_global_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" @@ -28,6 +28,7 @@ #include "pfs_instr.h" #include "pfs_timer.h" #include "pfs_visitor.h" +#include "field.h" THR_LOCK table_esgs_global_by_event_name::m_table_lock; @@ -77,12 +78,12 @@ table_esgs_global_by_event_name::m_share= table_esgs_global_by_event_name::create, NULL, /* write_row */ table_esgs_global_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_esgs_global_by_event_name::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -102,6 +103,12 @@ table_esgs_global_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_esgs_global_by_event_name::get_row_count(void) +{ + return stage_class_max; +} + table_esgs_global_by_event_name::table_esgs_global_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(1), m_next_pos(1) @@ -166,9 +173,12 @@ void table_esgs_global_by_event_name m_row.m_event_name.make_row(klass); PFS_connection_stage_visitor visitor(klass); - PFS_connection_iterator::visit_global(true, /* hosts */ + PFS_connection_iterator::visit_global(true, /* hosts */ false, /* users */ - true, true, & visitor); + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); m_row.m_stat.set(m_normalizer, & visitor.m_stat); m_row_exists= true; diff --git a/storage/perfschema/table_esgs_global_by_event_name.h b/storage/perfschema/table_esgs_global_by_event_name.h index a9c1456e9b1..04724107287 100644 --- a/storage/perfschema/table_esgs_global_by_event_name.h +++ b/storage/perfschema/table_esgs_global_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,6 +52,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_esms_by_account_by_event_name.cc b/storage/perfschema/table_esms_by_account_by_event_name.cc index 941429ad307..ad1915d1c95 100644 --- a/storage/perfschema/table_esms_by_account_by_event_name.cc +++ b/storage/perfschema/table_esms_by_account_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,13 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_esms_by_account_by_event_name.h" #include "pfs_global.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_esms_by_account_by_event_name::m_table_lock; @@ -33,7 +35,7 @@ static const TABLE_FIELD_TYPE field_types[]= { { { C_STRING_WITH_LEN("USER") }, - { C_STRING_WITH_LEN("char(16)") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, { NULL, 0} }, { @@ -180,12 +182,12 @@ table_esms_by_account_by_event_name::m_share= table_esms_by_account_by_event_name::create, NULL, /* write_row */ table_esms_by_account_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_esms_by_account_by_event_name::get_row_count, sizeof(pos_esms_by_account_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -202,6 +204,12 @@ table_esms_by_account_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_esms_by_account_by_event_name::get_row_count(void) +{ + return global_account_container.get_row_count() * statement_class_max; +} + table_esms_by_account_by_event_name::table_esms_by_account_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -223,13 +231,14 @@ int table_esms_by_account_by_event_name::rnd_next(void) { PFS_account *account; PFS_statement_class *statement_class; + bool has_more_account= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_account(); + has_more_account; m_pos.next_account()) { - account= &account_array[m_pos.m_index_1]; - if (account->m_lock.is_populated()) + account= global_account_container.get(m_pos.m_index_1, & has_more_account); + if (account != NULL) { statement_class= find_statement_class(m_pos.m_index_2); if (statement_class) @@ -251,17 +260,16 @@ table_esms_by_account_by_event_name::rnd_pos(const void *pos) PFS_statement_class *statement_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < account_max); - account= &account_array[m_pos.m_index_1]; - if (! account->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - - statement_class= find_statement_class(m_pos.m_index_2); - if (statement_class) + account= global_account_container.get(m_pos.m_index_1); + if (account != NULL) { - make_row(account, statement_class); - return 0; + statement_class= find_statement_class(m_pos.m_index_2); + if (statement_class) + { + make_row(account, statement_class); + return 0; + } } return HA_ERR_RECORD_DELETED; @@ -270,7 +278,7 @@ table_esms_by_account_by_event_name::rnd_pos(const void *pos) void table_esms_by_account_by_event_name ::make_row(PFS_account *account, PFS_statement_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; if (klass->is_mutable()) @@ -284,7 +292,10 @@ void table_esms_by_account_by_event_name m_row.m_event_name.make_row(klass); PFS_connection_statement_visitor visitor(klass); - PFS_connection_iterator::visit_account(account, true, & visitor); + PFS_connection_iterator::visit_account(account, + true, /* threads */ + false, /* THDs */ + & visitor); if (! account->m_lock.end_optimistic_lock(&lock)) return; diff --git a/storage/perfschema/table_esms_by_account_by_event_name.h b/storage/perfschema/table_esms_by_account_by_event_name.h index 23168d03cd3..5c9d1b19a7e 100644 --- a/storage/perfschema/table_esms_by_account_by_event_name.h +++ b/storage/perfschema/table_esms_by_account_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ struct row_esms_by_account_by_event_name /** Position of a cursor on PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. - Index 1 on user@host (0 based) + Index 1 on account (0 based) Index 2 on statement class (1 based) */ struct pos_esms_by_account_by_event_name @@ -66,9 +66,6 @@ struct pos_esms_by_account_by_event_name m_index_2= 1; } - inline bool has_more_account(void) - { return (m_index_1 < account_max); } - inline void next_account(void) { m_index_1++; @@ -84,6 +81,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_esms_by_digest.cc b/storage/perfschema/table_esms_by_digest.cc index 99e24316cbb..6708294521e 100644 --- a/storage/perfschema/table_esms_by_digest.cc +++ b/storage/perfschema/table_esms_by_digest.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" @@ -30,6 +30,7 @@ #include "pfs_visitor.h" #include "table_esms_by_digest.h" #include "pfs_digest.h" +#include "field.h" THR_LOCK table_esms_by_digest::m_table_lock; @@ -194,12 +195,12 @@ table_esms_by_digest::m_share= table_esms_by_digest::create, NULL, /* write_row */ table_esms_by_digest::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_esms_by_digest::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -215,6 +216,12 @@ table_esms_by_digest::delete_all_rows(void) return 0; } +ha_rows +table_esms_by_digest::get_row_count(void) +{ + return digest_max; +} + table_esms_by_digest::table_esms_by_digest() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(0), m_next_pos(0) @@ -295,7 +302,7 @@ int table_esms_by_digest if (unlikely(! m_row_exists)) return HA_ERR_RECORD_DELETED; - /* + /* Set the null bits. It indicates how many fields could be null in the table. */ diff --git a/storage/perfschema/table_esms_by_digest.h b/storage/perfschema/table_esms_by_digest.h index 5df8ec69633..6130deb8117 100644 --- a/storage/perfschema/table_esms_by_digest.h +++ b/storage/perfschema/table_esms_by_digest.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -55,6 +55,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_esms_by_host_by_event_name.cc b/storage/perfschema/table_esms_by_host_by_event_name.cc index d48808fd5c7..18fc0ff1fca 100644 --- a/storage/perfschema/table_esms_by_host_by_event_name.cc +++ b/storage/perfschema/table_esms_by_host_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" @@ -27,6 +27,8 @@ #include "pfs_global.h" #include "pfs_account.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_esms_by_host_by_event_name::m_table_lock; @@ -176,12 +178,12 @@ table_esms_by_host_by_event_name::m_share= table_esms_by_host_by_event_name::create, NULL, /* write_row */ table_esms_by_host_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_esms_by_host_by_event_name::get_row_count, sizeof(pos_esms_by_host_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -199,6 +201,12 @@ table_esms_by_host_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_esms_by_host_by_event_name::get_row_count(void) +{ + return global_host_container.get_row_count() * statement_class_max; +} + table_esms_by_host_by_event_name::table_esms_by_host_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -220,13 +228,14 @@ int table_esms_by_host_by_event_name::rnd_next(void) { PFS_host *host; PFS_statement_class *statement_class; + bool has_more_host= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_host(); + has_more_host; m_pos.next_host()) { - host= &host_array[m_pos.m_index_1]; - if (host->m_lock.is_populated()) + host= global_host_container.get(m_pos.m_index_1, & has_more_host); + if (host != NULL) { statement_class= find_statement_class(m_pos.m_index_2); if (statement_class) @@ -248,17 +257,16 @@ table_esms_by_host_by_event_name::rnd_pos(const void *pos) PFS_statement_class *statement_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < host_max); - host= &host_array[m_pos.m_index_1]; - if (! host->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - - statement_class= find_statement_class(m_pos.m_index_2); - if (statement_class) + host= global_host_container.get(m_pos.m_index_1); + if (host != NULL) { - make_row(host, statement_class); - return 0; + statement_class= find_statement_class(m_pos.m_index_2); + if (statement_class) + { + make_row(host, statement_class); + return 0; + } } return HA_ERR_RECORD_DELETED; @@ -267,7 +275,7 @@ table_esms_by_host_by_event_name::rnd_pos(const void *pos) void table_esms_by_host_by_event_name ::make_row(PFS_host *host, PFS_statement_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; if (klass->is_mutable()) @@ -281,7 +289,11 @@ void table_esms_by_host_by_event_name m_row.m_event_name.make_row(klass); PFS_connection_statement_visitor visitor(klass); - PFS_connection_iterator::visit_host(host, true, true, & visitor); + PFS_connection_iterator::visit_host(host, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); if (! host->m_lock.end_optimistic_lock(&lock)) return; diff --git a/storage/perfschema/table_esms_by_host_by_event_name.h b/storage/perfschema/table_esms_by_host_by_event_name.h index c28f17a4473..090c629cf7f 100644 --- a/storage/perfschema/table_esms_by_host_by_event_name.h +++ b/storage/perfschema/table_esms_by_host_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -66,9 +66,6 @@ struct pos_esms_by_host_by_event_name m_index_2= 1; } - inline bool has_more_host(void) - { return (m_index_1 < host_max); } - inline void next_host(void) { m_index_1++; @@ -84,6 +81,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_esms_by_program.cc b/storage/perfschema/table_esms_by_program.cc new file mode 100644 index 00000000000..db727ca0ffe --- /dev/null +++ b/storage/perfschema/table_esms_by_program.cc @@ -0,0 +1,375 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_esms_by_program.cc + Table EVENTS_STATEMENTS_SUMMARY_BY_PROGRAM (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "pfs_global.h" +#include "pfs_instr.h" +#include "pfs_timer.h" +#include "pfs_visitor.h" +#include "pfs_program.h" +#include "table_esms_by_program.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_esms_by_program::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("OBJECT_TYPE") }, + { C_STRING_WITH_LEN("enum(\'EVENT\',\'FUNCTION\',\'PROCEDURE\',\'TABLE\',\'TRIGGER\')") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OBJECT_SCHEMA") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OBJECT_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_STAR") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_STATEMENTS") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_STATEMENTS_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_STATEMENTS_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_STATEMENTS_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_STATEMENTS_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_LOCK_TIME") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_ERRORS") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_WARNINGS") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_ROWS_AFFECTED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_ROWS_SENT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_ROWS_EXAMINED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_CREATED_TMP_DISK_TABLES") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_CREATED_TMP_TABLES") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SELECT_FULL_JOIN") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SELECT_FULL_RANGE_JOIN") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SELECT_RANGE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SELECT_RANGE_CHECK") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SELECT_SCAN") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SORT_MERGE_PASSES") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SORT_RANGE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SORT_ROWS") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SORT_SCAN") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NO_INDEX_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NO_GOOD_INDEX_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, +}; + +TABLE_FIELD_DEF +table_esms_by_program::m_field_def= +{ 32, field_types }; + +PFS_engine_table_share +table_esms_by_program::m_share= +{ + { C_STRING_WITH_LEN("events_statements_summary_by_program") }, + &pfs_truncatable_acl, + table_esms_by_program::create, + NULL, /* write_row */ + table_esms_by_program::delete_all_rows, + table_esms_by_program::get_row_count, + sizeof(PFS_simple_index), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_esms_by_program::create(void) +{ + return new table_esms_by_program(); +} + +int +table_esms_by_program::delete_all_rows(void) +{ + reset_esms_by_program(); + return 0; +} + +ha_rows +table_esms_by_program::get_row_count(void) +{ + return global_program_container.get_row_count(); +} + +table_esms_by_program::table_esms_by_program() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +void table_esms_by_program::reset_position(void) +{ + m_pos= 0; + m_next_pos= 0; +} + +int table_esms_by_program::rnd_next(void) +{ + PFS_program* pfs; + + m_pos.set_at(&m_next_pos); + PFS_program_iterator it= global_program_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; + } + + return HA_ERR_END_OF_FILE; +} + +int +table_esms_by_program::rnd_pos(const void *pos) +{ + PFS_program* pfs; + + set_position(pos); + + pfs= global_program_container.get(m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + return 0; + } + + return HA_ERR_RECORD_DELETED; +} + + +void table_esms_by_program::make_row(PFS_program* program) +{ + pfs_optimistic_state lock; + m_row_exists= false; + + program->m_lock.begin_optimistic_lock(&lock); + + m_row.m_object_type= program->m_type; + + m_row.m_object_name_length= program->m_object_name_length; + if(m_row.m_object_name_length > 0) + memcpy(m_row.m_object_name, program->m_object_name, + m_row.m_object_name_length); + + m_row.m_schema_name_length= program->m_schema_name_length; + if(m_row.m_schema_name_length > 0) + memcpy(m_row.m_schema_name, program->m_schema_name, + m_row.m_schema_name_length); + + time_normalizer *normalizer= time_normalizer::get(statement_timer); + /* Get stored program's over all stats. */ + m_row.m_sp_stat.set(normalizer, &program->m_sp_stat); + /* Get sub statements' stats. */ + m_row.m_stmt_stat.set(normalizer, & program->m_stmt_stat); + + if (! program->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; +} + +int table_esms_by_program +::read_row_values(TABLE *table, unsigned char *buf, Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* + Set the null bits. It indicates how many fields could be null + in the table. + */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* OBJECT_TYPE */ + if(m_row.m_object_type != 0) + set_field_enum(f, m_row.m_object_type); + else + f->set_null(); + break; + case 1: /* OBJECT_SCHEMA */ + if(m_row.m_schema_name_length > 0) + set_field_varchar_utf8(f, m_row.m_schema_name, + m_row.m_schema_name_length); + else + f->set_null(); + break; + case 2: /* OBJECT_NAME */ + if(m_row.m_object_name_length > 0) + set_field_varchar_utf8(f, m_row.m_object_name, + m_row.m_object_name_length); + else + f->set_null(); + break; + case 3: /* COUNT_STAR */ + case 4: /* SUM_TIMER_WAIT */ + case 5: /* MIN_TIMER_WAIT */ + case 6: /* AVG_TIMER_WAIT */ + case 7: /* MAX_TIMER_WAIT */ + m_row.m_sp_stat.set_field(f->field_index - 3, f); + break; + default: /* 8, ... COUNT/SUM/MIN/AVG/MAX */ + m_row.m_stmt_stat.set_field(f->field_index - 8, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_esms_by_program.h b/storage/perfschema/table_esms_by_program.h new file mode 100644 index 00000000000..ab1ee135cab --- /dev/null +++ b/storage/perfschema/table_esms_by_program.h @@ -0,0 +1,106 @@ +/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_ESMS_BY_PROGRAM_H +#define TABLE_ESMS_BY_PROGRAM_H + +/** + @file storage/perfschema/table_esms_by_program.h + Table EVENTS_STATEMENTS_SUMMARY_BY_PROGRAM (declarations). +*/ + +#include "table_helper.h" +#include "pfs_program.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_PROGRAM. +*/ +struct row_esms_by_program +{ + /** Column OBJECT_TYPE. */ + enum_object_type m_object_type; + /** Column OBJECT_SCHEMA. */ + char m_schema_name[COL_OBJECT_SCHEMA_SIZE]; + int m_schema_name_length; + /** Column OBJECT_NAME. */ + char m_object_name[COL_OBJECT_NAME_SIZE]; + int m_object_name_length; + + /** + Columns COUNT_STAR + SUM_TIMER_WAIT + MIN_TIMER_WAIT + AVG_TIMER_WAIT + MAX_TIMER_WAIT + */ + PFS_sp_stat_row m_sp_stat; + + /** Columns COUNT_STATEMENTS,SUM_STATEMENTS_WAIT...SUM_NO_GOOD_INDEX_USED. */ + PFS_statement_stat_row m_stmt_stat; +}; + +/** Table PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_PROGRAM. */ +class table_esms_by_program : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_esms_by_program(); + +public: + ~table_esms_by_program() + {} + +protected: + void make_row(PFS_program*); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_esms_by_program m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_esms_by_thread_by_event_name.cc b/storage/perfschema/table_esms_by_thread_by_event_name.cc index 3f3117d6dc1..d0b2c2beb02 100644 --- a/storage/perfschema/table_esms_by_thread_by_event_name.cc +++ b/storage/perfschema/table_esms_by_thread_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,13 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_esms_by_thread_by_event_name.h" #include "pfs_global.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_esms_by_thread_by_event_name::m_table_lock; @@ -175,12 +177,12 @@ table_esms_by_thread_by_event_name::m_share= table_esms_by_thread_by_event_name::create, NULL, /* write_row */ table_esms_by_thread_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_esms_by_thread_by_event_name::get_row_count, sizeof(pos_esms_by_thread_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -196,6 +198,12 @@ table_esms_by_thread_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_esms_by_thread_by_event_name::get_row_count(void) +{ + return global_thread_container.get_row_count() * statement_class_max; +} + table_esms_by_thread_by_event_name::table_esms_by_thread_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -217,18 +225,14 @@ int table_esms_by_thread_by_event_name::rnd_next(void) { PFS_thread *thread; PFS_statement_class *statement_class; + bool has_more_thread= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_thread(); + has_more_thread; m_pos.next_thread()) { - thread= &thread_array[m_pos.m_index_1]; - - /* - Important note: the thread scan is the outer loop (index 1), - to minimize the number of calls to atomic operations. - */ - if (thread->m_lock.is_populated()) + thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (thread != NULL) { statement_class= find_statement_class(m_pos.m_index_2); if (statement_class) @@ -250,17 +254,16 @@ table_esms_by_thread_by_event_name::rnd_pos(const void *pos) PFS_statement_class *statement_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < thread_max); - thread= &thread_array[m_pos.m_index_1]; - if (! thread->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - - statement_class= find_statement_class(m_pos.m_index_2); - if (statement_class) + thread= global_thread_container.get(m_pos.m_index_1); + if (thread != NULL) { - make_row(thread, statement_class); - return 0; + statement_class= find_statement_class(m_pos.m_index_2); + if (statement_class) + { + make_row(thread, statement_class); + return 0; + } } return HA_ERR_RECORD_DELETED; @@ -269,7 +272,7 @@ table_esms_by_thread_by_event_name::rnd_pos(const void *pos) void table_esms_by_thread_by_event_name ::make_row(PFS_thread *thread, PFS_statement_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; if (klass->is_mutable()) diff --git a/storage/perfschema/table_esms_by_thread_by_event_name.h b/storage/perfschema/table_esms_by_thread_by_event_name.h index 9fb9f7c58dc..a7a01a6b313 100644 --- a/storage/perfschema/table_esms_by_thread_by_event_name.h +++ b/storage/perfschema/table_esms_by_thread_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -65,9 +65,6 @@ struct pos_esms_by_thread_by_event_name m_index_2= 1; } - inline bool has_more_thread(void) - { return (m_index_1 < thread_max); } - inline void next_thread(void) { m_index_1++; @@ -88,6 +85,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_esms_by_user_by_event_name.cc b/storage/perfschema/table_esms_by_user_by_event_name.cc index 1434966204f..0219dc0544f 100644 --- a/storage/perfschema/table_esms_by_user_by_event_name.cc +++ b/storage/perfschema/table_esms_by_user_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,14 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_esms_by_user_by_event_name.h" #include "pfs_global.h" -#include "pfs_account.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_esms_by_user_by_event_name::m_table_lock; @@ -34,7 +35,7 @@ static const TABLE_FIELD_TYPE field_types[]= { { { C_STRING_WITH_LEN("USER") }, - { C_STRING_WITH_LEN("char(16)") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, { NULL, 0} }, { @@ -176,12 +177,12 @@ table_esms_by_user_by_event_name::m_share= table_esms_by_user_by_event_name::create, NULL, /* write_row */ table_esms_by_user_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_esms_by_user_by_event_name::get_row_count, sizeof(pos_esms_by_user_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -199,6 +200,12 @@ table_esms_by_user_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_esms_by_user_by_event_name::get_row_count(void) +{ + return global_user_container.get_row_count() * statement_class_max; +} + table_esms_by_user_by_event_name::table_esms_by_user_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -220,13 +227,14 @@ int table_esms_by_user_by_event_name::rnd_next(void) { PFS_user *user; PFS_statement_class *statement_class; + bool has_more_user= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_user(); + has_more_user; m_pos.next_user()) { - user= &user_array[m_pos.m_index_1]; - if (user->m_lock.is_populated()) + user= global_user_container.get(m_pos.m_index_1, & has_more_user); + if (user != NULL) { statement_class= find_statement_class(m_pos.m_index_2); if (statement_class) @@ -248,17 +256,16 @@ table_esms_by_user_by_event_name::rnd_pos(const void *pos) PFS_statement_class *statement_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < user_max); - user= &user_array[m_pos.m_index_1]; - if (! user->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - - statement_class= find_statement_class(m_pos.m_index_2); - if (statement_class) + user= global_user_container.get(m_pos.m_index_1); + if (user != NULL) { - make_row(user, statement_class); - return 0; + statement_class= find_statement_class(m_pos.m_index_2); + if (statement_class) + { + make_row(user, statement_class); + return 0; + } } return HA_ERR_RECORD_DELETED; @@ -267,7 +274,7 @@ table_esms_by_user_by_event_name::rnd_pos(const void *pos) void table_esms_by_user_by_event_name ::make_row(PFS_user *user, PFS_statement_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; if (klass->is_mutable()) @@ -281,7 +288,11 @@ void table_esms_by_user_by_event_name m_row.m_event_name.make_row(klass); PFS_connection_statement_visitor visitor(klass); - PFS_connection_iterator::visit_user(user, true, true, & visitor); + PFS_connection_iterator::visit_user(user, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); if (! user->m_lock.end_optimistic_lock(&lock)) return; diff --git a/storage/perfschema/table_esms_by_user_by_event_name.h b/storage/perfschema/table_esms_by_user_by_event_name.h index 6dc481d3273..7af1e68d933 100644 --- a/storage/perfschema/table_esms_by_user_by_event_name.h +++ b/storage/perfschema/table_esms_by_user_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -66,9 +66,6 @@ struct pos_esms_by_user_by_event_name m_index_2= 1; } - inline bool has_more_user(void) - { return (m_index_1 < user_max); } - inline void next_user(void) { m_index_1++; @@ -84,6 +81,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_esms_global_by_event_name.cc b/storage/perfschema/table_esms_global_by_event_name.cc index a335c8e6c5d..4bfb80a8258 100644 --- a/storage/perfschema/table_esms_global_by_event_name.cc +++ b/storage/perfschema/table_esms_global_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" @@ -28,6 +28,7 @@ #include "pfs_instr.h" #include "pfs_timer.h" #include "pfs_visitor.h" +#include "field.h" THR_LOCK table_esms_global_by_event_name::m_table_lock; @@ -172,12 +173,12 @@ table_esms_global_by_event_name::m_share= table_esms_global_by_event_name::create, NULL, /* write_row */ table_esms_global_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_esms_global_by_event_name::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -197,6 +198,12 @@ table_esms_global_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_esms_global_by_event_name::get_row_count(void) +{ + return statement_class_max; +} + table_esms_global_by_event_name::table_esms_global_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(1), m_next_pos(1) @@ -266,9 +273,12 @@ void table_esms_global_by_event_name m_row.m_event_name.make_row(klass); PFS_connection_statement_visitor visitor(klass); - PFS_connection_iterator::visit_global(true, /* hosts */ + PFS_connection_iterator::visit_global(true, /* hosts */ false, /* users */ - true, true, & visitor); + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); m_row.m_stat.set(m_normalizer, & visitor.m_stat); m_row_exists= true; diff --git a/storage/perfschema/table_esms_global_by_event_name.h b/storage/perfschema/table_esms_global_by_event_name.h index ed07e2b9062..4dd659c54c5 100644 --- a/storage/perfschema/table_esms_global_by_event_name.h +++ b/storage/perfschema/table_esms_global_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,6 +52,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_ets_by_account_by_event_name.cc b/storage/perfschema/table_ets_by_account_by_event_name.cc new file mode 100644 index 00000000000..338ee8af30f --- /dev/null +++ b/storage/perfschema/table_ets_by_account_by_event_name.cc @@ -0,0 +1,299 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_ets_by_account_by_event_name.cc + Table EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_ets_by_account_by_event_name.h" +#include "pfs_global.h" +#include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_ets_by_account_by_event_name::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("USER") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HOST") }, + { C_STRING_WITH_LEN("char(60)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_STAR") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_ets_by_account_by_event_name::m_field_def= +{ 18, field_types }; + +PFS_engine_table_share +table_ets_by_account_by_event_name::m_share= +{ + { C_STRING_WITH_LEN("events_transactions_summary_by_account_by_event_name") }, + &pfs_truncatable_acl, + table_ets_by_account_by_event_name::create, + NULL, /* write_row */ + table_ets_by_account_by_event_name::delete_all_rows, + table_ets_by_account_by_event_name::get_row_count, + sizeof(pos_ets_by_account_by_event_name), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_ets_by_account_by_event_name::create(void) +{ + return new table_ets_by_account_by_event_name(); +} + +int +table_ets_by_account_by_event_name::delete_all_rows(void) +{ + reset_events_transactions_by_thread(); + reset_events_transactions_by_account(); + return 0; +} + +ha_rows +table_ets_by_account_by_event_name::get_row_count(void) +{ + return global_account_container.get_row_count() * transaction_class_max; +} + +table_ets_by_account_by_event_name::table_ets_by_account_by_event_name() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_ets_by_account_by_event_name::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_ets_by_account_by_event_name::rnd_init(bool scan) +{ + m_normalizer= time_normalizer::get(transaction_timer); + return 0; +} + +int table_ets_by_account_by_event_name::rnd_next(void) +{ + PFS_account *account; + PFS_transaction_class *transaction_class; + bool has_more_account= true; + + for (m_pos.set_at(&m_next_pos); + has_more_account; + m_pos.next_account()) + { + account= global_account_container.get(m_pos.m_index_1, & has_more_account); + if (account != NULL) + { + transaction_class= find_transaction_class(m_pos.m_index_2); + if (transaction_class) + { + make_row(account, transaction_class); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + + return HA_ERR_END_OF_FILE; +} + +int +table_ets_by_account_by_event_name::rnd_pos(const void *pos) +{ + PFS_account *account; + PFS_transaction_class *transaction_class; + + set_position(pos); + + account= global_account_container.get(m_pos.m_index_1); + if (account != NULL) + { + transaction_class= find_transaction_class(m_pos.m_index_2); + if (transaction_class) + { + make_row(account, transaction_class); + return 0; + } + } + + return HA_ERR_RECORD_DELETED; +} + +void table_ets_by_account_by_event_name +::make_row(PFS_account *account, PFS_transaction_class *klass) +{ + pfs_optimistic_state lock; + m_row_exists= false; + + account->m_lock.begin_optimistic_lock(&lock); + + if (m_row.m_account.make_row(account)) + return; + + m_row.m_event_name.make_row(klass); + + PFS_connection_transaction_visitor visitor(klass); + PFS_connection_iterator::visit_account(account, + true, /* threads */ + false, /* THDs */ + &visitor); + + if (! account->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; + m_row.m_stat.set(m_normalizer, &visitor.m_stat); +} + +int table_ets_by_account_by_event_name +::read_row_values(TABLE *table, unsigned char *buf, Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* USER */ + case 1: /* HOST */ + m_row.m_account.set_field(f->field_index, f); + break; + case 2: /* EVENT_NAME */ + m_row.m_event_name.set_field(f); + break; + default: + /** + COUNT_STAR, SUM/MIN/AVG/MAX_TIMER_WAIT, + COUNT_READ_WRITE, SUM/MIN/AVG/MAX_TIMER_READ_WRITE, + COUNT_READ_ONLY, SUM/MIN/AVG/MAX_TIMER_READ_ONLY + */ + m_row.m_stat.set_field(f->field_index-3, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_ets_by_account_by_event_name.h b/storage/perfschema/table_ets_by_account_by_event_name.h new file mode 100644 index 00000000000..b255a519b45 --- /dev/null +++ b/storage/perfschema/table_ets_by_account_by_event_name.h @@ -0,0 +1,127 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_ETS_BY_ACCOUNT_BY_EVENT_NAME_H +#define TABLE_ETS_BY_ACCOUNT_BY_EVENT_NAME_H + +/** + @file storage/perfschema/table_ets_by_account_by_event_name.h + Table EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_account.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. +*/ +struct row_ets_by_account_by_event_name +{ + /** Columns USER, HOST. */ + PFS_account_row m_account; + /** Column EVENT_NAME. */ + PFS_event_name_row m_event_name; + /** + Columns COUNT_STAR, SUM/MIN/AVG/MAX_TIMER_WAIT, + COUNT_READ_WRITE, SUM/MIN/AVG/MAX_TIMER_READ_WRITE, + COUNT_READ_ONLY, SUM/MIN/AVG/MAX_TIMER_READ_ONLY + */ + PFS_transaction_stat_row m_stat; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. + Index 1 on account (0 based) + Index 2 on transaction class (1 based) +*/ +struct pos_ets_by_account_by_event_name +: public PFS_double_index +{ + pos_ets_by_account_by_event_name() + : PFS_double_index(0, 1) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 1; + } + + inline void next_account(void) + { + m_index_1++; + m_index_2= 1; + } +}; + +/** Table PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. */ +class table_ets_by_account_by_event_name : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_ets_by_account_by_event_name(); + +public: + ~table_ets_by_account_by_event_name() + {} + +protected: + void make_row(PFS_account *account, PFS_transaction_class *klass); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_ets_by_account_by_event_name m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_ets_by_account_by_event_name m_pos; + /** Next position. */ + pos_ets_by_account_by_event_name m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_ets_by_host_by_event_name.cc b/storage/perfschema/table_ets_by_host_by_event_name.cc new file mode 100644 index 00000000000..f95e95cc0f3 --- /dev/null +++ b/storage/perfschema/table_ets_by_host_by_event_name.cc @@ -0,0 +1,296 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_ets_by_host_by_event_name.cc + Table EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_ets_by_host_by_event_name.h" +#include "pfs_global.h" +#include "pfs_account.h" +#include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_ets_by_host_by_event_name::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("HOST") }, + { C_STRING_WITH_LEN("char(60)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_STAR") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_ets_by_host_by_event_name::m_field_def= +{ 17, field_types }; + +PFS_engine_table_share +table_ets_by_host_by_event_name::m_share= +{ + { C_STRING_WITH_LEN("events_transactions_summary_by_host_by_event_name") }, + &pfs_truncatable_acl, + table_ets_by_host_by_event_name::create, + NULL, /* write_row */ + table_ets_by_host_by_event_name::delete_all_rows, + table_ets_by_host_by_event_name::get_row_count, + sizeof(pos_ets_by_host_by_event_name), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_ets_by_host_by_event_name::create(void) +{ + return new table_ets_by_host_by_event_name(); +} + +int +table_ets_by_host_by_event_name::delete_all_rows(void) +{ + reset_events_transactions_by_thread(); + reset_events_transactions_by_account(); + reset_events_transactions_by_host(); + return 0; +} + +ha_rows +table_ets_by_host_by_event_name::get_row_count(void) +{ + return global_host_container.get_row_count() * transaction_class_max; +} + +table_ets_by_host_by_event_name::table_ets_by_host_by_event_name() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_ets_by_host_by_event_name::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_ets_by_host_by_event_name::rnd_init(bool scan) +{ + m_normalizer= time_normalizer::get(transaction_timer); + return 0; +} + +int table_ets_by_host_by_event_name::rnd_next(void) +{ + PFS_host *host; + PFS_transaction_class *transaction_class; + bool has_more_host= true; + + for (m_pos.set_at(&m_next_pos); + has_more_host; + m_pos.next_host()) + { + host= global_host_container.get(m_pos.m_index_1, & has_more_host); + if (host != NULL) + { + transaction_class= find_transaction_class(m_pos.m_index_2); + if (transaction_class) + { + make_row(host, transaction_class); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + + return HA_ERR_END_OF_FILE; +} + +int +table_ets_by_host_by_event_name::rnd_pos(const void *pos) +{ + PFS_host *host; + PFS_transaction_class *transaction_class; + + set_position(pos); + + host= global_host_container.get(m_pos.m_index_1); + if (host != NULL) + { + transaction_class= find_transaction_class(m_pos.m_index_2); + if (transaction_class) + { + make_row(host, transaction_class); + return 0; + } + } + + return HA_ERR_RECORD_DELETED; +} + +void table_ets_by_host_by_event_name +::make_row(PFS_host *host, PFS_transaction_class *klass) +{ + pfs_optimistic_state lock; + m_row_exists= false; + + host->m_lock.begin_optimistic_lock(&lock); + + if (m_row.m_host.make_row(host)) + return; + + m_row.m_event_name.make_row(klass); + + PFS_connection_transaction_visitor visitor(klass); + PFS_connection_iterator::visit_host(host, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); + + if (! host->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; + m_row.m_stat.set(m_normalizer, & visitor.m_stat); +} + +int table_ets_by_host_by_event_name +::read_row_values(TABLE *table, unsigned char *buf, Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* HOST */ + m_row.m_host.set_field(f); + break; + case 1: /* EVENT_NAME */ + m_row.m_event_name.set_field(f); + break; + default: + /** + COUNT_STAR, SUM/MIN/AVG/MAX_TIMER_WAIT, + COUNT_READ_WRITE, SUM/MIN/AVG/MAX_TIMER_READ_WRITE, + COUNT_READ_ONLY, SUM/MIN/AVG/MAX_TIMER_READ_ONLY + */ + m_row.m_stat.set_field(f->field_index-2, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_ets_by_host_by_event_name.h b/storage/perfschema/table_ets_by_host_by_event_name.h new file mode 100644 index 00000000000..f6a1b375e0b --- /dev/null +++ b/storage/perfschema/table_ets_by_host_by_event_name.h @@ -0,0 +1,127 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_ETS_BY_HOST_BY_EVENT_NAME_H +#define TABLE_ETS_BY_HOST_BY_EVENT_NAME_H + +/** + @file storage/perfschema/table_ets_by_host_by_event_name.h + Table EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_host.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME. +*/ +struct row_ets_by_host_by_event_name +{ + /** Column HOST */ + PFS_host_row m_host; + /** Column EVENT_NAME */ + PFS_event_name_row m_event_name; + /** + Columns COUNT_STAR, SUM/MIN/AVG/MAX_TIMER_WAIT, + COUNT_READ_WRITE, SUM/MIN/AVG/MAX_TIMER_READ_WRITE, + COUNT_READ_ONLY, SUM/MIN/AVG/MAX_TIMER_READ_ONLY + */ + PFS_transaction_stat_row m_stat; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME. + Index 1 on host (0 based) + Index 2 on transaction class (1 based) +*/ +struct pos_ets_by_host_by_event_name +: public PFS_double_index +{ + pos_ets_by_host_by_event_name() + : PFS_double_index(0, 1) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 1; + } + + inline void next_host(void) + { + m_index_1++; + m_index_2= 1; + } +}; + +/** Table PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME. */ +class table_ets_by_host_by_event_name : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_ets_by_host_by_event_name(); + +public: + ~table_ets_by_host_by_event_name() + {} + +protected: + void make_row(PFS_host *host, PFS_transaction_class *klass); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_ets_by_host_by_event_name m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_ets_by_host_by_event_name m_pos; + /** Next position. */ + pos_ets_by_host_by_event_name m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_ets_by_thread_by_event_name.cc b/storage/perfschema/table_ets_by_thread_by_event_name.cc new file mode 100644 index 00000000000..1403d5b45ac --- /dev/null +++ b/storage/perfschema/table_ets_by_thread_by_event_name.cc @@ -0,0 +1,288 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_ets_by_thread_by_event_name.cc + Table EVENTS_TRANSACTIONS_SUMMARY_BY_HOST_BY_EVENT_NAME (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_ets_by_thread_by_event_name.h" +#include "pfs_global.h" +#include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_ets_by_thread_by_event_name::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("THREAD_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_STAR") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_ets_by_thread_by_event_name::m_field_def= +{ 17, field_types }; + +PFS_engine_table_share +table_ets_by_thread_by_event_name::m_share= +{ + { C_STRING_WITH_LEN("events_transactions_summary_by_thread_by_event_name") }, + &pfs_truncatable_acl, + table_ets_by_thread_by_event_name::create, + NULL, /* write_row */ + table_ets_by_thread_by_event_name::delete_all_rows, + table_ets_by_thread_by_event_name::get_row_count, + sizeof(pos_ets_by_thread_by_event_name), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_ets_by_thread_by_event_name::create(void) +{ + return new table_ets_by_thread_by_event_name(); +} + +int +table_ets_by_thread_by_event_name::delete_all_rows(void) +{ + reset_events_transactions_by_thread(); + return 0; +} + +ha_rows +table_ets_by_thread_by_event_name::get_row_count(void) +{ + return global_thread_container.get_row_count() * transaction_class_max; +} + +table_ets_by_thread_by_event_name::table_ets_by_thread_by_event_name() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_ets_by_thread_by_event_name::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_ets_by_thread_by_event_name::rnd_init(bool scan) +{ + m_normalizer= time_normalizer::get(transaction_timer); + return 0; +} + +int table_ets_by_thread_by_event_name::rnd_next(void) +{ + PFS_thread *thread; + PFS_transaction_class *transaction_class; + bool has_more_thread= true; + + for (m_pos.set_at(&m_next_pos); + has_more_thread; + m_pos.next_thread()) + { + thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (thread != NULL) + { + transaction_class= find_transaction_class(m_pos.m_index_2); + if (transaction_class) + { + make_row(thread, transaction_class); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + + return HA_ERR_END_OF_FILE; +} + +int +table_ets_by_thread_by_event_name::rnd_pos(const void *pos) +{ + PFS_thread *thread; + PFS_transaction_class *transaction_class; + + set_position(pos); + + thread= global_thread_container.get(m_pos.m_index_1); + if (thread != NULL) + { + transaction_class= find_transaction_class(m_pos.m_index_2); + if (transaction_class) + { + make_row(thread, transaction_class); + return 0; + } + } + + return HA_ERR_RECORD_DELETED; +} + +void table_ets_by_thread_by_event_name +::make_row(PFS_thread *thread, PFS_transaction_class *klass) +{ + pfs_optimistic_state lock; + m_row_exists= false; + + /* Protect this reader against a thread termination */ + thread->m_lock.begin_optimistic_lock(&lock); + + m_row.m_thread_internal_id= thread->m_thread_internal_id; + + m_row.m_event_name.make_row(klass); + + PFS_connection_transaction_visitor visitor(klass); + PFS_connection_iterator::visit_thread(thread, &visitor); + + if (! thread->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; + m_row.m_stat.set(m_normalizer, &visitor.m_stat); +} + +int table_ets_by_thread_by_event_name +::read_row_values(TABLE *table, unsigned char *, Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 0); + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* THREAD_ID */ + set_field_ulonglong(f, m_row.m_thread_internal_id); + break; + case 1: /* EVENT_NAME */ + m_row.m_event_name.set_field(f); + break; + default: + /** + COUNT_STAR, SUM/MIN/AVG/MAX_TIMER_WAIT + COUNT_READ_WRITE, SUM/MIN/AVG/MAX_TIMER_READ_WRITE + COUNT_READ_ONLY, SUM/MIN/AVG/MAX_TIMER_READ_ONLY + */ + m_row.m_stat.set_field(f->field_index-2, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_ets_by_thread_by_event_name.h b/storage/perfschema/table_ets_by_thread_by_event_name.h new file mode 100644 index 00000000000..526bb8f37a0 --- /dev/null +++ b/storage/perfschema/table_ets_by_thread_by_event_name.h @@ -0,0 +1,131 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_ETS_BY_THREAD_BY_EVENT_NAME_H +#define TABLE_ETS_BY_THREAD_BY_EVENT_NAME_H + +/** + @file storage/perfschema/table_ets_by_thread_by_event_name.h + Table EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME. +*/ +struct row_ets_by_thread_by_event_name +{ + /** Column THREAD_ID. */ + ulonglong m_thread_internal_id; + /** Column EVENT_NAME. */ + PFS_event_name_row m_event_name; + /** + Columns COUNT_STAR, SUM/MIN/AVG/MAX_TIMER_WAIT, + COUNT_READ_WRITE, SUM/MIN/AVG/MAX_TIMER_READ_WRITE, + COUNT_READ_ONLY, SUM/MIN/AVG/MAX_TIMER_READ_ONLY + */ + PFS_transaction_stat_row m_stat; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME. + Index 1 on thread (0 based). + Index 2 on transaction class (1 based). +*/ +struct pos_ets_by_thread_by_event_name +: public PFS_double_index, public PFS_instrument_view_constants +{ + pos_ets_by_thread_by_event_name() + : PFS_double_index(0, 1) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 1; + } + + inline void next_thread(void) + { + m_index_1++; + m_index_2= 1; + } + + inline void next_transaction(void) + { + m_index_2++; + } +}; + +/** Table PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_THREAD_BY_EVENT_NAME. */ +class table_ets_by_thread_by_event_name : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_ets_by_thread_by_event_name(); + +public: + ~table_ets_by_thread_by_event_name() + {} + +protected: + void make_row(PFS_thread *thread, PFS_transaction_class *klass); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_ets_by_thread_by_event_name m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_ets_by_thread_by_event_name m_pos; + /** Next position. */ + pos_ets_by_thread_by_event_name m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_ets_by_user_by_event_name.cc b/storage/perfschema/table_ets_by_user_by_event_name.cc new file mode 100644 index 00000000000..53576674485 --- /dev/null +++ b/storage/perfschema/table_ets_by_user_by_event_name.cc @@ -0,0 +1,295 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_ets_by_user_by_event_name.cc + Table EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_ets_by_user_by_event_name.h" +#include "pfs_global.h" +#include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_ets_by_user_by_event_name::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("USER") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_STAR") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_ets_by_user_by_event_name::m_field_def= +{ 17, field_types }; + +PFS_engine_table_share +table_ets_by_user_by_event_name::m_share= +{ + { C_STRING_WITH_LEN("events_transactions_summary_by_user_by_event_name") }, + &pfs_truncatable_acl, + table_ets_by_user_by_event_name::create, + NULL, /* write_row */ + table_ets_by_user_by_event_name::delete_all_rows, + table_ets_by_user_by_event_name::get_row_count, + sizeof(pos_ets_by_user_by_event_name), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_ets_by_user_by_event_name::create(void) +{ + return new table_ets_by_user_by_event_name(); +} + +int +table_ets_by_user_by_event_name::delete_all_rows(void) +{ + reset_events_transactions_by_thread(); + reset_events_transactions_by_account(); + reset_events_transactions_by_user(); + return 0; +} + +ha_rows +table_ets_by_user_by_event_name::get_row_count(void) +{ + return global_user_container.get_row_count() * transaction_class_max; +} + +table_ets_by_user_by_event_name::table_ets_by_user_by_event_name() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_ets_by_user_by_event_name::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_ets_by_user_by_event_name::rnd_init(bool scan) +{ + m_normalizer= time_normalizer::get(transaction_timer); + return 0; +} + +int table_ets_by_user_by_event_name::rnd_next(void) +{ + PFS_user *user; + PFS_transaction_class *transaction_class; + bool has_more_user= true; + + for (m_pos.set_at(&m_next_pos); + has_more_user; + m_pos.next_user()) + { + user= global_user_container.get(m_pos.m_index_1, & has_more_user); + if (user != NULL) + { + transaction_class= find_transaction_class(m_pos.m_index_2); + if (transaction_class) + { + make_row(user, transaction_class); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + + return HA_ERR_END_OF_FILE; +} + +int +table_ets_by_user_by_event_name::rnd_pos(const void *pos) +{ + PFS_user *user; + PFS_transaction_class *transaction_class; + + set_position(pos); + + user= global_user_container.get(m_pos.m_index_1); + if (user != NULL) + { + transaction_class= find_transaction_class(m_pos.m_index_2); + if (transaction_class) + { + make_row(user, transaction_class); + return 0; + } + } + + return HA_ERR_RECORD_DELETED; +} + +void table_ets_by_user_by_event_name +::make_row(PFS_user *user, PFS_transaction_class *klass) +{ + pfs_optimistic_state lock; + m_row_exists= false; + + user->m_lock.begin_optimistic_lock(&lock); + + if (m_row.m_user.make_row(user)) + return; + + m_row.m_event_name.make_row(klass); + + PFS_connection_transaction_visitor visitor(klass); + PFS_connection_iterator::visit_user(user, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); + + if (! user->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; + m_row.m_stat.set(m_normalizer, & visitor.m_stat); +} + +int table_ets_by_user_by_event_name +::read_row_values(TABLE *table, unsigned char *buf, Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* USER */ + m_row.m_user.set_field(f); + break; + case 1: /* EVENT_NAME */ + m_row.m_event_name.set_field(f); + break; + default: + /** + COUNT_STAR, SUM/MIN/AVG/MAX_TIMER_WAIT, + COUNT_READ_WRITE, SUM/MIN/AVG/MAX_TIMER_READ_WRITE, + COUNT_READ_ONLY, SUM/MIN/AVG/MAX_TIMER_READ_ONLY + */ + m_row.m_stat.set_field(f->field_index-2, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_ets_by_user_by_event_name.h b/storage/perfschema/table_ets_by_user_by_event_name.h new file mode 100644 index 00000000000..d73e7e517ed --- /dev/null +++ b/storage/perfschema/table_ets_by_user_by_event_name.h @@ -0,0 +1,127 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_ETS_BY_USER_BY_EVENT_NAME_H +#define TABLE_ETS_BY_USER_BY_EVENT_NAME_H + +/** + @file storage/perfschema/table_ets_by_user_by_event_name.h + Table EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_user.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME. +*/ +struct row_ets_by_user_by_event_name +{ + /** Column USER */ + PFS_user_row m_user; + /** Column EVENT_NAME */ + PFS_event_name_row m_event_name; + /** + Columns COUNT_STAR, SUM/MIN/AVG/MAX_TIMER_WAIT, + COUNT_READ_WRITE, SUM/MIN/AVG/MAX_TIMER_READ_WRITE, + COUNT_READ_ONLY, SUM/MIN/AVG/MAX_TIMER_READ_ONLY + */ + PFS_transaction_stat_row m_stat; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME. + Index 1 on user (0 based) + Index 2 on transaction class (1 based) +*/ +struct pos_ets_by_user_by_event_name +: public PFS_double_index +{ + pos_ets_by_user_by_event_name() + : PFS_double_index(0, 1) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 1; + } + + inline void next_user(void) + { + m_index_1++; + m_index_2= 1; + } +}; + +/** Table PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_BY_USER_BY_EVENT_NAME. */ +class table_ets_by_user_by_event_name : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_ets_by_user_by_event_name(); + +public: + ~table_ets_by_user_by_event_name() + {} + +protected: + void make_row(PFS_user *user, PFS_transaction_class *klass); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_ets_by_user_by_event_name m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_ets_by_user_by_event_name m_pos; + /** Next position. */ + pos_ets_by_user_by_event_name m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_ets_global_by_event_name.cc b/storage/perfschema/table_ets_global_by_event_name.cc new file mode 100644 index 00000000000..59dbfce892c --- /dev/null +++ b/storage/perfschema/table_ets_global_by_event_name.cc @@ -0,0 +1,266 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_ets_global_by_event_name.cc + Table EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_ets_global_by_event_name.h" +#include "pfs_global.h" +#include "pfs_instr.h" +#include "pfs_timer.h" +#include "pfs_visitor.h" +#include "field.h" + +THR_LOCK table_ets_global_by_event_name::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_STAR") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_READ_WRITE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_READ_ONLY") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_ets_global_by_event_name::m_field_def= +{ 16, field_types }; + +PFS_engine_table_share +table_ets_global_by_event_name::m_share= +{ + { C_STRING_WITH_LEN("events_transactions_summary_global_by_event_name") }, + &pfs_truncatable_acl, + table_ets_global_by_event_name::create, + NULL, /* write_row */ + table_ets_global_by_event_name::delete_all_rows, + table_ets_global_by_event_name::get_row_count, + sizeof(PFS_simple_index), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_ets_global_by_event_name::create(void) +{ + return new table_ets_global_by_event_name(); +} + +int +table_ets_global_by_event_name::delete_all_rows(void) +{ + reset_events_transactions_by_thread(); + reset_events_transactions_by_account(); + reset_events_transactions_by_user(); + reset_events_transactions_by_host(); + reset_events_transactions_global(); + return 0; +} + +ha_rows +table_ets_global_by_event_name::get_row_count(void) +{ + return transaction_class_max; +} + +table_ets_global_by_event_name::table_ets_global_by_event_name() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(1), m_next_pos(1) +{} + +void table_ets_global_by_event_name::reset_position(void) +{ + m_pos= 1; + m_next_pos= 1; +} + +int table_ets_global_by_event_name::rnd_init(bool scan) +{ + m_normalizer= time_normalizer::get(transaction_timer); + return 0; +} + +int table_ets_global_by_event_name::rnd_next(void) +{ + PFS_transaction_class *transaction_class; + + m_pos.set_at(&m_next_pos); + + transaction_class= find_transaction_class(m_pos.m_index); + if (transaction_class) + { + make_row(transaction_class); + m_next_pos.set_after(&m_pos); + return 0; + } + + return HA_ERR_END_OF_FILE; +} + +int +table_ets_global_by_event_name::rnd_pos(const void *pos) +{ + PFS_transaction_class *transaction_class; + + set_position(pos); + + transaction_class=find_transaction_class(m_pos.m_index); + if (transaction_class) + { + make_row(transaction_class); + return 0; + } + + return HA_ERR_RECORD_DELETED; +} + + +void table_ets_global_by_event_name +::make_row(PFS_transaction_class *klass) +{ + m_row.m_event_name.make_row(klass); + + PFS_connection_transaction_visitor visitor(klass); + PFS_connection_iterator::visit_global(true, /* hosts */ + false, /* users */ + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); + + m_row.m_stat.set(m_normalizer, & visitor.m_stat); + m_row_exists= true; +} + +int table_ets_global_by_event_name +::read_row_values(TABLE *table, unsigned char *, Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 0); + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* NAME */ + m_row.m_event_name.set_field(f); + break; + default: + /** + Columns COUNT_STAR, SUM/MIN/AVG/MAX_TIMER_WAIT, + COUNT_READ_WRITE, SUM/MIN/AVG/MAX_TIMER_READ_WRITE, + COUNT_READ_ONLY, SUM/MIN/AVG/MAX_TIMER_READ_ONLY + */ + m_row.m_stat.set_field(f->field_index - 1, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_ets_global_by_event_name.h b/storage/perfschema/table_ets_global_by_event_name.h new file mode 100644 index 00000000000..a29e9f07156 --- /dev/null +++ b/storage/perfschema/table_ets_global_by_event_name.h @@ -0,0 +1,98 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_ETS_GLOBAL_BY_EVENT_NAME_H +#define TABLE_ETS_GLOBAL_BY_EVENT_NAME_H + +/** + @file storage/perfschema/table_ets_global_by_event_name.h + Table EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME. +*/ +struct row_ets_global_by_event_name +{ + /** Column EVENT_NAME. */ + PFS_event_name_row m_event_name; + /** + Columns COUNT_STAR, SUM/MIN/AVG/MAX_TIMER_WAIT, + COUNT_READ_WRITE, SUM/MIN/AVG/MAX_TIMER_READ_WRITE, + COUNT_READ_ONLY, SUM/MIN/AVG/MAX_TIMER_READ_ONLY + */ + PFS_transaction_stat_row m_stat; +}; + +/** Table PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_SUMMARY_GLOBAL_BY_EVENT_NAME. */ +class table_ets_global_by_event_name : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_ets_global_by_event_name(); + +public: + ~table_ets_global_by_event_name() + {} + +protected: + void make_row(PFS_transaction_class *klass); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_ets_global_by_event_name m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_events_stages.cc b/storage/perfschema/table_events_stages.cc index ad0c7eb6d91..aa8b2ca5b84 100644 --- a/storage/perfschema/table_events_stages.cc +++ b/storage/perfschema/table_events_stages.cc @@ -19,12 +19,14 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_events_stages.h" #include "pfs_instr_class.h" #include "pfs_instr.h" #include "pfs_events_stages.h" #include "pfs_timer.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_events_stages_current::m_table_lock; @@ -71,35 +73,45 @@ static const TABLE_FIELD_TYPE field_types[]= { NULL, 0} }, { + { C_STRING_WITH_LEN("WORK_COMPLETED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("WORK_ESTIMATED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { { C_STRING_WITH_LEN("NESTING_EVENT_ID") }, { C_STRING_WITH_LEN("bigint(20)") }, { NULL, 0} }, { { C_STRING_WITH_LEN("NESTING_EVENT_TYPE") }, - { C_STRING_WITH_LEN("enum(\'STATEMENT\',\'STAGE\',\'WAIT\'") }, + { C_STRING_WITH_LEN("enum(\'TRANSACTION\',\'STATEMENT\',\'STAGE\',\'WAIT\'") }, { NULL, 0} } }; TABLE_FIELD_DEF table_events_stages_current::m_field_def= -{10 , field_types }; +{12 , field_types }; PFS_engine_table_share table_events_stages_current::m_share= { { C_STRING_WITH_LEN("events_stages_current") }, &pfs_truncatable_acl, - &table_events_stages_current::create, + table_events_stages_current::create, NULL, /* write_row */ - &table_events_stages_current::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_events_stages_current::delete_all_rows, + table_events_stages_current::get_row_count, sizeof(PFS_simple_index), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; THR_LOCK table_events_stages_history::m_table_lock; @@ -109,15 +121,15 @@ table_events_stages_history::m_share= { { C_STRING_WITH_LEN("events_stages_history") }, &pfs_truncatable_acl, - &table_events_stages_history::create, + table_events_stages_history::create, NULL, /* write_row */ - &table_events_stages_history::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_events_stages_history::delete_all_rows, + table_events_stages_history::get_row_count, sizeof(pos_events_stages_history), /* ref length */ &m_table_lock, &table_events_stages_current::m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; THR_LOCK table_events_stages_history_long::m_table_lock; @@ -127,15 +139,15 @@ table_events_stages_history_long::m_share= { { C_STRING_WITH_LEN("events_stages_history_long") }, &pfs_truncatable_acl, - &table_events_stages_history_long::create, + table_events_stages_history_long::create, NULL, /* write_row */ - &table_events_stages_history_long::delete_all_rows, - NULL, /* get_row_count */ - 10000, /* records */ + table_events_stages_history_long::delete_all_rows, + table_events_stages_history_long::get_row_count, sizeof(PFS_simple_index), /* ref length */ &m_table_lock, &table_events_stages_current::m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; table_events_stages_common::table_events_stages_common @@ -192,6 +204,17 @@ void table_events_stages_common::make_row(PFS_events_stages *stage) if (m_row.m_source_length > sizeof(m_row.m_source)) m_row.m_source_length= sizeof(m_row.m_source); + if (klass->is_progress()) + { + m_row.m_progress= true; + m_row.m_work_completed= stage->m_progress.m_work_completed; + m_row.m_work_estimated= stage->m_progress.m_work_estimated; + } + else + { + m_row.m_progress= false; + } + m_row_exists= true; return; } @@ -207,8 +230,9 @@ int table_events_stages_common::read_row_values(TABLE *table, return HA_ERR_RECORD_DELETED; /* Set the null bits */ - DBUG_ASSERT(table->s->null_bytes == 1); + DBUG_ASSERT(table->s->null_bytes == 2); buf[0]= 0; + buf[1]= 0; for (; (f= *fields) ; fields++) { @@ -252,13 +276,25 @@ int table_events_stages_common::read_row_values(TABLE *table, else f->set_null(); break; - case 8: /* NESTING_EVENT_ID */ + case 8: /* WORK_COMPLETED */ + if (m_row.m_progress) + set_field_ulonglong(f, m_row.m_work_completed); + else + f->set_null(); + break; + case 9: /* WORK_ESTIMATED */ + if (m_row.m_progress) + set_field_ulonglong(f, m_row.m_work_estimated); + else + f->set_null(); + break; + case 10: /* NESTING_EVENT_ID */ if (m_row.m_nesting_event_id != 0) set_field_ulonglong(f, m_row.m_nesting_event_id); else f->set_null(); break; - case 9: /* NESTING_EVENT_TYPE */ + case 11: /* NESTING_EVENT_TYPE */ if (m_row.m_nesting_event_id != 0) set_field_enum(f, m_row.m_nesting_event_type); else @@ -299,20 +335,12 @@ int table_events_stages_current::rnd_next(void) PFS_thread *pfs_thread; PFS_events_stages *stage; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < thread_max; - m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_thread_iterator it= global_thread_container.iterate(m_pos.m_index); + pfs_thread= it.scan_next(& m_pos.m_index); + if (pfs_thread != NULL) { - pfs_thread= &thread_array[m_pos.m_index]; - - if (! pfs_thread->m_lock.is_populated()) - { - /* This thread does not exist */ - continue; - } - stage= &pfs_thread->m_stage_current; - make_row(stage); m_next_pos.set_after(&m_pos); return 0; @@ -327,15 +355,16 @@ int table_events_stages_current::rnd_pos(const void *pos) PFS_events_stages *stage; set_position(pos); - DBUG_ASSERT(m_pos.m_index < thread_max); - pfs_thread= &thread_array[m_pos.m_index]; - if (! pfs_thread->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; + pfs_thread= global_thread_container.get(m_pos.m_index); + if (pfs_thread != NULL) + { + stage= &pfs_thread->m_stage_current; + make_row(stage); + return 0; + } - stage= &pfs_thread->m_stage_current; - make_row(stage); - return 0; + return HA_ERR_RECORD_DELETED; } int table_events_stages_current::delete_all_rows(void) @@ -344,6 +373,12 @@ int table_events_stages_current::delete_all_rows(void) return 0; } +ha_rows +table_events_stages_current::get_row_count(void) +{ + return global_thread_container.get_row_count(); +} + PFS_engine_table* table_events_stages_history::create(void) { return new table_events_stages_history(); @@ -370,43 +405,40 @@ int table_events_stages_history::rnd_next(void) { PFS_thread *pfs_thread; PFS_events_stages *stage; + bool has_more_thread= true; if (events_stages_history_per_thread == 0) return HA_ERR_END_OF_FILE; for (m_pos.set_at(&m_next_pos); - m_pos.m_index_1 < thread_max; + has_more_thread; m_pos.next_thread()) { - pfs_thread= &thread_array[m_pos.m_index_1]; - - if (! pfs_thread->m_lock.is_populated()) - { - /* This thread does not exist */ - continue; - } - - if (m_pos.m_index_2 >= events_stages_history_per_thread) + pfs_thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (pfs_thread != NULL) { - /* This thread does not have more (full) history */ - continue; - } + if (m_pos.m_index_2 >= events_stages_history_per_thread) + { + /* This thread does not have more (full) history */ + continue; + } - if ( ! pfs_thread->m_stages_history_full && - (m_pos.m_index_2 >= pfs_thread->m_stages_history_index)) - { - /* This thread does not have more (not full) history */ - continue; - } + if ( ! pfs_thread->m_stages_history_full && + (m_pos.m_index_2 >= pfs_thread->m_stages_history_index)) + { + /* This thread does not have more (not full) history */ + continue; + } - stage= &pfs_thread->m_stages_history[m_pos.m_index_2]; + stage= &pfs_thread->m_stages_history[m_pos.m_index_2]; - if (stage->m_class != NULL) - { - make_row(stage); - /* Next iteration, look for the next history in this thread */ - m_next_pos.set_after(&m_pos); - return 0; + if (stage->m_class != NULL) + { + make_row(stage); + /* Next iteration, look for the next history in this thread */ + m_next_pos.set_after(&m_pos); + return 0; + } } } @@ -420,25 +452,26 @@ int table_events_stages_history::rnd_pos(const void *pos) DBUG_ASSERT(events_stages_history_per_thread != 0); set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < thread_max); - pfs_thread= &thread_array[m_pos.m_index_1]; - - if (! pfs_thread->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; DBUG_ASSERT(m_pos.m_index_2 < events_stages_history_per_thread); - if ( ! pfs_thread->m_stages_history_full && - (m_pos.m_index_2 >= pfs_thread->m_stages_history_index)) - return HA_ERR_RECORD_DELETED; + pfs_thread= global_thread_container.get(m_pos.m_index_1); + if (pfs_thread != NULL) + { + if ( ! pfs_thread->m_stages_history_full && + (m_pos.m_index_2 >= pfs_thread->m_stages_history_index)) + return HA_ERR_RECORD_DELETED; - stage= &pfs_thread->m_stages_history[m_pos.m_index_2]; + stage= &pfs_thread->m_stages_history[m_pos.m_index_2]; - if (stage->m_class == NULL) - return HA_ERR_RECORD_DELETED; + if (stage->m_class != NULL) + { + make_row(stage); + return 0; + } + } - make_row(stage); - return 0; + return HA_ERR_RECORD_DELETED; } int table_events_stages_history::delete_all_rows(void) @@ -447,6 +480,12 @@ int table_events_stages_history::delete_all_rows(void) return 0; } +ha_rows +table_events_stages_history::get_row_count(void) +{ + return events_stages_history_per_thread * global_thread_container.get_row_count(); +} + PFS_engine_table* table_events_stages_history_long::create(void) { return new table_events_stages_history_long(); @@ -480,7 +519,7 @@ int table_events_stages_history_long::rnd_next(void) if (events_stages_history_long_full) limit= events_stages_history_long_size; else - limit= events_stages_history_long_index % events_stages_history_long_size; + limit= events_stages_history_long_index.m_u32 % events_stages_history_long_size; for (m_pos.set_at(&m_next_pos); m_pos.m_index < limit; m_pos.next()) { @@ -511,7 +550,7 @@ int table_events_stages_history_long::rnd_pos(const void *pos) if (events_stages_history_long_full) limit= events_stages_history_long_size; else - limit= events_stages_history_long_index % events_stages_history_long_size; + limit= events_stages_history_long_index.m_u32 % events_stages_history_long_size; if (m_pos.m_index > limit) return HA_ERR_RECORD_DELETED; @@ -531,3 +570,9 @@ int table_events_stages_history_long::delete_all_rows(void) return 0; } +ha_rows +table_events_stages_history_long::get_row_count(void) +{ + return events_stages_history_long_size; +} + diff --git a/storage/perfschema/table_events_stages.h b/storage/perfschema/table_events_stages.h index 09c555c80fd..b867d470bd5 100644 --- a/storage/perfschema/table_events_stages.h +++ b/storage/perfschema/table_events_stages.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -59,6 +59,11 @@ struct row_events_stages char m_source[COL_SOURCE_SIZE]; /** Length in bytes of @c m_source. */ uint m_source_length; + bool m_progress; + /** Column WORK_COMPLETED. */ + ulonglong m_work_completed; + /** Column WORK_ESTIMATED. */ + ulonglong m_work_estimated; }; /** Position of a cursor on PERFORMANCE_SCHEMA.EVENTS_STAGES_HISTORY. */ @@ -114,6 +119,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); @@ -154,6 +160,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); @@ -185,6 +192,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_events_statements.cc b/storage/perfschema/table_events_statements.cc index 6931584895f..46cd75d3dc5 100644 --- a/storage/perfschema/table_events_statements.cc +++ b/storage/perfschema/table_events_statements.cc @@ -19,7 +19,7 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_events_statements.h" #include "pfs_instr_class.h" #include "pfs_instr.h" @@ -28,6 +28,7 @@ #include "sp_head.h" /* TYPE_ENUM_FUNCTION, ... */ #include "table_helper.h" #include "my_md5.h" +#include "pfs_buffer_container.h" THR_LOCK table_events_statements_current::m_table_lock; @@ -230,29 +231,34 @@ static const TABLE_FIELD_TYPE field_types[]= }, { { C_STRING_WITH_LEN("NESTING_EVENT_TYPE") }, - { C_STRING_WITH_LEN("enum(\'STATEMENT\',\'STAGE\',\'WAIT\'") }, + { C_STRING_WITH_LEN("enum(\'TRANSACTION\',\'STATEMENT\',\'STAGE\',\'WAIT\'") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("NESTING_EVENT_LEVEL") }, + { C_STRING_WITH_LEN("int(11)") }, { NULL, 0} } }; TABLE_FIELD_DEF table_events_statements_current::m_field_def= -{40 , field_types }; +{41 , field_types }; PFS_engine_table_share table_events_statements_current::m_share= { { C_STRING_WITH_LEN("events_statements_current") }, &pfs_truncatable_acl, - &table_events_statements_current::create, + table_events_statements_current::create, NULL, /* write_row */ - &table_events_statements_current::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_events_statements_current::delete_all_rows, + table_events_statements_current::get_row_count, sizeof(pos_events_statements_current), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; THR_LOCK table_events_statements_history::m_table_lock; @@ -262,15 +268,15 @@ table_events_statements_history::m_share= { { C_STRING_WITH_LEN("events_statements_history") }, &pfs_truncatable_acl, - &table_events_statements_history::create, + table_events_statements_history::create, NULL, /* write_row */ - &table_events_statements_history::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_events_statements_history::delete_all_rows, + table_events_statements_history::get_row_count, sizeof(pos_events_statements_history), /* ref length */ &m_table_lock, &table_events_statements_current::m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; THR_LOCK table_events_statements_history_long::m_table_lock; @@ -280,15 +286,15 @@ table_events_statements_history_long::m_share= { { C_STRING_WITH_LEN("events_statements_history_long") }, &pfs_truncatable_acl, - &table_events_statements_history_long::create, + table_events_statements_history_long::create, NULL, /* write_row */ - &table_events_statements_history_long::delete_all_rows, - NULL, /* get_row_count */ - 10000, /* records */ + table_events_statements_history_long::delete_all_rows, + table_events_statements_history_long::get_row_count, sizeof(PFS_simple_index), /* ref length */ &m_table_lock, &table_events_statements_current::m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; table_events_statements_common::table_events_statements_common @@ -320,6 +326,7 @@ void table_events_statements_common::make_row_part_1(PFS_events_statements *stat m_row.m_end_event_id= statement->m_end_event_id; m_row.m_nesting_event_id= statement->m_nesting_event_id; m_row.m_nesting_event_type= statement->m_nesting_event_type; + m_row.m_nesting_event_level= statement->m_nesting_event_level; if (m_row.m_end_event_id == 0) { @@ -368,13 +375,23 @@ void table_events_statements_common::make_row_part_1(PFS_events_statements *stat if (m_row.m_current_schema_name_length > 0) memcpy(m_row.m_current_schema_name, statement->m_current_schema_name, m_row.m_current_schema_name_length); + m_row.m_object_type= statement->m_sp_type; + + m_row.m_schema_name_length= statement->m_schema_name_length; + if (m_row.m_schema_name_length > 0) + memcpy(m_row.m_schema_name, statement->m_schema_name, m_row.m_schema_name_length); + + m_row.m_object_name_length= statement->m_object_name_length; + if (m_row.m_object_name_length > 0) + memcpy(m_row.m_object_name, statement->m_object_name, m_row.m_object_name_length); + safe_source_file= statement->m_source_file; if (unlikely(safe_source_file == NULL)) return; base= base_name(safe_source_file); - m_row.m_source_length= (uint)my_snprintf(m_row.m_source, sizeof(m_row.m_source), - "%s:%d", base, statement->m_source_line); + m_row.m_source_length= my_snprintf(m_row.m_source, sizeof(m_row.m_source), + "%s:%d", base, statement->m_source_line); if (m_row.m_source_length > sizeof(m_row.m_source)) m_row.m_source_length= sizeof(m_row.m_source); @@ -400,6 +417,7 @@ void table_events_statements_common::make_row_part_1(PFS_events_statements *stat m_row.m_sort_scan= statement->m_sort_scan; m_row.m_no_index_used= statement->m_no_index_used; m_row.m_no_good_index_used= statement->m_no_good_index_used; + /* Making a copy of digest storage. */ @@ -409,7 +427,6 @@ void table_events_statements_common::make_row_part_1(PFS_events_statements *stat return; } - void table_events_statements_common::make_row_part_2(const sql_digest_storage *digest) { /* @@ -526,18 +543,30 @@ int table_events_statements_common::read_row_values(TABLE *table, break; case 12: /* CURRENT_SCHEMA */ if (m_row.m_current_schema_name_length) - set_field_varchar_utf8(f, m_row.m_current_schema_name, m_row.m_current_schema_name_length); + set_field_varchar_utf8(f, m_row.m_current_schema_name, + m_row.m_current_schema_name_length); else f->set_null(); break; - case 13: /* OBJECT_TYPE */ - f->set_null(); + case 13: /* OBJECT_TYPE */ + if (m_row.m_object_name_length > 0) + set_field_object_type(f, m_row.m_object_type); + else + f->set_null(); break; case 14: /* OBJECT_SCHEMA */ - f->set_null(); + if (m_row.m_schema_name_length) + set_field_varchar_utf8(f, m_row.m_schema_name, + m_row.m_schema_name_length); + else + f->set_null(); break; case 15: /* OBJECT_NAME */ - f->set_null(); + if (m_row.m_object_name_length) + set_field_varchar_utf8(f, m_row.m_object_name, + m_row.m_object_name_length); + else + f->set_null(); break; case 16: /* OBJECT_INSTANCE_BEGIN */ f->set_null(); @@ -552,7 +581,7 @@ int table_events_statements_common::read_row_values(TABLE *table, f->set_null(); break; case 19: /* MESSAGE_TEXT */ - len= (uint)strlen(m_row.m_message_text); + len= strlen(m_row.m_message_text); if (len) set_field_varchar_utf8(f, m_row.m_message_text, len); else @@ -624,6 +653,9 @@ int table_events_statements_common::read_row_values(TABLE *table, else f->set_null(); break; + case 40: /* NESTING_EVENT_LEVEL */ + set_field_ulong(f, m_row.m_nesting_event_level); + break; default: DBUG_ASSERT(false); } @@ -658,39 +690,36 @@ int table_events_statements_current::rnd_next(void) { PFS_thread *pfs_thread; PFS_events_statements *statement; + bool has_more_thread= true; for (m_pos.set_at(&m_next_pos); - m_pos.m_index_1 < thread_max; + has_more_thread; m_pos.next_thread()) { - pfs_thread= &thread_array[m_pos.m_index_1]; - - if (! pfs_thread->m_lock.is_populated()) + pfs_thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (pfs_thread != NULL) { - /* This thread does not exist */ - continue; - } - - uint safe_events_statements_count= pfs_thread->m_events_statements_count; + uint safe_events_statements_count= pfs_thread->m_events_statements_count; - if (safe_events_statements_count == 0) - { - /* Display the last top level statement, when completed */ - if (m_pos.m_index_2 >= 1) - continue; - } - else - { - /* Display all pending statements, when in progress */ - if (m_pos.m_index_2 >= safe_events_statements_count) - continue; - } + if (safe_events_statements_count == 0) + { + /* Display the last top level statement, when completed */ + if (m_pos.m_index_2 >= 1) + continue; + } + else + { + /* Display all pending statements, when in progress */ + if (m_pos.m_index_2 >= safe_events_statements_count) + continue; + } - statement= &pfs_thread->m_statement_stack[m_pos.m_index_2]; + statement= &pfs_thread->m_statement_stack[m_pos.m_index_2]; - make_row(pfs_thread, statement); - m_next_pos.set_after(&m_pos); - return 0; + make_row(pfs_thread, statement); + m_next_pos.set_after(&m_pos); + return 0; + } } return HA_ERR_END_OF_FILE; @@ -702,44 +731,45 @@ int table_events_statements_current::rnd_pos(const void *pos) PFS_events_statements *statement; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < thread_max); - pfs_thread= &thread_array[m_pos.m_index_1]; - if (! pfs_thread->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - - uint safe_events_statements_count= pfs_thread->m_events_statements_count; - - if (safe_events_statements_count == 0) - { - /* Display the last top level statement, when completed */ - if (m_pos.m_index_2 >= 1) - return HA_ERR_RECORD_DELETED; - } - else + pfs_thread= global_thread_container.get(m_pos.m_index_1); + if (pfs_thread != NULL) { - /* Display all pending statements, when in progress */ - if (m_pos.m_index_2 >= safe_events_statements_count) - return HA_ERR_RECORD_DELETED; - } + uint safe_events_statements_count= pfs_thread->m_events_statements_count; - DBUG_ASSERT(m_pos.m_index_2 < statement_stack_max); + if (safe_events_statements_count == 0) + { + /* Display the last top level statement, when completed */ + if (m_pos.m_index_2 >= 1) + return HA_ERR_RECORD_DELETED; + } + else + { + /* Display all pending statements, when in progress */ + if (m_pos.m_index_2 >= safe_events_statements_count) + return HA_ERR_RECORD_DELETED; + } - statement= &pfs_thread->m_statement_stack[m_pos.m_index_2]; + DBUG_ASSERT(m_pos.m_index_2 < statement_stack_max); - if (statement->m_class == NULL) - return HA_ERR_RECORD_DELETED; + statement= &pfs_thread->m_statement_stack[m_pos.m_index_2]; - make_row(pfs_thread, statement); - return 0; + if (statement->m_class != NULL) + { + make_row(pfs_thread, statement); + return 0; + } + } + + return HA_ERR_RECORD_DELETED; } void table_events_statements_current::make_row(PFS_thread *pfs_thread, PFS_events_statements *statement) { sql_digest_storage digest; - pfs_lock lock; - pfs_lock stmt_lock; + pfs_optimistic_state lock; + pfs_optimistic_state stmt_lock; digest.reset(m_token_array, MAX_DIGEST_STORAGE_SIZE); /* Protect this reader against thread termination. */ @@ -765,6 +795,12 @@ int table_events_statements_current::delete_all_rows(void) return 0; } +ha_rows +table_events_statements_current::get_row_count(void) +{ + return global_thread_container.get_row_count() * statement_stack_max; +} + PFS_engine_table* table_events_statements_history::create(void) { return new table_events_statements_history(); @@ -791,43 +827,40 @@ int table_events_statements_history::rnd_next(void) { PFS_thread *pfs_thread; PFS_events_statements *statement; + bool has_more_thread= true; if (events_statements_history_per_thread == 0) return HA_ERR_END_OF_FILE; for (m_pos.set_at(&m_next_pos); - m_pos.m_index_1 < thread_max; + has_more_thread; m_pos.next_thread()) { - pfs_thread= &thread_array[m_pos.m_index_1]; - - if (! pfs_thread->m_lock.is_populated()) - { - /* This thread does not exist */ - continue; - } - - if (m_pos.m_index_2 >= events_statements_history_per_thread) + pfs_thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (pfs_thread != NULL) { - /* This thread does not have more (full) history */ - continue; - } + if (m_pos.m_index_2 >= events_statements_history_per_thread) + { + /* This thread does not have more (full) history */ + continue; + } - if ( ! pfs_thread->m_statements_history_full && - (m_pos.m_index_2 >= pfs_thread->m_statements_history_index)) - { - /* This thread does not have more (not full) history */ - continue; - } + if ( ! pfs_thread->m_statements_history_full && + (m_pos.m_index_2 >= pfs_thread->m_statements_history_index)) + { + /* This thread does not have more (not full) history */ + continue; + } - statement= &pfs_thread->m_statements_history[m_pos.m_index_2]; + statement= &pfs_thread->m_statements_history[m_pos.m_index_2]; - if (statement->m_class != NULL) - { - make_row(pfs_thread, statement); - /* Next iteration, look for the next history in this thread */ - m_next_pos.set_after(&m_pos); - return 0; + if (statement->m_class != NULL) + { + make_row(pfs_thread, statement); + /* Next iteration, look for the next history in this thread */ + m_next_pos.set_after(&m_pos); + return 0; + } } } @@ -841,32 +874,32 @@ int table_events_statements_history::rnd_pos(const void *pos) DBUG_ASSERT(events_statements_history_per_thread != 0); set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < thread_max); - pfs_thread= &thread_array[m_pos.m_index_1]; - - if (! pfs_thread->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - - DBUG_ASSERT(m_pos.m_index_2 < events_statements_history_per_thread); - if ( ! pfs_thread->m_statements_history_full && - (m_pos.m_index_2 >= pfs_thread->m_statements_history_index)) - return HA_ERR_RECORD_DELETED; + pfs_thread= global_thread_container.get(m_pos.m_index_1); + if (pfs_thread != NULL) + { + DBUG_ASSERT(m_pos.m_index_2 < events_statements_history_per_thread); - statement= &pfs_thread->m_statements_history[m_pos.m_index_2]; + if ( ! pfs_thread->m_statements_history_full && + (m_pos.m_index_2 >= pfs_thread->m_statements_history_index)) + return HA_ERR_RECORD_DELETED; - if (statement->m_class == NULL) - return HA_ERR_RECORD_DELETED; + statement= &pfs_thread->m_statements_history[m_pos.m_index_2]; + if (statement->m_class != NULL) + { + make_row(pfs_thread, statement); + return 0; + } + } - make_row(pfs_thread, statement); - return 0; + return HA_ERR_RECORD_DELETED; } void table_events_statements_history::make_row(PFS_thread *pfs_thread, PFS_events_statements *statement) { sql_digest_storage digest; - pfs_lock lock; + pfs_optimistic_state lock; digest.reset(m_token_array, MAX_DIGEST_STORAGE_SIZE); /* Protect this reader against thread termination. */ @@ -880,15 +913,22 @@ void table_events_statements_history::make_row(PFS_thread *pfs_thread, return; } table_events_statements_common::make_row_part_2(&digest); - return; + return; } + int table_events_statements_history::delete_all_rows(void) { reset_events_statements_history(); return 0; } +ha_rows +table_events_statements_history::get_row_count(void) +{ + return events_statements_history_per_thread * global_thread_container.get_row_count(); +} + PFS_engine_table* table_events_statements_history_long::create(void) { return new table_events_statements_history_long(); @@ -914,7 +954,7 @@ int table_events_statements_history_long::rnd_init(bool scan) int table_events_statements_history_long::rnd_next(void) { PFS_events_statements *statement; - size_t limit; + uint limit; if (events_statements_history_long_size == 0) return HA_ERR_END_OF_FILE; @@ -922,7 +962,7 @@ int table_events_statements_history_long::rnd_next(void) if (events_statements_history_long_full) limit= events_statements_history_long_size; else - limit= events_statements_history_long_index % events_statements_history_long_size; + limit= events_statements_history_long_index.m_u32 % events_statements_history_long_size; for (m_pos.set_at(&m_next_pos); m_pos.m_index < limit; m_pos.next()) { @@ -943,7 +983,7 @@ int table_events_statements_history_long::rnd_next(void) int table_events_statements_history_long::rnd_pos(const void *pos) { PFS_events_statements *statement; - size_t limit; + uint limit; if (events_statements_history_long_size == 0) return HA_ERR_RECORD_DELETED; @@ -953,7 +993,7 @@ int table_events_statements_history_long::rnd_pos(const void *pos) if (events_statements_history_long_full) limit= events_statements_history_long_size; else - limit= events_statements_history_long_index % events_statements_history_long_size; + limit= events_statements_history_long_index.m_u32 % events_statements_history_long_size; if (m_pos.m_index >= limit) return HA_ERR_RECORD_DELETED; @@ -984,3 +1024,9 @@ int table_events_statements_history_long::delete_all_rows(void) return 0; } +ha_rows +table_events_statements_history_long::get_row_count(void) +{ + return events_statements_history_long_size; +} + diff --git a/storage/perfschema/table_events_statements.h b/storage/perfschema/table_events_statements.h index 6c8899e14c3..6496706bdfb 100644 --- a/storage/perfschema/table_events_statements.h +++ b/storage/perfschema/table_events_statements.h @@ -46,6 +46,8 @@ struct row_events_statements ulonglong m_nesting_event_id; /** Column NESTING_EVENT_TYPE. */ enum_event_type m_nesting_event_type; + /** Column NESTING_EVENT_LEVEL. */ + uint m_nesting_event_level; /** Column EVENT_NAME. */ const char *m_name; /** Length in bytes of @c m_name. */ @@ -66,11 +68,23 @@ struct row_events_statements String m_sqltext; /** Column DIGEST and DIGEST_TEXT. */ PFS_digest_row m_digest; - /** Column CURRENT_SCHEMA. */ + /** Column CURRENT_SCHEMA. */ char m_current_schema_name[NAME_LEN]; /** Length in bytes of @c m_current_schema_name. */ uint m_current_schema_name_length; + /** Column OBJECT_TYPE. */ + enum_object_type m_object_type; + /** Column OBJECT_SCHEMA. */ + char m_schema_name[NAME_LEN]; + /** Length in bytes of @c m_schema_name. */ + uint m_schema_name_length; + /** Column OBJECT_NAME. */ + char m_object_name[NAME_LEN]; + /** Length in bytes of @c m_object_name. */ + uint m_object_name_length; + + /** Column MESSAGE_TEXT. */ char m_message_text[MYSQL_ERRMSG_SIZE+1]; /** Column MYSQL_ERRNO. */ @@ -192,6 +206,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); @@ -234,6 +249,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); @@ -267,6 +283,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_events_transactions.cc b/storage/perfschema/table_events_transactions.cc new file mode 100644 index 00000000000..7c258fc9b88 --- /dev/null +++ b/storage/perfschema/table_events_transactions.cc @@ -0,0 +1,779 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_events_transactions.cc + Table EVENTS_TRANSACTIONS_xxx (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "table_events_transactions.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_events_transactions.h" +#include "pfs_timer.h" +#include "table_helper.h" +#include "pfs_buffer_container.h" +#include "field.h" +#include "xa.h" + +THR_LOCK table_events_transactions_current::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("THREAD_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("EVENT_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("END_EVENT_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("STATE") }, + { C_STRING_WITH_LEN("enum(\'ACTIVE\',\'COMMITTED\',\'ROLLED BACK\'") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("TRX_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("GTID") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("XID_FORMAT_ID") }, + { C_STRING_WITH_LEN("int(11)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("XID_GTRID") }, + { C_STRING_WITH_LEN("varchar(130)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("XID_BQUAL") }, + { C_STRING_WITH_LEN("varchar(130)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("XA_STATE") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SOURCE") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("TIMER_START") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("TIMER_END") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("TIMER_WAIT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("ACCESS_MODE") }, + { C_STRING_WITH_LEN("enum(\'READ ONLY\',\'READ WRITE\'") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("ISOLATION_LEVEL") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AUTOCOMMIT") }, + { C_STRING_WITH_LEN("enum(\'YES\',\'NO\'") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("NUMBER_OF_SAVEPOINTS") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("NUMBER_OF_ROLLBACK_TO_SAVEPOINT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("NUMBER_OF_RELEASE_SAVEPOINT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OBJECT_INSTANCE_BEGIN") }, + { C_STRING_WITH_LEN("bigint") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("NESTING_EVENT_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("NESTING_EVENT_TYPE") }, + { C_STRING_WITH_LEN("enum(\'TRANSACTION\',\'STATEMENT\',\'STAGE\',\'WAIT\'") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_events_transactions_current::m_field_def= +{24 , field_types }; + +PFS_engine_table_share +table_events_transactions_current::m_share= +{ + { C_STRING_WITH_LEN("events_transactions_current") }, + &pfs_truncatable_acl, + table_events_transactions_current::create, + NULL, /* write_row */ + table_events_transactions_current::delete_all_rows, + table_events_transactions_current::get_row_count, + sizeof(PFS_simple_index), /* ref length */ + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +THR_LOCK table_events_transactions_history::m_table_lock; + +PFS_engine_table_share +table_events_transactions_history::m_share= +{ + { C_STRING_WITH_LEN("events_transactions_history") }, + &pfs_truncatable_acl, + table_events_transactions_history::create, + NULL, /* write_row */ + table_events_transactions_history::delete_all_rows, + table_events_transactions_history::get_row_count, + sizeof(pos_events_transactions_history), /* ref length */ + &m_table_lock, + &table_events_transactions_current::m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +THR_LOCK table_events_transactions_history_long::m_table_lock; + +PFS_engine_table_share +table_events_transactions_history_long::m_share= +{ + { C_STRING_WITH_LEN("events_transactions_history_long") }, + &pfs_truncatable_acl, + table_events_transactions_history_long::create, + NULL, /* write_row */ + table_events_transactions_history_long::delete_all_rows, + table_events_transactions_history_long::get_row_count, + sizeof(PFS_simple_index), /* ref length */ + &m_table_lock, + &table_events_transactions_current::m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +table_events_transactions_common::table_events_transactions_common +(const PFS_engine_table_share *share, void *pos) + : PFS_engine_table(share, pos), + m_row_exists(false) +{} + +/** + Build a row. + @param transaction the transaction the cursor is reading +*/ +void table_events_transactions_common::make_row(PFS_events_transactions *transaction) +{ + const char *base; + const char *safe_source_file; + ulonglong timer_end; + + m_row_exists= false; + + PFS_transaction_class *unsafe= (PFS_transaction_class*) transaction->m_class; + PFS_transaction_class *klass= sanitize_transaction_class(unsafe); + if (unlikely(klass == NULL)) + return; + + m_row.m_thread_internal_id= transaction->m_thread_internal_id; + m_row.m_event_id= transaction->m_event_id; + m_row.m_end_event_id= transaction->m_end_event_id; + m_row.m_nesting_event_id= transaction->m_nesting_event_id; + m_row.m_nesting_event_type= transaction->m_nesting_event_type; + + if (m_row.m_end_event_id == 0) + { + timer_end= get_timer_raw_value(transaction_timer); + } + else + { + timer_end= transaction->m_timer_end; + } + + m_normalizer->to_pico(transaction->m_timer_start, timer_end, + &m_row.m_timer_start, &m_row.m_timer_end, &m_row.m_timer_wait); + m_row.m_name= klass->m_name; + m_row.m_name_length= klass->m_name_length; + + safe_source_file= transaction->m_source_file; + if (unlikely(safe_source_file == NULL)) + return; + + base= base_name(safe_source_file); + m_row.m_source_length= (uint)my_snprintf(m_row.m_source, sizeof(m_row.m_source), + "%s:%d", base, transaction->m_source_line); + if (m_row.m_source_length > sizeof(m_row.m_source)) + m_row.m_source_length= sizeof(m_row.m_source); + + /* A GTID consists of the SID (source id) and GNO (transaction number). + The SID is stored in transaction->m_sid and the GNO is stored in + transaction->m_gtid_spec.gno. + + On a master, the GTID is assigned when the transaction commit. + On a slave, the GTID is assigned before the transaction starts. + If GTID_MODE = OFF, all transactions have the special GTID + 'ANONYMOUS'. + + Therefore, a transaction can be in three different states wrt GTIDs: + - Before the GTID has been assigned, the state is 'AUTOMATIC'. + On a master, this is the state until the transaction commits. + On a slave, this state does not appear. + - If GTID_MODE = ON, and a GTID is assigned, the GTID is a string + of the form 'UUID:NUMBER'. + - If GTID_MODE = OFF, and a GTID is assigned, the GTID is a string + of the form 'ANONYMOUS'. + + The Gtid_specification contains the GNO, as well as a type code + that specifies which of the three modes is currently in effect. + Given a SID, it can generate the textual representation of the + GTID. + */ + rpl_sid *sid= &transaction->m_sid; + Gtid_specification *gtid_spec= &transaction->m_gtid_spec; + m_row.m_gtid_length= gtid_spec->to_string(sid, m_row.m_gtid); + + m_row.m_xid= transaction->m_xid; + m_row.m_isolation_level= transaction->m_isolation_level; + m_row.m_read_only= transaction->m_read_only; + m_row.m_trxid= transaction->m_trxid; + m_row.m_state= transaction->m_state; + m_row.m_xa_state= transaction->m_xa_state; + m_row.m_xa= transaction->m_xa; + m_row.m_autocommit= transaction->m_autocommit; + m_row.m_savepoint_count= transaction->m_savepoint_count; + m_row.m_rollback_to_savepoint_count= transaction->m_rollback_to_savepoint_count; + m_row.m_release_savepoint_count= transaction->m_release_savepoint_count; + m_row_exists= true; + return; +} + +/** Size of XID converted to null-terminated hex string prefixed with 0x. */ +static const ulong XID_BUFFER_SIZE= XIDDATASIZE*2 + 2 + 1; + +/** + Convert the XID to HEX string prefixed by '0x' + + @param[out] buf output hex string buffer, null-terminated + @param buf_len size of buffer, must be at least @c XID_BUFFER_SIZE + @param xid XID structure + @param offset offset into XID.data[] + @param length number of bytes to process + @return number of bytes in hex string +*/ +static uint xid_to_hex(char *buf, size_t buf_len, PSI_xid *xid, size_t offset, size_t length) +{ + DBUG_ASSERT(buf_len >= XID_BUFFER_SIZE); + DBUG_ASSERT(offset + length <= XIDDATASIZE); + *buf++= '0'; + *buf++= 'x'; + return bin_to_hex_str(buf, buf_len-2, (char*)(xid->data + offset), length) + 2; +} + +/** + Store the XID in printable format if possible, otherwise convert + to a string of hex digits. + + @param field Record field + @param xid XID structure + @param offset offset into XID.data[] + @param length number of bytes to process +*/ +static void xid_store(Field *field, PSI_xid *xid, size_t offset, size_t length) +{ + DBUG_ASSERT(!xid->is_null()); + if (xid_printable(xid, offset, length)) + { + field->store(xid->data + offset, length, &my_charset_bin); + } + else + { + /* + xid_buf contains enough space for 0x followed by hex representation of + the binary XID data and one null termination character. + */ + char xid_buf[XID_BUFFER_SIZE]; + + size_t xid_str_len= xid_to_hex(xid_buf, sizeof(xid_buf), xid, offset, length); + field->store(xid_buf, xid_str_len, &my_charset_bin); + } +} + +static void xid_store_bqual(Field *field, PSI_xid *xid) +{ + xid_store(field, xid, xid->gtrid_length, xid->bqual_length); +} + +static void xid_store_gtrid(Field *field, PSI_xid *xid) +{ + xid_store(field, xid, 0, xid->gtrid_length); +} + +int table_events_transactions_common::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 3); + buf[0]= 0; + buf[1]= 0; + buf[2]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* THREAD_ID */ + set_field_ulonglong(f, m_row.m_thread_internal_id); + break; + case 1: /* EVENT_ID */ + set_field_ulonglong(f, m_row.m_event_id); + break; + case 2: /* END_EVENT_ID */ + if (m_row.m_end_event_id > 0) + set_field_ulonglong(f, m_row.m_end_event_id - 1); + else + f->set_null(); + break; + case 3: /* EVENT_NAME */ + set_field_varchar_utf8(f, m_row.m_name, m_row.m_name_length); + break; + case 4: /* STATE */ + set_field_enum(f, m_row.m_state); + break; + case 5: /* TRX_ID */ + if (m_row.m_trxid != 0) + set_field_ulonglong(f, m_row.m_trxid); + else + f->set_null(); + break; + case 6: /* GTID */ + set_field_varchar_utf8(f, m_row.m_gtid, m_row.m_gtid_length); + break; + case 7: /* XID_FORMAT_ID */ + if (!m_row.m_xa || m_row.m_xid.is_null()) + f->set_null(); + else + set_field_long(f, m_row.m_xid.formatID); + break; + case 8: /* XID_GTRID */ + if (!m_row.m_xa || m_row.m_xid.is_null() || m_row.m_xid.gtrid_length <= 0) + f->set_null(); + else + xid_store_gtrid(f, &m_row.m_xid); + break; + case 9: /* XID_BQUAL */ + if (!m_row.m_xa || m_row.m_xid.is_null() || m_row.m_xid.bqual_length <= 0) + f->set_null(); + else + xid_store_bqual(f, &m_row.m_xid); + break; + case 10: /* XA STATE */ + if (!m_row.m_xa || m_row.m_xid.is_null()) + f->set_null(); + else + set_field_xa_state(f, m_row.m_xa_state); + break; + case 11: /* SOURCE */ + set_field_varchar_utf8(f, m_row.m_source, m_row.m_source_length); + break; + case 12: /* TIMER_START */ + if (m_row.m_timer_start != 0) + set_field_ulonglong(f, m_row.m_timer_start); + else + f->set_null(); + break; + case 13: /* TIMER_END */ + if (m_row.m_timer_end != 0) + set_field_ulonglong(f, m_row.m_timer_end); + else + f->set_null(); + break; + case 14: /* TIMER_WAIT */ + if (m_row.m_timer_wait != 0) + set_field_ulonglong(f, m_row.m_timer_wait); + else + f->set_null(); + break; + case 15: /* ACCESS_MODE */ + set_field_enum(f, m_row.m_read_only ? TRANS_MODE_READ_ONLY + : TRANS_MODE_READ_WRITE); + break; + case 16: /* ISOLATION_LEVEL */ + set_field_isolation_level(f, m_row.m_isolation_level); + break; + case 17: /* AUTOCOMMIT */ + set_field_enum(f, m_row.m_autocommit ? ENUM_YES : ENUM_NO); + break; + case 18: /* NUMBER_OF_SAVEPOINTS */ + set_field_ulonglong(f, m_row.m_savepoint_count); + break; + case 19: /* NUMBER_OF_ROLLBACK_TO_SAVEPOINT */ + set_field_ulonglong(f, m_row.m_rollback_to_savepoint_count); + break; + case 20: /* NUMBER_OF_RELEASE_SAVEPOINT */ + set_field_ulonglong(f, m_row.m_release_savepoint_count); + break; + case 21: /* OBJECT_INSTANCE_BEGIN */ + f->set_null(); + break; + case 22: /* NESTING_EVENT_ID */ + if (m_row.m_nesting_event_id != 0) + set_field_ulonglong(f, m_row.m_nesting_event_id); + else + f->set_null(); + break; + case 23: /* NESTING_EVENT_TYPE */ + if (m_row.m_nesting_event_id != 0) + set_field_enum(f, m_row.m_nesting_event_type); + else + f->set_null(); + break; + default: + DBUG_ASSERT(false); + } + } + } + return 0; +} + +PFS_engine_table* table_events_transactions_current::create(void) +{ + return new table_events_transactions_current(); +} + +table_events_transactions_current::table_events_transactions_current() + : table_events_transactions_common(&m_share, &m_pos), + m_pos(0), m_next_pos(0) +{} + +void table_events_transactions_current::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +int table_events_transactions_current::rnd_init(bool scan) +{ + m_normalizer= time_normalizer::get(transaction_timer); + return 0; +} + +int table_events_transactions_current::rnd_next(void) +{ + PFS_thread *pfs_thread; + PFS_events_transactions *transaction; + bool has_more_thread= true; + + for (m_pos.set_at(&m_next_pos); + has_more_thread; + m_pos.next()) + { + pfs_thread= global_thread_container.get(m_pos.m_index, & has_more_thread); + if (pfs_thread != NULL) + { + transaction= &pfs_thread->m_transaction_current; + make_row(transaction); + m_next_pos.set_after(&m_pos); + return 0; + } + } + + return HA_ERR_END_OF_FILE; +} + +int table_events_transactions_current::rnd_pos(const void *pos) +{ + PFS_thread *pfs_thread; + PFS_events_transactions *transaction; + + set_position(pos); + + pfs_thread= global_thread_container.get(m_pos.m_index); + if (pfs_thread != NULL) + { + transaction= &pfs_thread->m_transaction_current; + if (transaction->m_class != NULL) + { + make_row(transaction); + return 0; + } + } + + return HA_ERR_RECORD_DELETED; +} + +int table_events_transactions_current::delete_all_rows(void) +{ + reset_events_transactions_current(); + return 0; +} + +ha_rows +table_events_transactions_current::get_row_count(void) +{ + return global_thread_container.get_row_count(); +} + +PFS_engine_table* table_events_transactions_history::create(void) +{ + return new table_events_transactions_history(); +} + +table_events_transactions_history::table_events_transactions_history() + : table_events_transactions_common(&m_share, &m_pos), + m_pos(), m_next_pos() +{} + +void table_events_transactions_history::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_events_transactions_history::rnd_init(bool scan) +{ + m_normalizer= time_normalizer::get(transaction_timer); + return 0; +} + +int table_events_transactions_history::rnd_next(void) +{ + PFS_thread *pfs_thread; + PFS_events_transactions *transaction; + bool has_more_thread= true; + + if (events_transactions_history_per_thread == 0) + return HA_ERR_END_OF_FILE; + + for (m_pos.set_at(&m_next_pos); + has_more_thread; + m_pos.next_thread()) + { + pfs_thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (pfs_thread != NULL) + { + if (m_pos.m_index_2 >= events_transactions_history_per_thread) + { + /* This thread does not have more (full) history */ + continue; + } + + if ( ! pfs_thread->m_transactions_history_full && + (m_pos.m_index_2 >= pfs_thread->m_transactions_history_index)) + { + /* This thread does not have more (not full) history */ + continue; + } + + transaction= &pfs_thread->m_transactions_history[m_pos.m_index_2]; + if (transaction->m_class != NULL) + { + make_row(transaction); + /* Next iteration, look for the next history in this thread */ + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + + return HA_ERR_END_OF_FILE; +} + +int table_events_transactions_history::rnd_pos(const void *pos) +{ + PFS_thread *pfs_thread; + PFS_events_transactions *transaction; + + DBUG_ASSERT(events_transactions_history_per_thread != 0); + set_position(pos); + + DBUG_ASSERT(m_pos.m_index_2 < events_transactions_history_per_thread); + + pfs_thread= global_thread_container.get(m_pos.m_index_1); + if (pfs_thread != NULL) + { + if ( ! pfs_thread->m_transactions_history_full && + (m_pos.m_index_2 >= pfs_thread->m_transactions_history_index)) + return HA_ERR_RECORD_DELETED; + + transaction= &pfs_thread->m_transactions_history[m_pos.m_index_2]; + if (transaction->m_class != NULL) + { + make_row(transaction); + return 0; + } + } + + return HA_ERR_RECORD_DELETED; +} + +int table_events_transactions_history::delete_all_rows(void) +{ + reset_events_transactions_history(); + return 0; +} + +ha_rows +table_events_transactions_history::get_row_count(void) +{ + return events_transactions_history_per_thread * global_thread_container.get_row_count(); +} + +PFS_engine_table* table_events_transactions_history_long::create(void) +{ + return new table_events_transactions_history_long(); +} + +table_events_transactions_history_long::table_events_transactions_history_long() + : table_events_transactions_common(&m_share, &m_pos), + m_pos(0), m_next_pos(0) +{} + +void table_events_transactions_history_long::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +int table_events_transactions_history_long::rnd_init(bool scan) +{ + m_normalizer= time_normalizer::get(transaction_timer); + return 0; +} + +int table_events_transactions_history_long::rnd_next(void) +{ + PFS_events_transactions *transaction; + uint limit; + + if (events_transactions_history_long_size == 0) + return HA_ERR_END_OF_FILE; + + if (events_transactions_history_long_full) + limit= events_transactions_history_long_size; + else + limit= events_transactions_history_long_index.m_u32 % events_transactions_history_long_size; + + for (m_pos.set_at(&m_next_pos); m_pos.m_index < limit; m_pos.next()) + { + transaction= &events_transactions_history_long_array[m_pos.m_index]; + + if (transaction->m_class != NULL) + { + make_row(transaction); + /* Next iteration, look for the next entry */ + m_next_pos.set_after(&m_pos); + return 0; + } + } + + return HA_ERR_END_OF_FILE; +} + +int table_events_transactions_history_long::rnd_pos(const void *pos) +{ + PFS_events_transactions *transaction; + uint limit; + + if (events_transactions_history_long_size == 0) + return HA_ERR_RECORD_DELETED; + + set_position(pos); + + if (events_transactions_history_long_full) + limit= events_transactions_history_long_size; + else + limit= events_transactions_history_long_index.m_u32 % events_transactions_history_long_size; + + if (m_pos.m_index >= limit) + return HA_ERR_RECORD_DELETED; + + transaction= &events_transactions_history_long_array[m_pos.m_index]; + + if (transaction->m_class == NULL) + return HA_ERR_RECORD_DELETED; + + make_row(transaction); + return 0; +} + +int table_events_transactions_history_long::delete_all_rows(void) +{ + reset_events_transactions_history_long(); + return 0; +} + +ha_rows +table_events_transactions_history_long::get_row_count(void) +{ + return events_transactions_history_long_size; +} + diff --git a/storage/perfschema/table_events_transactions.h b/storage/perfschema/table_events_transactions.h new file mode 100644 index 00000000000..10056c85d03 --- /dev/null +++ b/storage/perfschema/table_events_transactions.h @@ -0,0 +1,247 @@ +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_EVENTS_TRANSACTIONS_H +#define TABLE_EVENTS_TRANSACTIONS_H + +/** + @file storage/perfschema/table_events_HA_ERR_WRONG_COMMAND.h + Table EVENTS_TRANSACTIONS_xxx (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_events_transactions.h" +#include "table_helper.h" +#include "rpl_gtid.h" + +struct PFS_thread; + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** A row of table_events_transactions_common. */ +struct row_events_transactions +{ + /** Column THREAD_ID. */ + ulonglong m_thread_internal_id; + /** Column EVENT_ID. */ + ulonglong m_event_id; + /** Column END_EVENT_ID. */ + ulonglong m_end_event_id; + /** Column NESTING_EVENT_ID. */ + ulonglong m_nesting_event_id; + /** Column NESTING_EVENT_TYPE. */ + enum_event_type m_nesting_event_type; + /** Column EVENT_NAME. */ + const char *m_name; + /** Length in bytes of @c m_name. */ + uint m_name_length; + /** Column TIMER_START. */ + ulonglong m_timer_start; + /** Column TIMER_END. */ + ulonglong m_timer_end; + /** Column TIMER_WAIT. */ + ulonglong m_timer_wait; + /** Column SOURCE. */ + char m_source[COL_SOURCE_SIZE]; + /** Length in bytes of @c m_source. */ + uint m_source_length; + /** InnoDB transaction id. */ + ulonglong m_trxid; + /** Transaction state. */ + enum_transaction_state m_state; + /** Global Transaction ID. */ + char m_gtid[Gtid_specification::MAX_TEXT_LENGTH + 1]; + /** GTID length in bytes*/ + int m_gtid_length; + /** XA transaction ID. */ + PSI_xid m_xid; + /** XA transaction state. */ + enum_xa_transaction_state m_xa_state; + /** True if XA transaction. */ + bool m_xa; + /** True if autocommit transaction. */ + bool m_autocommit; + /** Isolation level. */ + enum_isolation_level m_isolation_level; + /** True if read-only, read-write otherwise. */ + bool m_read_only; + /** Column NUMBER_OF_SAVEPOINTS. */ + ulonglong m_savepoint_count; + /** Column NUMBER_OF_ROLLBACK_TO_SAVEPOINT. */ + ulonglong m_rollback_to_savepoint_count; + /** Column NUMBER_OF_RELEASE_SAVEPOINT. */ + ulonglong m_release_savepoint_count; +}; + +/** + Position of a cursor on PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_HISTORY. + Index 1 on thread (0 based) + Index 2 on transaction event record in thread history (0 based) +*/ +struct pos_events_transactions_history : public PFS_double_index +{ + pos_events_transactions_history() + : PFS_double_index(0, 0) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 0; + } + + inline void next_thread(void) + { + m_index_1++; + m_index_2= 0; + } +}; + +/** + Adapter, for table sharing the structure of + PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_CURRENT. +*/ +class table_events_transactions_common : public PFS_engine_table +{ +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_events_transactions_common(const PFS_engine_table_share *share, void *pos); + + ~table_events_transactions_common() + {} + + void make_row(PFS_events_transactions *statement); + + /** Current row. */ + row_events_transactions m_row; + /** True if the current row exists. */ + bool m_row_exists; +}; + +/** Table PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_CURRENT. */ +class table_events_transactions_current : public table_events_transactions_common +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + table_events_transactions_current(); + +public: + ~table_events_transactions_current() + {} + +private: + friend class table_events_transactions_history; + friend class table_events_transactions_history_long; + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** + Fields definition. + Also used by table_events_transactions_history + and table_events_transactions_history_long. + */ + static TABLE_FIELD_DEF m_field_def; + + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; +}; + +/** Table PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_HISTORY. */ +class table_events_transactions_history : public table_events_transactions_common +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + table_events_transactions_history(); + +public: + ~table_events_transactions_history() + {} + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + + /** Current position. */ + pos_events_transactions_history m_pos; + /** Next position. */ + pos_events_transactions_history m_next_pos; +}; + +/** Table PERFORMANCE_SCHEMA.EVENTS_TRANSACTIONS_HISTORY_LONG. */ +class table_events_transactions_history_long : public table_events_transactions_common +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + table_events_transactions_history_long(); + +public: + ~table_events_transactions_history_long() + {} + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_events_waits.cc b/storage/perfschema/table_events_waits.cc index 0966c9ee9ae..c4e3eb90efb 100644 --- a/storage/perfschema/table_events_waits.cc +++ b/storage/perfschema/table_events_waits.cc @@ -19,7 +19,7 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_events_waits.h" #include "pfs_global.h" #include "pfs_instr_class.h" @@ -27,6 +27,8 @@ #include "pfs_events_waits.h" #include "pfs_timer.h" #include "m_string.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_events_waits_current::m_table_lock; @@ -109,7 +111,7 @@ static const TABLE_FIELD_TYPE field_types[]= }, { { C_STRING_WITH_LEN("NESTING_EVENT_TYPE") }, - { C_STRING_WITH_LEN("enum(\'STATEMENT\',\'STAGE\',\'WAIT\'") }, + { C_STRING_WITH_LEN("enum(\'TRANSACTION\',\'STATEMENT\',\'STAGE\',\'WAIT\'") }, { NULL, 0} }, { @@ -138,15 +140,15 @@ table_events_waits_current::m_share= { { C_STRING_WITH_LEN("events_waits_current") }, &pfs_truncatable_acl, - &table_events_waits_current::create, + table_events_waits_current::create, NULL, /* write_row */ - &table_events_waits_current::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_events_waits_current::delete_all_rows, + table_events_waits_current::get_row_count, sizeof(pos_events_waits_current), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; THR_LOCK table_events_waits_history::m_table_lock; @@ -156,15 +158,15 @@ table_events_waits_history::m_share= { { C_STRING_WITH_LEN("events_waits_history") }, &pfs_truncatable_acl, - &table_events_waits_history::create, + table_events_waits_history::create, NULL, /* write_row */ - &table_events_waits_history::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_events_waits_history::delete_all_rows, + table_events_waits_history::get_row_count, sizeof(pos_events_waits_history), /* ref length */ &m_table_lock, &table_events_waits_current::m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; THR_LOCK table_events_waits_history_long::m_table_lock; @@ -174,15 +176,15 @@ table_events_waits_history_long::m_share= { { C_STRING_WITH_LEN("events_waits_history_long") }, &pfs_truncatable_acl, - &table_events_waits_history_long::create, + table_events_waits_history_long::create, NULL, /* write_row */ - &table_events_waits_history_long::delete_all_rows, - NULL, /* get_row_count */ - 10000, /* records */ + table_events_waits_history_long::delete_all_rows, + table_events_waits_history_long::get_row_count, sizeof(PFS_simple_index), /* ref length */ &m_table_lock, &table_events_waits_current::m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; table_events_waits_common::table_events_waits_common @@ -193,15 +195,13 @@ table_events_waits_common::table_events_waits_common void table_events_waits_common::clear_object_columns() { - m_row.m_object_type= NULL; m_row.m_object_type_length= 0; m_row.m_object_schema_length= 0; m_row.m_object_name_length= 0; m_row.m_index_name_length= 0; - m_row.m_object_instance_addr= 0; } -int table_events_waits_common::make_table_object_columns(volatile PFS_events_waits *wait) +int table_events_waits_common::make_table_object_columns(PFS_events_waits *wait) { uint safe_index; PFS_table_share *safe_table_share; @@ -242,15 +242,28 @@ int table_events_waits_common::make_table_object_columns(volatile PFS_events_wai uint safe_key_count= sanitize_index_count(safe_table_share->m_key_count); if (safe_index < safe_key_count) { - PFS_table_key *key= & safe_table_share->m_keys[safe_index]; - m_row.m_index_name_length= key->m_name_length; - if (unlikely((m_row.m_index_name_length == 0) || - (m_row.m_index_name_length > sizeof(m_row.m_index_name)))) - return 1; - memcpy(m_row.m_index_name, key->m_name, m_row.m_index_name_length); + PFS_table_share_index *index_stat; + index_stat= safe_table_share->find_index_stat(safe_index); + + if (index_stat != NULL) + { + m_row.m_index_name_length= index_stat->m_key.m_name_length; + + if (unlikely((m_row.m_index_name_length == 0) || + (m_row.m_index_name_length > sizeof(m_row.m_index_name)))) + return 1; + + memcpy(m_row.m_index_name, index_stat->m_key.m_name, m_row.m_index_name_length); + } + else + { + m_row.m_index_name_length= 0; + } } else + { m_row.m_index_name_length= 0; + } } else { @@ -263,7 +276,7 @@ int table_events_waits_common::make_table_object_columns(volatile PFS_events_wai return 0; } -int table_events_waits_common::make_file_object_columns(volatile PFS_events_waits *wait) +int table_events_waits_common::make_file_object_columns(PFS_events_waits *wait) { PFS_file *safe_file; @@ -295,7 +308,7 @@ int table_events_waits_common::make_file_object_columns(volatile PFS_events_wait return 0; } -int table_events_waits_common::make_socket_object_columns(volatile PFS_events_waits *wait) +int table_events_waits_common::make_socket_object_columns(PFS_events_waits *wait) { PFS_socket *safe_socket; @@ -324,7 +337,7 @@ int table_events_waits_common::make_socket_object_columns(volatile PFS_events_wa safe_socket->m_addr_len); /* Convert port number to a string (length includes ':') */ - int port_len= int10_to_str(port, (port_str+1), 10) - port_str + 1; + size_t port_len= int10_to_str(port, (port_str+1), 10) - port_str + 1; /* OBJECT NAME */ m_row.m_object_name_length= ip_len + port_len; @@ -347,19 +360,126 @@ int table_events_waits_common::make_socket_object_columns(volatile PFS_events_wa return 0; } +int table_events_waits_common::make_metadata_lock_object_columns(PFS_events_waits *wait) +{ + PFS_metadata_lock *safe_metadata_lock; + + safe_metadata_lock= sanitize_metadata_lock(wait->m_weak_metadata_lock); + if (unlikely(safe_metadata_lock == NULL)) + return 1; + + if (safe_metadata_lock->get_version() == wait->m_weak_version) + { + MDL_key *mdl= & safe_metadata_lock->m_mdl_key; + + switch(mdl->mdl_namespace()) + { + case MDL_key::GLOBAL: + m_row.m_object_type= "GLOBAL"; + m_row.m_object_type_length= 6; + m_row.m_object_schema_length= 0; + m_row.m_object_name_length= 0; + break; + case MDL_key::SCHEMA: + m_row.m_object_type= "SCHEMA"; + m_row.m_object_type_length= 6; + m_row.m_object_schema_length= mdl->db_name_length(); + m_row.m_object_name_length= 0; + break; + case MDL_key::TABLE: + m_row.m_object_type= "TABLE"; + m_row.m_object_type_length= 5; + m_row.m_object_schema_length= mdl->db_name_length(); + m_row.m_object_name_length= mdl->name_length(); + break; + case MDL_key::FUNCTION: + m_row.m_object_type= "FUNCTION"; + m_row.m_object_type_length= 8; + m_row.m_object_schema_length= mdl->db_name_length(); + m_row.m_object_name_length= mdl->name_length(); + break; + case MDL_key::PROCEDURE: + m_row.m_object_type= "PROCEDURE"; + m_row.m_object_type_length= 9; + m_row.m_object_schema_length= mdl->db_name_length(); + m_row.m_object_name_length= mdl->name_length(); + break; + case MDL_key::TRIGGER: + m_row.m_object_type= "TRIGGER"; + m_row.m_object_type_length= 7; + m_row.m_object_schema_length= mdl->db_name_length(); + m_row.m_object_name_length= mdl->name_length(); + break; + case MDL_key::EVENT: + m_row.m_object_type= "EVENT"; + m_row.m_object_type_length= 5; + m_row.m_object_schema_length= mdl->db_name_length(); + m_row.m_object_name_length= mdl->name_length(); + break; + case MDL_key::COMMIT: + m_row.m_object_type= "COMMIT"; + m_row.m_object_type_length= 6; + m_row.m_object_schema_length= 0; + m_row.m_object_name_length= 0; + break; + case MDL_key::USER_LEVEL_LOCK: + m_row.m_object_type= "USER LEVEL LOCK"; + m_row.m_object_type_length= 15; + m_row.m_object_schema_length= 0; + m_row.m_object_name_length= mdl->name_length(); + break; + case MDL_key::TABLESPACE: + m_row.m_object_type= "TABLESPACE"; + m_row.m_object_type_length= 10; + m_row.m_object_schema_length= 0; + m_row.m_object_name_length= mdl->name_length(); + break; + case MDL_key::LOCKING_SERVICE: + m_row.m_object_type= "LOCKING SERVICE"; + m_row.m_object_type_length= 15; + m_row.m_object_schema_length= mdl->db_name_length(); + m_row.m_object_name_length= mdl->name_length(); + break; + case MDL_key::NAMESPACE_END: + default: + m_row.m_object_type_length= 0; + m_row.m_object_schema_length= 0; + m_row.m_object_name_length= 0; + break; + } + + if (m_row.m_object_schema_length > sizeof(m_row.m_object_schema)) + return 1; + if (m_row.m_object_schema_length > 0) + memcpy(m_row.m_object_schema, mdl->db_name(), m_row.m_object_schema_length); + + if (m_row.m_object_name_length > sizeof(m_row.m_object_name)) + return 1; + if (m_row.m_object_name_length > 0) + memcpy(m_row.m_object_name, mdl->name(), m_row.m_object_name_length); + + m_row.m_object_instance_addr= (intptr) wait->m_object_instance_addr; + } + else + { + m_row.m_object_type_length= 0; + m_row.m_object_schema_length= 0; + m_row.m_object_name_length= 0; + m_row.m_object_instance_addr= 0; + } + + /* INDEX NAME */ + m_row.m_index_name_length= 0; + + return 0; +} + /** Build a row. - @param thread_own_wait True if the memory for the wait - is owned by pfs_thread - @param pfs_thread the thread the cursor is reading @param wait the wait the cursor is reading */ -void table_events_waits_common::make_row(bool thread_own_wait, - PFS_thread *pfs_thread, - volatile PFS_events_waits *wait) +void table_events_waits_common::make_row(PFS_events_waits *wait) { - pfs_lock lock; - PFS_thread *safe_thread; PFS_instr_class *safe_class; const char *base; const char *safe_source_file; @@ -367,13 +487,6 @@ void table_events_waits_common::make_row(bool thread_own_wait, ulonglong timer_end; m_row_exists= false; - safe_thread= sanitize_thread(pfs_thread); - if (unlikely(safe_thread == NULL)) - return; - - /* Protect this reader against a thread termination */ - if (thread_own_wait) - safe_thread->m_lock.begin_optimistic_lock(&lock); /* Design choice: @@ -400,21 +513,30 @@ void table_events_waits_common::make_row(bool thread_own_wait, */ switch (wait->m_wait_class) { + case WAIT_CLASS_METADATA: + if (make_metadata_lock_object_columns(wait)) + return; + safe_class= sanitize_metadata_class(wait->m_class); + break; case WAIT_CLASS_IDLE: clear_object_columns(); + m_row.m_object_instance_addr= 0; safe_class= sanitize_idle_class(wait->m_class); timer_name= idle_timer; break; case WAIT_CLASS_MUTEX: clear_object_columns(); + m_row.m_object_instance_addr= (intptr) wait->m_object_instance_addr; safe_class= sanitize_mutex_class((PFS_mutex_class*) wait->m_class); break; case WAIT_CLASS_RWLOCK: clear_object_columns(); + m_row.m_object_instance_addr= (intptr) wait->m_object_instance_addr; safe_class= sanitize_rwlock_class((PFS_rwlock_class*) wait->m_class); break; case WAIT_CLASS_COND: clear_object_columns(); + m_row.m_object_instance_addr= (intptr) wait->m_object_instance_addr; safe_class= sanitize_cond_class((PFS_cond_class*) wait->m_class); break; case WAIT_CLASS_TABLE: @@ -440,7 +562,7 @@ void table_events_waits_common::make_row(bool thread_own_wait, if (unlikely(safe_class == NULL)) return; - m_row.m_thread_internal_id= safe_thread->m_thread_internal_id; + m_row.m_thread_internal_id= wait->m_thread_internal_id; m_row.m_event_id= wait->m_event_id; m_row.m_end_event_id= wait->m_end_event_id; m_row.m_nesting_event_id= wait->m_nesting_event_id; @@ -480,22 +602,7 @@ void table_events_waits_common::make_row(bool thread_own_wait, m_row.m_number_of_bytes= wait->m_number_of_bytes; m_row.m_flags= wait->m_flags; - if (thread_own_wait) - { - if (safe_thread->m_lock.end_optimistic_lock(&lock)) - m_row_exists= true; - } - else - { - /* - For EVENTS_WAITS_HISTORY_LONG (thread_own_wait is false), - the wait record is always valid, because it is not stored - in memory owned by pfs_thread. - Even when the thread terminated, the record is mostly readable, - so this record is displayed. - */ - m_row_exists= true; - } + m_row_exists= true; } /** @@ -512,12 +619,20 @@ static const LEX_STRING operation_names_map[]= { C_STRING_WITH_LEN("lock") }, { C_STRING_WITH_LEN("try_lock") }, - /* RWLock operations */ + /* RWLock operations (RW-lock) */ { C_STRING_WITH_LEN("read_lock") }, { C_STRING_WITH_LEN("write_lock") }, { C_STRING_WITH_LEN("try_read_lock") }, { C_STRING_WITH_LEN("try_write_lock") }, + /* RWLock operations (SX-lock) */ + { C_STRING_WITH_LEN("shared_lock") }, + { C_STRING_WITH_LEN("shared_exclusive_lock") }, + { C_STRING_WITH_LEN("exclusive_lock") }, + { C_STRING_WITH_LEN("try_shared_lock") }, + { C_STRING_WITH_LEN("try_shared_exclusive_lock") }, + { C_STRING_WITH_LEN("try_exclusive_lock") }, + /* Condition operations */ { C_STRING_WITH_LEN("wait") }, { C_STRING_WITH_LEN("timed_wait") }, @@ -554,7 +669,6 @@ static const LEX_STRING operation_names_map[]= { C_STRING_WITH_LEN("read no inserts") }, { C_STRING_WITH_LEN("write allow write") }, { C_STRING_WITH_LEN("write concurrent insert") }, - { C_STRING_WITH_LEN("write delayed") }, { C_STRING_WITH_LEN("write low priority") }, { C_STRING_WITH_LEN("write normal") }, { C_STRING_WITH_LEN("read external") }, @@ -578,7 +692,10 @@ static const LEX_STRING operation_names_map[]= { C_STRING_WITH_LEN("select") }, /* Idle operations */ - { C_STRING_WITH_LEN("idle") } + { C_STRING_WITH_LEN("idle") }, + + /* Medatada lock operations */ + { C_STRING_WITH_LEN("metadata lock") } }; @@ -682,7 +799,7 @@ int table_events_waits_common::read_row_values(TABLE *table, f->set_null(); break; case 12: /* OBJECT_TYPE */ - if (m_row.m_object_type) + if (m_row.m_object_type_length > 0) { set_field_varchar_utf8(f, m_row.m_object_type, m_row.m_object_type_length); @@ -709,14 +826,18 @@ int table_events_waits_common::read_row_values(TABLE *table, operation= &operation_names_map[(int) m_row.m_operation - 1]; set_field_varchar_utf8(f, operation->str, operation->length); break; - case 17: /* NUMBER_OF_BYTES */ + case 17: /* NUMBER_OF_BYTES (also used for ROWS) */ if ((m_row.m_operation == OPERATION_TYPE_FILEREAD) || (m_row.m_operation == OPERATION_TYPE_FILEWRITE) || (m_row.m_operation == OPERATION_TYPE_FILECHSIZE) || (m_row.m_operation == OPERATION_TYPE_SOCKETSEND) || (m_row.m_operation == OPERATION_TYPE_SOCKETRECV) || (m_row.m_operation == OPERATION_TYPE_SOCKETSENDTO) || - (m_row.m_operation == OPERATION_TYPE_SOCKETRECVFROM)) + (m_row.m_operation == OPERATION_TYPE_SOCKETRECVFROM) || + (m_row.m_operation == OPERATION_TYPE_TABLE_FETCH) || + (m_row.m_operation == OPERATION_TYPE_TABLE_WRITE_ROW) || + (m_row.m_operation == OPERATION_TYPE_TABLE_UPDATE_ROW) || + (m_row.m_operation == OPERATION_TYPE_TABLE_DELETE_ROW)) set_field_ulonglong(f, m_row.m_number_of_bytes); else f->set_null(); @@ -752,28 +873,77 @@ int table_events_waits_current::rnd_next(void) { PFS_thread *pfs_thread; PFS_events_waits *wait; + bool has_more_thread= true; for (m_pos.set_at(&m_next_pos); - m_pos.m_index_1 < thread_max; + has_more_thread; m_pos.next_thread()) { - pfs_thread= &thread_array[m_pos.m_index_1]; - - if (! pfs_thread->m_lock.is_populated()) + pfs_thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (pfs_thread != NULL) { - /* This thread does not exist */ - continue; + /* + We do not show nested events for now, + this will be revised with TABLE io + */ +// #define ONLY_SHOW_ONE_WAIT + +#ifdef ONLY_SHOW_ONE_WAIT + if (m_pos.m_index_2 >= 1) + continue; +#else + /* m_events_waits_stack[0] is a dummy record */ + PFS_events_waits *top_wait = &pfs_thread->m_events_waits_stack[WAIT_STACK_BOTTOM]; + wait= &pfs_thread->m_events_waits_stack[m_pos.m_index_2 + WAIT_STACK_BOTTOM]; + + PFS_events_waits *safe_current = pfs_thread->m_events_waits_current; + + if (safe_current == top_wait) + { + /* Display the last top level wait, when completed */ + if (m_pos.m_index_2 >= 1) + continue; + } + else + { + /* Display all pending waits, when in progress */ + if (wait >= safe_current) + continue; + } +#endif + + if (wait->m_wait_class == NO_WAIT_CLASS) + { + /* + This locker does not exist. + There can not be more lockers in the stack, skip to the next thread + */ + continue; + } + + make_row(pfs_thread, wait); + /* Next iteration, look for the next locker in this thread */ + m_next_pos.set_after(&m_pos); + return 0; } + } - /* - We do not show nested events for now, - this will be revised with TABLE io - */ -// #define ONLY_SHOW_ONE_WAIT + return HA_ERR_END_OF_FILE; +} +int table_events_waits_current::rnd_pos(const void *pos) +{ + PFS_thread *pfs_thread; + PFS_events_waits *wait; + + set_position(pos); + + pfs_thread= global_thread_container.get(m_pos.m_index_1); + if (pfs_thread != NULL) + { #ifdef ONLY_SHOW_ONE_WAIT if (m_pos.m_index_2 >= 1) - continue; + return HA_ERR_RECORD_DELETED; #else /* m_events_waits_stack[0] is a dummy record */ PFS_events_waits *top_wait = &pfs_thread->m_events_waits_stack[WAIT_STACK_BOTTOM]; @@ -785,77 +955,39 @@ int table_events_waits_current::rnd_next(void) { /* Display the last top level wait, when completed */ if (m_pos.m_index_2 >= 1) - continue; + return HA_ERR_RECORD_DELETED; } else { /* Display all pending waits, when in progress */ if (wait >= safe_current) - continue; + return HA_ERR_RECORD_DELETED; } #endif - if (wait->m_wait_class == NO_WAIT_CLASS) + DBUG_ASSERT(m_pos.m_index_2 < WAIT_STACK_LOGICAL_SIZE); + + if (wait->m_wait_class != NO_WAIT_CLASS) { - /* - This locker does not exist. - There can not be more lockers in the stack, skip to the next thread - */ - continue; + make_row(pfs_thread, wait); + return 0; } - - make_row(true, pfs_thread, wait); - /* Next iteration, look for the next locker in this thread */ - m_next_pos.set_after(&m_pos); - return 0; } - return HA_ERR_END_OF_FILE; + return HA_ERR_RECORD_DELETED; } -int table_events_waits_current::rnd_pos(const void *pos) +void table_events_waits_current::make_row(PFS_thread *thread, PFS_events_waits *wait) { - PFS_thread *pfs_thread; - PFS_events_waits *wait; - - set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < thread_max); - pfs_thread= &thread_array[m_pos.m_index_1]; + pfs_optimistic_state lock; - if (! pfs_thread->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - -#ifdef ONLY_SHOW_ONE_WAIT - if (m_pos.m_index_2 >= 1) - return HA_ERR_RECORD_DELETED; -#else - /* m_events_waits_stack[0] is a dummy record */ - PFS_events_waits *top_wait = &pfs_thread->m_events_waits_stack[WAIT_STACK_BOTTOM]; - wait= &pfs_thread->m_events_waits_stack[m_pos.m_index_2 + WAIT_STACK_BOTTOM]; - - PFS_events_waits *safe_current = pfs_thread->m_events_waits_current; - - if (safe_current == top_wait) - { - /* Display the last top level wait, when completed */ - if (m_pos.m_index_2 >= 1) - return HA_ERR_RECORD_DELETED; - } - else - { - /* Display all pending waits, when in progress */ - if (wait >= safe_current) - return HA_ERR_RECORD_DELETED; - } -#endif - - DBUG_ASSERT(m_pos.m_index_2 < WAIT_STACK_LOGICAL_SIZE); + /* Protect this reader against a thread termination */ + thread->m_lock.begin_optimistic_lock(&lock); - if (wait->m_wait_class == NO_WAIT_CLASS) - return HA_ERR_RECORD_DELETED; + table_events_waits_common::make_row(wait); - make_row(true, pfs_thread, wait); - return 0; + if (! thread->m_lock.end_optimistic_lock(&lock)) + m_row_exists= false; } int table_events_waits_current::delete_all_rows(void) @@ -864,6 +996,12 @@ int table_events_waits_current::delete_all_rows(void) return 0; } +ha_rows +table_events_waits_current::get_row_count(void) +{ + return WAIT_STACK_SIZE * global_thread_container.get_row_count(); +} + PFS_engine_table* table_events_waits_history::create(void) { return new table_events_waits_history(); @@ -884,51 +1022,40 @@ int table_events_waits_history::rnd_next(void) { PFS_thread *pfs_thread; PFS_events_waits *wait; + bool has_more_thread= true; if (events_waits_history_per_thread == 0) return HA_ERR_END_OF_FILE; for (m_pos.set_at(&m_next_pos); - m_pos.m_index_1 < thread_max; + has_more_thread; m_pos.next_thread()) { - pfs_thread= &thread_array[m_pos.m_index_1]; - - if (! pfs_thread->m_lock.is_populated()) - { - /* This thread does not exist */ - continue; - } - - if (m_pos.m_index_2 >= events_waits_history_per_thread) + pfs_thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (pfs_thread != NULL) { - /* This thread does not have more (full) history */ - continue; - } + if (m_pos.m_index_2 >= events_waits_history_per_thread) + { + /* This thread does not have more (full) history */ + continue; + } - if ( ! pfs_thread->m_waits_history_full && - (m_pos.m_index_2 >= pfs_thread->m_waits_history_index)) - { - /* This thread does not have more (not full) history */ - continue; - } + if ( ! pfs_thread->m_waits_history_full && + (m_pos.m_index_2 >= pfs_thread->m_waits_history_index)) + { + /* This thread does not have more (not full) history */ + continue; + } - if (pfs_thread->m_waits_history[m_pos.m_index_2].m_wait_class - == NO_WAIT_CLASS) - { - /* - This locker does not exist. - There can not be more lockers in the stack, skip to the next thread - */ - continue; + wait= &pfs_thread->m_waits_history[m_pos.m_index_2]; + if (wait->m_wait_class != NO_WAIT_CLASS) + { + make_row(pfs_thread, wait); + /* Next iteration, look for the next history in this thread */ + m_next_pos.set_after(&m_pos); + return 0; + } } - - wait= &pfs_thread->m_waits_history[m_pos.m_index_2]; - - make_row(true, pfs_thread, wait); - /* Next iteration, look for the next history in this thread */ - m_next_pos.set_after(&m_pos); - return 0; } return HA_ERR_END_OF_FILE; @@ -941,25 +1068,39 @@ int table_events_waits_history::rnd_pos(const void *pos) DBUG_ASSERT(events_waits_history_per_thread != 0); set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < thread_max); - pfs_thread= &thread_array[m_pos.m_index_1]; - if (! pfs_thread->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; + pfs_thread= global_thread_container.get(m_pos.m_index_1); + if (pfs_thread != NULL) + { + DBUG_ASSERT(m_pos.m_index_2 < events_waits_history_per_thread); - DBUG_ASSERT(m_pos.m_index_2 < events_waits_history_per_thread); + if ( ! pfs_thread->m_waits_history_full && + (m_pos.m_index_2 >= pfs_thread->m_waits_history_index)) + return HA_ERR_RECORD_DELETED; - if ( ! pfs_thread->m_waits_history_full && - (m_pos.m_index_2 >= pfs_thread->m_waits_history_index)) - return HA_ERR_RECORD_DELETED; + wait= &pfs_thread->m_waits_history[m_pos.m_index_2]; - wait= &pfs_thread->m_waits_history[m_pos.m_index_2]; + if (wait->m_wait_class != NO_WAIT_CLASS) + { + make_row(pfs_thread, wait); + return 0; + } + } - if (wait->m_wait_class == NO_WAIT_CLASS) - return HA_ERR_RECORD_DELETED; + return HA_ERR_RECORD_DELETED; +} - make_row(true, pfs_thread, wait); - return 0; +void table_events_waits_history::make_row(PFS_thread *thread, PFS_events_waits *wait) +{ + pfs_optimistic_state lock; + + /* Protect this reader against a thread termination */ + thread->m_lock.begin_optimistic_lock(&lock); + + table_events_waits_common::make_row(wait); + + if (! thread->m_lock.end_optimistic_lock(&lock)) + m_row_exists= false; } int table_events_waits_history::delete_all_rows(void) @@ -968,6 +1109,12 @@ int table_events_waits_history::delete_all_rows(void) return 0; } +ha_rows +table_events_waits_history::get_row_count(void) +{ + return events_waits_history_per_thread * global_thread_container.get_row_count(); +} + PFS_engine_table* table_events_waits_history_long::create(void) { return new table_events_waits_history_long(); @@ -995,7 +1142,7 @@ int table_events_waits_history_long::rnd_next(void) if (events_waits_history_long_full) limit= events_waits_history_long_size; else - limit= events_waits_history_long_index % events_waits_history_long_size; + limit= events_waits_history_long_index.m_u32 % events_waits_history_long_size; for (m_pos.set_at(&m_next_pos); m_pos.m_index < limit; m_pos.next()) { @@ -1003,7 +1150,7 @@ int table_events_waits_history_long::rnd_next(void) if (wait->m_wait_class != NO_WAIT_CLASS) { - make_row(false, wait->m_thread, wait); + make_row(wait); /* Next iteration, look for the next entry */ m_next_pos.set_after(&m_pos); return 0; @@ -1026,7 +1173,7 @@ int table_events_waits_history_long::rnd_pos(const void *pos) if (events_waits_history_long_full) limit= events_waits_history_long_size; else - limit= events_waits_history_long_index % events_waits_history_long_size; + limit= events_waits_history_long_index.m_u32 % events_waits_history_long_size; if (m_pos.m_index >= limit) return HA_ERR_RECORD_DELETED; @@ -1036,7 +1183,7 @@ int table_events_waits_history_long::rnd_pos(const void *pos) if (wait->m_wait_class == NO_WAIT_CLASS) return HA_ERR_RECORD_DELETED; - make_row(false, wait->m_thread, wait); + make_row(wait); return 0; } @@ -1046,3 +1193,9 @@ int table_events_waits_history_long::delete_all_rows(void) return 0; } +ha_rows +table_events_waits_history_long::get_row_count(void) +{ + return events_waits_history_long_size; +} + diff --git a/storage/perfschema/table_events_waits.h b/storage/perfschema/table_events_waits.h index 065bf95e5a6..74aced71aff 100644 --- a/storage/perfschema/table_events_waits.h +++ b/storage/perfschema/table_events_waits.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -143,12 +143,12 @@ protected: {} void clear_object_columns(); - int make_table_object_columns(volatile PFS_events_waits *wait); - int make_file_object_columns(volatile PFS_events_waits *wait); - int make_socket_object_columns(volatile PFS_events_waits *wait); + int make_table_object_columns(PFS_events_waits *wait); + int make_file_object_columns(PFS_events_waits *wait); + int make_socket_object_columns(PFS_events_waits *wait); + int make_metadata_lock_object_columns(PFS_events_waits *wait); - void make_row(bool thread_own_wait, PFS_thread *pfs_thread, - volatile PFS_events_waits *wait); + void make_row(PFS_events_waits *wait); /** Current row. */ row_events_waits m_row; @@ -164,6 +164,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); @@ -189,6 +190,8 @@ private: */ static TABLE_FIELD_DEF m_field_def; + void make_row(PFS_thread *thread, PFS_events_waits *wait); + /** Current position. */ pos_events_waits_current m_pos; /** Next position. */ @@ -203,6 +206,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); @@ -219,6 +223,8 @@ private: /** Table share lock. */ static THR_LOCK m_table_lock; + void make_row(PFS_thread *thread, PFS_events_waits *wait); + /** Current position. */ pos_events_waits_history m_pos; /** Next position. */ @@ -233,6 +239,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_events_waits_summary.cc b/storage/perfschema/table_events_waits_summary.cc index f437e83f3ff..7da688e6eb0 100644 --- a/storage/perfschema/table_events_waits_summary.cc +++ b/storage/perfschema/table_events_waits_summary.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,12 +19,13 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_events_waits_summary.h" #include "pfs_global.h" +#include "field.h" THR_LOCK table_events_waits_summary_by_instance::m_table_lock; @@ -76,15 +77,15 @@ table_events_waits_summary_by_instance::m_share= { { C_STRING_WITH_LEN("events_waits_summary_by_instance") }, &pfs_truncatable_acl, - &table_events_waits_summary_by_instance::create, + table_events_waits_summary_by_instance::create, NULL, /* write_row */ - &table_events_waits_summary_by_instance::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_events_waits_summary_by_instance::delete_all_rows, + table_all_instr::get_row_count, sizeof(pos_all_instr), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_events_waits_summary_by_instance::create(void) @@ -108,7 +109,7 @@ void table_events_waits_summary_by_instance const void *object_instance_begin, PFS_single_stat *pfs_stat) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; /* diff --git a/storage/perfschema/table_events_waits_summary.h b/storage/perfschema/table_events_waits_summary.h index 7463ace3eb6..1d42f0e5615 100644 --- a/storage/perfschema/table_events_waits_summary.h +++ b/storage/perfschema/table_events_waits_summary.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/storage/perfschema/table_ews_by_account_by_event_name.cc b/storage/perfschema/table_ews_by_account_by_event_name.cc index a4b44458027..3d2cca20f80 100644 --- a/storage/perfschema/table_ews_by_account_by_event_name.cc +++ b/storage/perfschema/table_ews_by_account_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,13 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_ews_by_account_by_event_name.h" #include "pfs_global.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_ews_by_account_by_event_name::m_table_lock; @@ -33,7 +35,7 @@ static const TABLE_FIELD_TYPE field_types[]= { { { C_STRING_WITH_LEN("USER") }, - { C_STRING_WITH_LEN("char(16)") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, { NULL, 0} }, { @@ -85,12 +87,12 @@ table_ews_by_account_by_event_name::m_share= table_ews_by_account_by_event_name::create, NULL, /* write_row */ table_ews_by_account_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_ews_by_account_by_event_name::get_row_count, sizeof(pos_ews_by_account_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -107,6 +109,12 @@ table_ews_by_account_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_ews_by_account_by_event_name::get_row_count(void) +{ + return global_account_container.get_row_count() * wait_class_max; +} + table_ews_by_account_by_event_name::table_ews_by_account_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -122,13 +130,14 @@ int table_ews_by_account_by_event_name::rnd_next(void) { PFS_account *account; PFS_instr_class *instr_class; + bool has_more_account= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_account(); + has_more_account; m_pos.next_account()) { - account= &account_array[m_pos.m_index_1]; - if (account->m_lock.is_populated()) + account= global_account_container.get(m_pos.m_index_1, & has_more_account); + if (account != NULL) { for ( ; m_pos.has_more_view(); @@ -157,6 +166,9 @@ int table_ews_by_account_by_event_name::rnd_next(void) case pos_ews_by_account_by_event_name::VIEW_IDLE: instr_class= find_idle_class(m_pos.m_index_3); break; + case pos_ews_by_account_by_event_name::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_3); + break; default: instr_class= NULL; DBUG_ASSERT(false); @@ -183,10 +195,9 @@ table_ews_by_account_by_event_name::rnd_pos(const void *pos) PFS_instr_class *instr_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < account_max); - account= &account_array[m_pos.m_index_1]; - if (! account->m_lock.is_populated()) + account= global_account_container.get(m_pos.m_index_1); + if (account == NULL) return HA_ERR_RECORD_DELETED; switch (m_pos.m_index_2) @@ -212,6 +223,9 @@ table_ews_by_account_by_event_name::rnd_pos(const void *pos) case pos_ews_by_account_by_event_name::VIEW_IDLE: instr_class= find_idle_class(m_pos.m_index_3); break; + case pos_ews_by_account_by_event_name::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_3); + break; default: instr_class= NULL; DBUG_ASSERT(false); @@ -228,7 +242,7 @@ table_ews_by_account_by_event_name::rnd_pos(const void *pos) void table_ews_by_account_by_event_name ::make_row(PFS_account *account, PFS_instr_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; account->m_lock.begin_optimistic_lock(&lock); @@ -239,7 +253,10 @@ void table_ews_by_account_by_event_name m_row.m_event_name.make_row(klass); PFS_connection_wait_visitor visitor(klass); - PFS_connection_iterator::visit_account(account, true, & visitor); + PFS_connection_iterator::visit_account(account, + true, /* threads */ + false, /* THDs */ + & visitor); if (! account->m_lock.end_optimistic_lock(&lock)) return; diff --git a/storage/perfschema/table_ews_by_account_by_event_name.h b/storage/perfschema/table_ews_by_account_by_event_name.h index 8ccfee599eb..1b433b50fe2 100644 --- a/storage/perfschema/table_ews_by_account_by_event_name.h +++ b/storage/perfschema/table_ews_by_account_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ struct row_ews_by_account_by_event_name /** Position of a cursor on PERFORMANCE_SCHEMA.EVENTS_WAITS_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. - Index 1 on user@host (0 based) + Index 1 on account (0 based) Index 2 on instrument view Index 3 on instrument class (1 based) */ @@ -68,9 +68,6 @@ struct pos_ews_by_account_by_event_name m_index_3= 1; } - inline bool has_more_account(void) - { return (m_index_1 < account_max); } - inline void next_account(void) { m_index_1++; @@ -96,6 +93,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_ews_by_host_by_event_name.cc b/storage/perfschema/table_ews_by_host_by_event_name.cc index 5a02235bcb2..d57d512bd6a 100644 --- a/storage/perfschema/table_ews_by_host_by_event_name.cc +++ b/storage/perfschema/table_ews_by_host_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" @@ -27,6 +27,8 @@ #include "pfs_global.h" #include "pfs_account.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_ews_by_host_by_event_name::m_table_lock; @@ -81,12 +83,12 @@ table_ews_by_host_by_event_name::m_share= table_ews_by_host_by_event_name::create, NULL, /* write_row */ table_ews_by_host_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_ews_by_host_by_event_name::get_row_count, sizeof(pos_ews_by_host_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -104,6 +106,12 @@ table_ews_by_host_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_ews_by_host_by_event_name::get_row_count(void) +{ + return global_host_container.get_row_count() * wait_class_max; +} + table_ews_by_host_by_event_name::table_ews_by_host_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -119,13 +127,14 @@ int table_ews_by_host_by_event_name::rnd_next(void) { PFS_host *host; PFS_instr_class *instr_class; + bool has_more_host= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_host(); + has_more_host; m_pos.next_host()) { - host= &host_array[m_pos.m_index_1]; - if (host->m_lock.is_populated()) + host= global_host_container.get(m_pos.m_index_1, & has_more_host); + if (host != NULL) { for ( ; m_pos.has_more_view(); @@ -154,6 +163,9 @@ int table_ews_by_host_by_event_name::rnd_next(void) case pos_ews_by_host_by_event_name::VIEW_IDLE: instr_class= find_idle_class(m_pos.m_index_3); break; + case pos_ews_by_host_by_event_name::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_3); + break; default: instr_class= NULL; DBUG_ASSERT(false); @@ -180,10 +192,9 @@ table_ews_by_host_by_event_name::rnd_pos(const void *pos) PFS_instr_class *instr_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < host_max); - host= &host_array[m_pos.m_index_1]; - if (! host->m_lock.is_populated()) + host= global_host_container.get(m_pos.m_index_1); + if (host == NULL) return HA_ERR_RECORD_DELETED; switch (m_pos.m_index_2) @@ -209,6 +220,9 @@ table_ews_by_host_by_event_name::rnd_pos(const void *pos) case pos_ews_by_host_by_event_name::VIEW_IDLE: instr_class= find_idle_class(m_pos.m_index_3); break; + case pos_ews_by_host_by_event_name::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_3); + break; default: instr_class= NULL; DBUG_ASSERT(false); @@ -226,7 +240,7 @@ table_ews_by_host_by_event_name::rnd_pos(const void *pos) void table_ews_by_host_by_event_name ::make_row(PFS_host *host, PFS_instr_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; host->m_lock.begin_optimistic_lock(&lock); @@ -237,7 +251,11 @@ void table_ews_by_host_by_event_name m_row.m_event_name.make_row(klass); PFS_connection_wait_visitor visitor(klass); - PFS_connection_iterator::visit_host(host, true, true, & visitor); + PFS_connection_iterator::visit_host(host, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); if (! host->m_lock.end_optimistic_lock(&lock)) return; diff --git a/storage/perfschema/table_ews_by_host_by_event_name.h b/storage/perfschema/table_ews_by_host_by_event_name.h index 124b121e8d2..abd809d4663 100644 --- a/storage/perfschema/table_ews_by_host_by_event_name.h +++ b/storage/perfschema/table_ews_by_host_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -68,9 +68,6 @@ struct pos_ews_by_host_by_event_name m_index_3= 1; } - inline bool has_more_host(void) - { return (m_index_1 < host_max); } - inline void next_host(void) { m_index_1++; @@ -96,6 +93,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_ews_by_thread_by_event_name.cc b/storage/perfschema/table_ews_by_thread_by_event_name.cc index 4db97b1c98c..4c9e491b0c5 100644 --- a/storage/perfschema/table_ews_by_thread_by_event_name.cc +++ b/storage/perfschema/table_ews_by_thread_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,13 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_ews_by_thread_by_event_name.h" #include "pfs_global.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_ews_by_thread_by_event_name::m_table_lock; @@ -80,12 +82,12 @@ table_ews_by_thread_by_event_name::m_share= table_ews_by_thread_by_event_name::create, NULL, /* write_row */ table_ews_by_thread_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_ews_by_thread_by_event_name::get_row_count, sizeof(pos_ews_by_thread_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -101,6 +103,12 @@ table_ews_by_thread_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_ews_by_thread_by_event_name::get_row_count(void) +{ + return global_thread_container.get_row_count() * wait_class_max; +} + table_ews_by_thread_by_event_name::table_ews_by_thread_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -116,18 +124,14 @@ int table_ews_by_thread_by_event_name::rnd_next(void) { PFS_thread *thread; PFS_instr_class *instr_class; + bool has_more_thread= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_thread(); + has_more_thread; m_pos.next_thread()) { - thread= &thread_array[m_pos.m_index_1]; - - /* - Important note: the thread scan is the outer loop (index 1), - to minimize the number of calls to atomic operations. - */ - if (thread->m_lock.is_populated()) + thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (thread != NULL) { for ( ; m_pos.has_more_view(); @@ -156,6 +160,9 @@ int table_ews_by_thread_by_event_name::rnd_next(void) case pos_ews_by_thread_by_event_name::VIEW_IDLE: instr_class= find_idle_class(m_pos.m_index_3); break; + case pos_ews_by_thread_by_event_name::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_3); + break; default: DBUG_ASSERT(false); instr_class= NULL; @@ -182,52 +189,55 @@ table_ews_by_thread_by_event_name::rnd_pos(const void *pos) PFS_instr_class *instr_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < thread_max); - - thread= &thread_array[m_pos.m_index_1]; - if (! thread->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; - switch (m_pos.m_index_2) + thread= global_thread_container.get(m_pos.m_index_1); + if (thread != NULL) { - case pos_ews_by_thread_by_event_name::VIEW_MUTEX: - instr_class= find_mutex_class(m_pos.m_index_3); - break; - case pos_ews_by_thread_by_event_name::VIEW_RWLOCK: - instr_class= find_rwlock_class(m_pos.m_index_3); - break; - case pos_ews_by_thread_by_event_name::VIEW_COND: - instr_class= find_cond_class(m_pos.m_index_3); - break; - case pos_ews_by_thread_by_event_name::VIEW_FILE: - instr_class= find_file_class(m_pos.m_index_3); - break; - case pos_ews_by_thread_by_event_name::VIEW_TABLE: - 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_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); - instr_class= NULL; - } + switch (m_pos.m_index_2) + { + case pos_ews_by_thread_by_event_name::VIEW_MUTEX: + instr_class= find_mutex_class(m_pos.m_index_3); + break; + case pos_ews_by_thread_by_event_name::VIEW_RWLOCK: + instr_class= find_rwlock_class(m_pos.m_index_3); + break; + case pos_ews_by_thread_by_event_name::VIEW_COND: + instr_class= find_cond_class(m_pos.m_index_3); + break; + case pos_ews_by_thread_by_event_name::VIEW_FILE: + instr_class= find_file_class(m_pos.m_index_3); + break; + case pos_ews_by_thread_by_event_name::VIEW_TABLE: + 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_3); + break; + case pos_ews_by_thread_by_event_name::VIEW_IDLE: + instr_class= find_idle_class(m_pos.m_index_3); + break; + case pos_ews_by_thread_by_event_name::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_3); + break; + default: + DBUG_ASSERT(false); + instr_class= NULL; + } - if (instr_class) - { - make_row(thread, instr_class); - return 0; + if (instr_class) + { + make_row(thread, instr_class); + return 0; + } } + return HA_ERR_RECORD_DELETED; } void table_ews_by_thread_by_event_name ::make_row(PFS_thread *thread, PFS_instr_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; /* Protect this reader against a thread termination */ @@ -241,9 +251,9 @@ void table_ews_by_thread_by_event_name PFS_connection_iterator::visit_thread(thread, &visitor); /* - If the aggregation for this class is deferred, then we must pull the - current wait stats from the instances associated with this thread. - */ + If the aggregation for this class is deferred, then we must pull the + current wait stats from the instances associated with this thread. + */ if (klass->is_deferred()) { /* Visit instances owned by this thread. Do not visit the class. */ diff --git a/storage/perfschema/table_ews_by_thread_by_event_name.h b/storage/perfschema/table_ews_by_thread_by_event_name.h index 989356be646..414119d1884 100644 --- a/storage/perfschema/table_ews_by_thread_by_event_name.h +++ b/storage/perfschema/table_ews_by_thread_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -67,9 +67,6 @@ struct pos_ews_by_thread_by_event_name m_index_3= 1; } - inline bool has_more_thread(void) - { return (m_index_1 < thread_max); } - inline void next_thread(void) { m_index_1++; @@ -95,6 +92,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_ews_by_user_by_event_name.cc b/storage/perfschema/table_ews_by_user_by_event_name.cc index 46f2ba568fb..102008f1eaf 100644 --- a/storage/perfschema/table_ews_by_user_by_event_name.cc +++ b/storage/perfschema/table_ews_by_user_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,14 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_ews_by_user_by_event_name.h" #include "pfs_global.h" -#include "pfs_account.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_ews_by_user_by_event_name::m_table_lock; @@ -34,7 +35,7 @@ static const TABLE_FIELD_TYPE field_types[]= { { { C_STRING_WITH_LEN("USER") }, - { C_STRING_WITH_LEN("char(16)") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, { NULL, 0} }, { @@ -81,12 +82,12 @@ table_ews_by_user_by_event_name::m_share= table_ews_by_user_by_event_name::create, NULL, /* write_row */ table_ews_by_user_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_ews_by_user_by_event_name::get_row_count, sizeof(pos_ews_by_user_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -104,6 +105,12 @@ table_ews_by_user_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_ews_by_user_by_event_name::get_row_count(void) +{ + return global_user_container.get_row_count() * wait_class_max; +} + table_ews_by_user_by_event_name::table_ews_by_user_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -119,13 +126,14 @@ int table_ews_by_user_by_event_name::rnd_next(void) { PFS_user *user; PFS_instr_class *instr_class; + bool has_more_user= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_user(); + has_more_user; m_pos.next_user()) { - user= &user_array[m_pos.m_index_1]; - if (user->m_lock.is_populated()) + user= global_user_container.get(m_pos.m_index_1, & has_more_user); + if (user != NULL) { for ( ; m_pos.has_more_view(); @@ -154,6 +162,9 @@ int table_ews_by_user_by_event_name::rnd_next(void) case pos_ews_by_user_by_event_name::VIEW_IDLE: instr_class= find_idle_class(m_pos.m_index_3); break; + case pos_ews_by_user_by_event_name::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_3); + break; default: instr_class= NULL; DBUG_ASSERT(false); @@ -180,10 +191,9 @@ table_ews_by_user_by_event_name::rnd_pos(const void *pos) PFS_instr_class *instr_class; set_position(pos); - DBUG_ASSERT(m_pos.m_index_1 < user_max); - user= &user_array[m_pos.m_index_1]; - if (! user->m_lock.is_populated()) + user= global_user_container.get(m_pos.m_index_1); + if (user == NULL) return HA_ERR_RECORD_DELETED; switch (m_pos.m_index_2) @@ -209,6 +219,9 @@ table_ews_by_user_by_event_name::rnd_pos(const void *pos) case pos_ews_by_user_by_event_name::VIEW_IDLE: instr_class= find_idle_class(m_pos.m_index_3); break; + case pos_ews_by_user_by_event_name::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_3); + break; default: instr_class= NULL; DBUG_ASSERT(false); @@ -226,7 +239,7 @@ table_ews_by_user_by_event_name::rnd_pos(const void *pos) void table_ews_by_user_by_event_name ::make_row(PFS_user *user, PFS_instr_class *klass) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; user->m_lock.begin_optimistic_lock(&lock); @@ -237,7 +250,11 @@ void table_ews_by_user_by_event_name m_row.m_event_name.make_row(klass); PFS_connection_wait_visitor visitor(klass); - PFS_connection_iterator::visit_user(user, true, true, & visitor); + PFS_connection_iterator::visit_user(user, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); if (! user->m_lock.end_optimistic_lock(&lock)) return; diff --git a/storage/perfschema/table_ews_by_user_by_event_name.h b/storage/perfschema/table_ews_by_user_by_event_name.h index 123ee2349ae..742badd984c 100644 --- a/storage/perfschema/table_ews_by_user_by_event_name.h +++ b/storage/perfschema/table_ews_by_user_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -68,9 +68,6 @@ struct pos_ews_by_user_by_event_name m_index_3= 1; } - inline bool has_more_user(void) - { return (m_index_1 < user_max); } - inline void next_user(void) { m_index_1++; @@ -96,6 +93,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_ews_global_by_event_name.cc b/storage/perfschema/table_ews_global_by_event_name.cc index 1e165c36bc5..c26789dc58f 100644 --- a/storage/perfschema/table_ews_global_by_event_name.cc +++ b/storage/perfschema/table_ews_global_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" @@ -28,6 +28,7 @@ #include "pfs_instr.h" #include "pfs_timer.h" #include "pfs_visitor.h" +#include "field.h" THR_LOCK table_ews_global_by_event_name::m_table_lock; @@ -77,12 +78,12 @@ table_ews_global_by_event_name::m_share= table_ews_global_by_event_name::create, NULL, /* write_row */ table_ews_global_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_ews_global_by_event_name::get_row_count, sizeof(pos_ews_global_by_event_name), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -101,6 +102,12 @@ table_ews_global_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_ews_global_by_event_name::get_row_count(void) +{ + return wait_class_max; +} + table_ews_global_by_event_name::table_ews_global_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -195,6 +202,15 @@ int table_ews_global_by_event_name::rnd_next(void) return 0; } break; + case pos_ews_global_by_event_name::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_2); + if (instr_class) + { + make_metadata_row(instr_class); + m_next_pos.set_after(&m_pos); + return 0; + } + break; default: break; } @@ -273,6 +289,17 @@ table_ews_global_by_event_name::rnd_pos(const void *pos) return 0; } break; + case pos_ews_global_by_event_name::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_2); + if (instr_class) + { + make_metadata_row(instr_class); + return 0; + } + break; + default: + DBUG_ASSERT(false); + break; } return HA_ERR_RECORD_DELETED; @@ -350,7 +377,7 @@ void table_ews_global_by_event_name PFS_table_lock_wait_visitor visitor; PFS_object_iterator::visit_all_tables(& visitor); - + get_normalizer(klass); m_row.m_stat.set(m_normalizer, & visitor.m_stat); m_row_exists= true; @@ -377,8 +404,27 @@ void table_ews_global_by_event_name PFS_connection_wait_visitor visitor(klass); PFS_connection_iterator::visit_global(false, /* hosts */ false, /* users */ - false, /* accts */ - true, /* threads */ &visitor); + false, /* accounts */ + true, /* threads */ + false, /* THDs */ + &visitor); + get_normalizer(klass); + m_row.m_stat.set(m_normalizer, &visitor.m_stat); + m_row_exists= true; +} + +void table_ews_global_by_event_name +::make_metadata_row(PFS_instr_class *klass) +{ + m_row.m_event_name.make_row(klass); + + PFS_connection_wait_visitor visitor(klass); + PFS_connection_iterator::visit_global(false, /* hosts */ + true, /* users */ + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + &visitor); get_normalizer(klass); m_row.m_stat.set(m_normalizer, &visitor.m_stat); m_row_exists= true; diff --git a/storage/perfschema/table_ews_global_by_event_name.h b/storage/perfschema/table_ews_global_by_event_name.h index a118e536b6a..19a1a378c30 100644 --- a/storage/perfschema/table_ews_global_by_event_name.h +++ b/storage/perfschema/table_ews_global_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -81,6 +81,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); @@ -107,6 +108,7 @@ protected: void make_table_lock_row(PFS_instr_class *klass); void make_socket_row(PFS_socket_class *klass); void make_idle_row(PFS_instr_class *klass); + void make_metadata_row(PFS_instr_class *klass); private: /** Table share lock. */ diff --git a/storage/perfschema/table_file_instances.cc b/storage/perfschema/table_file_instances.cc index a3d2fc454bb..ec4217a4a3f 100644 --- a/storage/perfschema/table_file_instances.cc +++ b/storage/perfschema/table_file_instances.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,12 +19,14 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_file_instances.h" #include "pfs_global.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_file_instances::m_table_lock; @@ -56,15 +58,15 @@ table_file_instances::m_share= { { C_STRING_WITH_LEN("file_instances") }, &pfs_readonly_acl, - &table_file_instances::create, + table_file_instances::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - 1000, /* records */ + table_file_instances::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_file_instances::create(void) @@ -72,6 +74,12 @@ PFS_engine_table* table_file_instances::create(void) return new table_file_instances(); } +ha_rows +table_file_instances::get_row_count(void) +{ + return global_file_container.get_row_count(); +} + table_file_instances::table_file_instances() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(0), m_next_pos(0) @@ -87,17 +95,14 @@ int table_file_instances::rnd_next(void) { PFS_file *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < file_max; - m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_file_iterator it= global_file_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &file_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -108,19 +113,20 @@ int table_file_instances::rnd_pos(const void *pos) PFS_file *pfs; set_position(pos); - DBUG_ASSERT(m_pos.m_index < file_max); - pfs= &file_array[m_pos.m_index]; - if (! pfs->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; + pfs= global_file_container.get(m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + return 0; + } - make_row(pfs); - return 0; + return HA_ERR_RECORD_DELETED; } void table_file_instances::make_row(PFS_file *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; PFS_file_class *safe_class; m_row_exists= false; diff --git a/storage/perfschema/table_file_instances.h b/storage/perfschema/table_file_instances.h index f7ec16715f3..3b540e6dbe4 100644 --- a/storage/perfschema/table_file_instances.h +++ b/storage/perfschema/table_file_instances.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -51,6 +51,7 @@ public: /** Table share */ static PFS_engine_table_share m_share; static PFS_engine_table* create(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_file_summary_by_event_name.cc b/storage/perfschema/table_file_summary_by_event_name.cc index 7e72f4d4158..ab80b2b6a55 100644 --- a/storage/perfschema/table_file_summary_by_event_name.cc +++ b/storage/perfschema/table_file_summary_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,18 +14,19 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ /** - @file storage/perfschema/table_file_summary.cc + @file storage/perfschema/table_file_summary_by_event_name.cc Table FILE_SUMMARY_BY_EVENT_NAME(implementation). */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_file_summary_by_event_name.h" #include "pfs_global.h" #include "pfs_visitor.h" +#include "field.h" THR_LOCK table_file_summary_by_event_name::m_table_lock; @@ -163,15 +164,15 @@ table_file_summary_by_event_name::m_share= { { C_STRING_WITH_LEN("file_summary_by_event_name") }, &pfs_truncatable_acl, - &table_file_summary_by_event_name::create, + table_file_summary_by_event_name::create, NULL, /* write_row */ table_file_summary_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_file_summary_by_event_name::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_file_summary_by_event_name::create(void) @@ -186,6 +187,12 @@ int table_file_summary_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_file_summary_by_event_name::get_row_count(void) +{ + return file_class_max; +} + table_file_summary_by_event_name::table_file_summary_by_event_name() : PFS_engine_table(&m_share, &m_pos), m_pos(1), m_next_pos(1) @@ -232,7 +239,7 @@ int table_file_summary_by_event_name::rnd_pos(const void *pos) /** Build a row. - @param klass the file class the cursor is reading + @param file_class the file class the cursor is reading */ void table_file_summary_by_event_name::make_row(PFS_file_class *file_class) { @@ -242,7 +249,7 @@ void table_file_summary_by_event_name::make_row(PFS_file_class *file_class) PFS_instance_iterator::visit_file_instances(file_class, &visitor); time_normalizer *normalizer= time_normalizer::get(wait_timer); - + /* Collect timer and byte count stats */ m_row.m_io_stat.set(normalizer, &visitor.m_file_io_stat); m_row_exists= true; diff --git a/storage/perfschema/table_file_summary_by_event_name.h b/storage/perfschema/table_file_summary_by_event_name.h index 8a51dffad65..ff5046aafda 100644 --- a/storage/perfschema/table_file_summary_by_event_name.h +++ b/storage/perfschema/table_file_summary_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,6 +52,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_file_summary_by_instance.cc b/storage/perfschema/table_file_summary_by_instance.cc index 40478647f5b..8dcb3cadeb1 100644 --- a/storage/perfschema/table_file_summary_by_instance.cc +++ b/storage/perfschema/table_file_summary_by_instance.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,17 +14,19 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ /** - @file storage/perfschema/table_file_summary.cc + @file storage/perfschema/table_file_summary_by_instance.cc Table FILE_SUMMARY_BY_INSTANCE (implementation). */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_file_summary_by_instance.h" #include "pfs_global.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_file_summary_by_instance::m_table_lock; @@ -172,15 +174,15 @@ table_file_summary_by_instance::m_share= { { C_STRING_WITH_LEN("file_summary_by_instance") }, &pfs_truncatable_acl, - &table_file_summary_by_instance::create, + table_file_summary_by_instance::create, NULL, /* write_row */ table_file_summary_by_instance::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_file_summary_by_instance::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_file_summary_by_instance::create(void) @@ -194,6 +196,12 @@ int table_file_summary_by_instance::delete_all_rows(void) return 0; } +ha_rows +table_file_summary_by_instance::get_row_count(void) +{ + return global_file_container.get_row_count(); +} + table_file_summary_by_instance::table_file_summary_by_instance() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(0), m_next_pos(0) @@ -209,17 +217,14 @@ int table_file_summary_by_instance::rnd_next(void) { PFS_file *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < file_max; - m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_file_iterator it= global_file_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &file_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -230,14 +235,15 @@ int table_file_summary_by_instance::rnd_pos(const void *pos) PFS_file *pfs; set_position(pos); - DBUG_ASSERT(m_pos.m_index < file_max); - pfs= &file_array[m_pos.m_index]; - if (! pfs->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; + pfs= global_file_container.get(m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + return 0; + } - make_row(pfs); - return 0; + return HA_ERR_RECORD_DELETED; } /** @@ -246,7 +252,7 @@ int table_file_summary_by_instance::rnd_pos(const void *pos) */ void table_file_summary_by_instance::make_row(PFS_file *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; PFS_file_class *safe_class; m_row_exists= false; diff --git a/storage/perfschema/table_file_summary_by_instance.h b/storage/perfschema/table_file_summary_by_instance.h index d9f406966db..98389e94456 100644 --- a/storage/perfschema/table_file_summary_by_instance.h +++ b/storage/perfschema/table_file_summary_by_instance.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011 Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -60,6 +60,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_global_status.cc b/storage/perfschema/table_global_status.cc new file mode 100644 index 00000000000..36dfa13efd3 --- /dev/null +++ b/storage/perfschema/table_global_status.cc @@ -0,0 +1,200 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_global_status.cc + Table global_status (implementation). +*/ + +#include "my_global.h" +#include "table_global_status.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "pfs_global.h" + +THR_LOCK table_global_status::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("VARIABLE_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_VALUE") }, + { C_STRING_WITH_LEN("varchar(1024)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_global_status::m_field_def= +{ 2, field_types }; + +PFS_engine_table_share +table_global_status::m_share= +{ + { C_STRING_WITH_LEN("global_status") }, + &pfs_truncatable_world_acl, + table_global_status::create, + NULL, /* write_row */ + table_global_status::delete_all_rows, + table_global_status::get_row_count, + sizeof(pos_t), + &m_table_lock, + &m_field_def, + false, /* checked */ + true /* perpetual */ +}; + +PFS_engine_table* +table_global_status::create(void) +{ + return new table_global_status(); +} + +int table_global_status::delete_all_rows(void) +{ + mysql_mutex_lock(&LOCK_status); + reset_status_by_thread(); + reset_status_by_account(); + reset_status_by_user(); + reset_status_by_host(); + reset_global_status(); + mysql_mutex_unlock(&LOCK_status); + return 0; +} + +ha_rows table_global_status::get_row_count(void) +{ + mysql_mutex_lock(&LOCK_status); + ha_rows status_var_count= all_status_vars.size(); + mysql_mutex_unlock(&LOCK_status); + return status_var_count; +} + +table_global_status::table_global_status() + : PFS_engine_table(&m_share, &m_pos), + m_status_cache(false), m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +void table_global_status::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +int table_global_status::rnd_init(bool scan) +{ + /* Build a cache of all global status variables. Sum across threads. */ + m_status_cache.materialize_global(); + + /* Record the current number of status variables to detect subsequent changes. */ + ulonglong status_version= m_status_cache.get_status_array_version(); + + /* + The table context holds the current version of the global status array. + If scan == true, then allocate a new context from mem_root and store in TLS. + If scan == false, then restore from TLS. + */ + m_context= (table_global_status_context *)current_thd->alloc(sizeof(table_global_status_context)); + new(m_context) table_global_status_context(status_version, !scan); + return 0; +} + +int table_global_status::rnd_next(void) +{ + for (m_pos.set_at(&m_next_pos); + m_pos.m_index < m_status_cache.size(); + m_pos.next()) + { + const Status_variable *status_var= m_status_cache.get(m_pos.m_index); + if (status_var != NULL) + { + make_row(status_var); + m_next_pos.set_after(&m_pos); + return 0; + } + } + return HA_ERR_END_OF_FILE; +} + +int table_global_status::rnd_pos(const void *pos) +{ + /* If global status array has changed, do nothing. */ // TODO: Issue warning + if (!m_context->versions_match()) + return HA_ERR_RECORD_DELETED; + + set_position(pos); + const Status_variable *status_var= m_status_cache.get(m_pos.m_index); + if (status_var != NULL) + { + make_row(status_var); + return 0; + } + + return HA_ERR_RECORD_DELETED; +} + +void table_global_status +::make_row(const Status_variable *status_var) +{ + m_row_exists= false; + if (status_var->is_null()) + return; + m_row.m_variable_name.make_row(status_var->m_name, status_var->m_name_length); + m_row.m_variable_value.make_row(status_var->m_value_str, status_var->m_value_length); + m_row_exists= true; +} + +int table_global_status +::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* VARIABLE_NAME */ + set_field_varchar_utf8(f, m_row.m_variable_name.m_str, m_row.m_variable_name.m_length); + break; + case 1: /* VARIABLE_VALUE */ + set_field_varchar_utf8(f, m_row.m_variable_value.m_str, m_row.m_variable_value.m_length); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_global_status.h b/storage/perfschema/table_global_status.h new file mode 100644 index 00000000000..5eee59cb51d --- /dev/null +++ b/storage/perfschema/table_global_status.h @@ -0,0 +1,111 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_GLOBAL_STATUS_H +#define TABLE_GLOBAL_STATUS_H + +/** + @file storage/perfschema/table_global_status.h + Table global_status (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_variable.h" +#include "table_helper.h" +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.GLOBAL_STATUS. +*/ +struct row_global_status +{ + /** Column VARIABLE_NAME. */ + PFS_variable_name_row m_variable_name; + /** Column VARIABLE_VALUE. */ + PFS_variable_value_row m_variable_value; +}; + +/** + Store and retrieve table state information for queries that reinstantiate + the table object. +*/ +class table_global_status_context : public PFS_table_context +{ +public: + table_global_status_context(ulonglong current_version, bool restore) : + PFS_table_context(current_version, restore, THR_PFS_SG) { } +}; + +/** Table PERFORMANCE_SCHEMA.GLOBAL_STATUS. */ +class table_global_status : public PFS_engine_table +{ + typedef PFS_simple_index pos_t; + +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + table_global_status(); + +public: + ~table_global_status() + {} + +protected: + void make_row(const Status_variable *system_var); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current THD variables. */ + PFS_status_variable_cache m_status_cache; + /** Current row. */ + row_global_status m_row; + /** True if the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_t m_pos; + /** Next position. */ + pos_t m_next_pos; + + /** Table context with global status array version. */ + table_global_status_context *m_context; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_global_variables.cc b/storage/perfschema/table_global_variables.cc new file mode 100644 index 00000000000..f11b979e21c --- /dev/null +++ b/storage/perfschema/table_global_variables.cc @@ -0,0 +1,194 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_global_variables.cc + Table GLOBAL_VARIABLES (implementation). +*/ + +#include "my_global.h" +#include "table_global_variables.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "pfs_global.h" + +THR_LOCK table_global_variables::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("VARIABLE_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_VALUE") }, + { C_STRING_WITH_LEN("varchar(1024)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_global_variables::m_field_def= +{ 2, field_types }; + +PFS_engine_table_share +table_global_variables::m_share= +{ + { C_STRING_WITH_LEN("global_variables") }, + &pfs_readonly_world_acl, + table_global_variables::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_global_variables::get_row_count, + sizeof(pos_t), + &m_table_lock, + &m_field_def, + false, /* checked */ + true /* perpetual */ +}; + +PFS_engine_table* +table_global_variables::create(void) +{ + return new table_global_variables(); +} + +ha_rows table_global_variables::get_row_count(void) +{ + mysql_mutex_lock(&LOCK_plugin_delete); + mysql_rwlock_rdlock(&LOCK_system_variables_hash); + ha_rows system_var_count= get_system_variable_hash_records(); + mysql_rwlock_unlock(&LOCK_system_variables_hash); + mysql_mutex_unlock(&LOCK_plugin_delete); + return system_var_count; +} + +table_global_variables::table_global_variables() + : PFS_engine_table(&m_share, &m_pos), + m_sysvar_cache(false), m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +void table_global_variables::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +int table_global_variables::rnd_init(bool scan) +{ + /* + Build a list of system variables from the global system variable hash. + Filter by scope. + */ + m_sysvar_cache.materialize_global(); + + /* Record the version of the system variable hash. */ + ulonglong hash_version= m_sysvar_cache.get_sysvar_hash_version(); + + /* + The table context holds the current version of the system variable hash. + If scan == true, then allocate a new context from mem_root and store in TLS. + If scan == false, then restore from TLS. + */ + m_context= (table_global_variables_context *)current_thd->alloc(sizeof(table_global_variables_context)); + new(m_context) table_global_variables_context(hash_version, !scan); + return 0; +} + +int table_global_variables::rnd_next(void) +{ + for (m_pos.set_at(&m_next_pos); + m_pos.m_index < m_sysvar_cache.size(); + m_pos.next()) + { + const System_variable *system_var= m_sysvar_cache.get(m_pos.m_index); + if (system_var != NULL) + { + make_row(system_var); + m_next_pos.set_after(&m_pos); + return 0; + } + } + return HA_ERR_END_OF_FILE; +} + +int table_global_variables::rnd_pos(const void *pos) +{ + /* If system variable hash changes, do nothing. */ // TODO: Issue warning + if (!m_context->versions_match()) + return HA_ERR_RECORD_DELETED; + + set_position(pos); + DBUG_ASSERT(m_pos.m_index < m_sysvar_cache.size()); + + const System_variable *system_var= m_sysvar_cache.get(m_pos.m_index); + if (system_var != NULL) + { + make_row(system_var); + return 0; + } + return HA_ERR_RECORD_DELETED; +} + +void table_global_variables +::make_row(const System_variable *system_var) +{ + m_row_exists= false; + if (system_var->is_null()) + return; + m_row.m_variable_name.make_row(system_var->m_name, system_var->m_name_length); + m_row.m_variable_value.make_row(system_var->m_value_str, system_var->m_value_length); + m_row_exists= true; +} + +int table_global_variables +::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* VARIABLE_NAME */ + set_field_varchar_utf8(f, m_row.m_variable_name.m_str, m_row.m_variable_name.m_length); + break; + case 1: /* VARIABLE_VALUE */ + set_field_varchar_utf8(f, m_row.m_variable_value.m_str, m_row.m_variable_value.m_length); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_global_variables.h b/storage/perfschema/table_global_variables.h new file mode 100644 index 00000000000..e9ad7e59c30 --- /dev/null +++ b/storage/perfschema/table_global_variables.h @@ -0,0 +1,110 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_GLOBAL_VARIABLES_H +#define TABLE_GLOBAL_VARIABLES_H + +/** + @file storage/perfschema/table_global_variables.h + Table GLOBAL_VARIABLES (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_variable.h" +#include "table_helper.h" +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + Store and retrieve table state information during queries that reinstantiate + the table object. +*/ +class table_global_variables_context : public PFS_table_context +{ +public: + table_global_variables_context(ulonglong hash_version, bool restore) : + PFS_table_context(hash_version, restore, THR_PFS_VG) {} +}; + +/** + A row of table + PERFORMANCE_SCHEMA.GLOBAL_VARIABLES. +*/ +struct row_global_variables +{ + /** Column VARIABLE_NAME. */ + PFS_variable_name_row m_variable_name; + /** Column VARIABLE_VALUE. */ + PFS_variable_value_row m_variable_value; +}; + +/** Table PERFORMANCE_SCHEMA.GLOBAL_VARIABLES. */ +class table_global_variables : public PFS_engine_table +{ + typedef PFS_simple_index pos_t; + +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + table_global_variables(); + +public: + ~table_global_variables() + {} + +protected: + void make_row(const System_variable *system_var); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current THD variables. */ + PFS_system_variable_cache m_sysvar_cache; + /** Current row. */ + row_global_variables m_row; + /** True if the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_t m_pos; + /** Next position. */ + pos_t m_next_pos; + + /** Table context with system variable hash version. */ + table_global_variables_context *m_context; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_helper.cc b/storage/perfschema/table_helper.cc index d064333dc7e..32c9980974a 100644 --- a/storage/perfschema/table_helper.cc +++ b/storage/perfschema/table_helper.cc @@ -19,13 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_engine_table.h" #include "table_helper.h" #include "pfs_host.h" #include "pfs_user.h" #include "pfs_account.h" #include "pfs_instr.h" +#include "pfs_program.h" +#include "field.h" int PFS_host_row::make_row(PFS_host *pfs) { @@ -140,7 +142,6 @@ int PFS_digest_row::make_row(PFS_statements_digest_stat* pfs) else { m_digest_length= 0; - m_digest_text.length(0); } return 0; @@ -196,6 +197,105 @@ int PFS_object_row::make_row(PFS_table_share *pfs) return 0; } +int PFS_object_row::make_row(PFS_program *pfs) +{ + m_object_type= pfs->m_type; + + m_schema_name_length= pfs->m_schema_name_length; + if (m_schema_name_length > sizeof(m_schema_name)) + return 1; + if (m_schema_name_length > 0) + memcpy(m_schema_name, pfs->m_schema_name, sizeof(m_schema_name)); + + m_object_name_length= pfs->m_object_name_length; + if (m_object_name_length > sizeof(m_object_name)) + return 1; + if (m_object_name_length > 0) + memcpy(m_object_name, pfs->m_object_name, sizeof(m_object_name)); + + return 0; +} + +int PFS_object_row::make_row(const MDL_key *mdl) +{ + switch(mdl->mdl_namespace()) + { + case MDL_key::GLOBAL: + m_object_type= OBJECT_TYPE_GLOBAL; + m_schema_name_length= 0; + m_object_name_length= 0; + break; + case MDL_key::SCHEMA: + m_object_type= OBJECT_TYPE_SCHEMA; + m_schema_name_length= mdl->db_name_length(); + m_object_name_length= 0; + break; + case MDL_key::TABLE: + m_object_type= OBJECT_TYPE_TABLE; + m_schema_name_length= mdl->db_name_length(); + m_object_name_length= mdl->name_length(); + break; + case MDL_key::FUNCTION: + m_object_type= OBJECT_TYPE_FUNCTION; + m_schema_name_length= mdl->db_name_length(); + m_object_name_length= mdl->name_length(); + break; + case MDL_key::PROCEDURE: + m_object_type= OBJECT_TYPE_PROCEDURE; + m_schema_name_length= mdl->db_name_length(); + m_object_name_length= mdl->name_length(); + break; + case MDL_key::TRIGGER: + m_object_type= OBJECT_TYPE_TRIGGER; + m_schema_name_length= mdl->db_name_length(); + m_object_name_length= mdl->name_length(); + break; + case MDL_key::EVENT: + m_object_type= OBJECT_TYPE_EVENT; + m_schema_name_length= mdl->db_name_length(); + m_object_name_length= mdl->name_length(); + break; + case MDL_key::COMMIT: + m_object_type= OBJECT_TYPE_COMMIT; + m_schema_name_length= 0; + m_object_name_length= 0; + break; + case MDL_key::USER_LEVEL_LOCK: + m_object_type= OBJECT_TYPE_USER_LEVEL_LOCK; + m_schema_name_length= 0; + m_object_name_length= mdl->name_length(); + break; + case MDL_key::TABLESPACE: + m_object_type= OBJECT_TYPE_TABLESPACE; + m_schema_name_length= 0; + m_object_name_length= mdl->name_length(); + break; + case MDL_key::LOCKING_SERVICE: + m_object_type= OBJECT_TYPE_LOCKING_SERVICE; + m_schema_name_length= mdl->db_name_length(); + m_object_name_length= mdl->name_length(); + break; + case MDL_key::NAMESPACE_END: + default: + m_object_type= NO_OBJECT_TYPE; + m_schema_name_length= 0; + m_object_name_length= 0; + break; + } + + if (m_schema_name_length > sizeof(m_schema_name)) + return 1; + if (m_schema_name_length > 0) + memcpy(m_schema_name, mdl->db_name(), m_schema_name_length); + + if (m_object_name_length > sizeof(m_object_name)) + return 1; + if (m_object_name_length > 0) + memcpy(m_object_name, mdl->name(), m_object_name_length); + + return 0; +} + void PFS_object_row::set_field(uint index, Field *f) { switch(index) @@ -214,21 +314,65 @@ void PFS_object_row::set_field(uint index, Field *f) } } -int PFS_index_row::make_row(PFS_table_share *pfs, uint table_index) +void PFS_object_row::set_nullable_field(uint index, Field *f) +{ + switch(index) + { + case 0: /* OBJECT_TYPE */ + if (m_object_type != NO_OBJECT_TYPE) + set_field_object_type(f, m_object_type); + else + f->set_null(); + break; + case 1: /* SCHEMA_NAME */ + if (m_schema_name_length > 0) + PFS_engine_table::set_field_varchar_utf8(f, m_schema_name, m_schema_name_length); + else + f->set_null(); + break; + case 2: /* OBJECT_NAME */ + if (m_object_name_length > 0) + PFS_engine_table::set_field_varchar_utf8(f, m_object_name, m_object_name_length); + else + f->set_null(); + break; + default: + DBUG_ASSERT(false); + } +} + +int PFS_index_row::make_row(PFS_table_share *pfs, + PFS_table_share_index *pfs_index, + uint table_index) { if (m_object_row.make_row(pfs)) return 1; + if (pfs_index == NULL) + { + if (table_index < MAX_INDEXES) + { + m_index_name_length= sprintf(m_index_name, "(index %d)", table_index); + } + else + { + m_index_name_length= 0; + } + return 0; + } + if (table_index < MAX_INDEXES) { - PFS_table_key *key= &pfs->m_keys[table_index]; - m_index_name_length= key->m_name_length; + m_index_name_length= pfs_index->m_key.m_name_length; if (m_index_name_length > sizeof(m_index_name)) return 1; - memcpy(m_index_name, key->m_name, sizeof(m_index_name)); + + memcpy(m_index_name, pfs_index->m_key.m_name, sizeof(m_index_name)); } else + { m_index_name_length= 0; + } return 0; } @@ -327,6 +471,37 @@ void PFS_statement_stat_row::set_field(uint index, Field *f) } } +void PFS_transaction_stat_row::set_field(uint index, Field *f) +{ + switch (index) + { + case 0: /* COUNT_STAR */ + case 1: /* SUM_TIMER_WAIT */ + case 2: /* MIN_TIMER_WAIT */ + case 3: /* AVG_TIMER_WAIT */ + case 4: /* MAX_TIMER_WAIT */ + m_timer1_row.set_field(index, f); + break; + case 5: /* COUNT_READ_WRITE */ + case 6: /* SUM_TIMER_READ_WRITE */ + case 7: /* MIN_TIMER_READ_WRITE */ + case 8: /* AVG_TIMER_READ_WRITE */ + case 9: /* MAX_TIMER_READ_WRITE */ + m_read_write_row.set_field(index-5, f); + break; + case 10: /* COUNT_READ_ONLY */ + case 11: /* SUM_TIMER_READ_ONLY */ + case 12: /* MIN_TIMER_READ_ONLY */ + case 13: /* AVG_TIMER_READ_ONLY */ + case 14: /* MAX_TIMER_READ_ONLY */ + m_read_only_row.set_field(index-10, f); + break; + default: + DBUG_ASSERT(false); + break; + } +} + void PFS_connection_stat_row::set_field(uint index, Field *f) { switch (index) @@ -347,14 +522,314 @@ void set_field_object_type(Field *f, enum_object_type object_type) { switch (object_type) { + case OBJECT_TYPE_EVENT: + PFS_engine_table::set_field_varchar_utf8(f, "EVENT", 5); + break; + case OBJECT_TYPE_FUNCTION: + PFS_engine_table::set_field_varchar_utf8(f, "FUNCTION", 8); + break; + case OBJECT_TYPE_PROCEDURE: + PFS_engine_table::set_field_varchar_utf8(f, "PROCEDURE", 9); + break; case OBJECT_TYPE_TABLE: PFS_engine_table::set_field_varchar_utf8(f, "TABLE", 5); break; case OBJECT_TYPE_TEMPORARY_TABLE: PFS_engine_table::set_field_varchar_utf8(f, "TEMPORARY TABLE", 15); break; + case OBJECT_TYPE_TRIGGER: + PFS_engine_table::set_field_varchar_utf8(f, "TRIGGER", 7); + break; + case OBJECT_TYPE_GLOBAL: + PFS_engine_table::set_field_varchar_utf8(f, "GLOBAL", 6); + break; + case OBJECT_TYPE_SCHEMA: + PFS_engine_table::set_field_varchar_utf8(f, "SCHEMA", 6); + break; + case OBJECT_TYPE_COMMIT: + PFS_engine_table::set_field_varchar_utf8(f, "COMMIT", 6); + break; + case OBJECT_TYPE_USER_LEVEL_LOCK: + PFS_engine_table::set_field_varchar_utf8(f, "USER LEVEL LOCK", 15); + break; + case OBJECT_TYPE_TABLESPACE: + PFS_engine_table::set_field_varchar_utf8(f, "TABLESPACE", 10); + break; + case OBJECT_TYPE_LOCKING_SERVICE: + PFS_engine_table::set_field_varchar_utf8(f, "LOCKING SERVICE", 15); + break; + case NO_OBJECT_TYPE: + default: + DBUG_ASSERT(false); + PFS_engine_table::set_field_varchar_utf8(f, "", 0); + break; + } +} + +void set_field_lock_type(Field *f, PFS_TL_LOCK_TYPE lock_type) +{ + switch (lock_type) + { + case PFS_TL_READ: + PFS_engine_table::set_field_varchar_utf8(f, "READ", 4); + break; + case PFS_TL_READ_WITH_SHARED_LOCKS: + PFS_engine_table::set_field_varchar_utf8(f, "READ WITH SHARED LOCKS", 22); + break; + case PFS_TL_READ_HIGH_PRIORITY: + PFS_engine_table::set_field_varchar_utf8(f, "READ HIGH PRIORITY", 18); + break; + case PFS_TL_READ_NO_INSERT: + PFS_engine_table::set_field_varchar_utf8(f, "READ NO INSERT", 14); + break; + case PFS_TL_WRITE_ALLOW_WRITE: + PFS_engine_table::set_field_varchar_utf8(f, "WRITE ALLOW WRITE", 17); + break; + case PFS_TL_WRITE_CONCURRENT_INSERT: + PFS_engine_table::set_field_varchar_utf8(f, "WRITE CONCURRENT INSERT", 23); + break; + case PFS_TL_WRITE_LOW_PRIORITY: + PFS_engine_table::set_field_varchar_utf8(f, "WRITE LOW PRIORITY", 18); + break; + case PFS_TL_WRITE: + PFS_engine_table::set_field_varchar_utf8(f, "WRITE", 5); + break; + case PFS_TL_READ_EXTERNAL: + PFS_engine_table::set_field_varchar_utf8(f, "READ EXTERNAL", 13); + break; + case PFS_TL_WRITE_EXTERNAL: + PFS_engine_table::set_field_varchar_utf8(f, "WRITE EXTERNAL", 14); + break; + case PFS_TL_NONE: + f->set_null(); + break; default: DBUG_ASSERT(false); } } +void set_field_mdl_type(Field *f, opaque_mdl_type mdl_type) +{ + enum_mdl_type e= (enum_mdl_type) mdl_type; + switch (e) + { + case MDL_INTENTION_EXCLUSIVE: + PFS_engine_table::set_field_varchar_utf8(f, "INTENTION_EXCLUSIVE", 19); + break; + case MDL_SHARED: + PFS_engine_table::set_field_varchar_utf8(f, "SHARED", 6); + break; + case MDL_SHARED_HIGH_PRIO: + PFS_engine_table::set_field_varchar_utf8(f, "SHARED_HIGH_PRIO", 16); + break; + case MDL_SHARED_READ: + PFS_engine_table::set_field_varchar_utf8(f, "SHARED_READ", 11); + break; + case MDL_SHARED_WRITE: + PFS_engine_table::set_field_varchar_utf8(f, "SHARED_WRITE", 12); + break; + case MDL_SHARED_WRITE_LOW_PRIO: + PFS_engine_table::set_field_varchar_utf8(f, "SHARED_WRITE_LOW_PRIO", 21); + break; + case MDL_SHARED_UPGRADABLE: + PFS_engine_table::set_field_varchar_utf8(f, "SHARED_UPGRADABLE", 17); + break; + case MDL_SHARED_READ_ONLY: + PFS_engine_table::set_field_varchar_utf8(f, "SHARED_READ_ONLY", 16); + break; + case MDL_SHARED_NO_WRITE: + PFS_engine_table::set_field_varchar_utf8(f, "SHARED_NO_WRITE", 15); + break; + case MDL_SHARED_NO_READ_WRITE: + PFS_engine_table::set_field_varchar_utf8(f, "SHARED_NO_READ_WRITE", 20); + break; + case MDL_EXCLUSIVE: + PFS_engine_table::set_field_varchar_utf8(f, "EXCLUSIVE", 9); + break; + default: + DBUG_ASSERT(false); + } +} + +void set_field_mdl_duration(Field *f, opaque_mdl_duration mdl_duration) +{ + enum_mdl_duration e= (enum_mdl_duration) mdl_duration; + switch (e) + { + case MDL_STATEMENT: + PFS_engine_table::set_field_varchar_utf8(f, "STATEMENT", 9); + break; + case MDL_TRANSACTION: + PFS_engine_table::set_field_varchar_utf8(f, "TRANSACTION", 11); + break; + case MDL_EXPLICIT: + PFS_engine_table::set_field_varchar_utf8(f, "EXPLICIT", 8); + break; + case MDL_DURATION_END: + default: + DBUG_ASSERT(false); + } +} + +void set_field_mdl_status(Field *f, opaque_mdl_status mdl_status) +{ + MDL_ticket::enum_psi_status e= + static_cast<MDL_ticket::enum_psi_status>(mdl_status); + switch (e) + { + case MDL_ticket::PENDING: + PFS_engine_table::set_field_varchar_utf8(f, "PENDING", 7); + break; + case MDL_ticket::GRANTED: + PFS_engine_table::set_field_varchar_utf8(f, "GRANTED", 7); + break; + case MDL_ticket::PRE_ACQUIRE_NOTIFY: + PFS_engine_table::set_field_varchar_utf8(f, "PRE_ACQUIRE_NOTIFY", 18); + break; + case MDL_ticket::POST_RELEASE_NOTIFY: + PFS_engine_table::set_field_varchar_utf8(f, "POST_RELEASE_NOTIFY", 19); + break; + default: + DBUG_ASSERT(false); + } +} + +void PFS_memory_stat_row::set_field(uint index, Field *f) +{ + ssize_t val; + + switch (index) + { + case 0: /* COUNT_ALLOC */ + PFS_engine_table::set_field_ulonglong(f, m_stat.m_alloc_count); + break; + case 1: /* COUNT_FREE */ + PFS_engine_table::set_field_ulonglong(f, m_stat.m_free_count); + break; + case 2: /* SUM_NUMBER_OF_BYTES_ALLOC */ + PFS_engine_table::set_field_ulonglong(f, m_stat.m_alloc_size); + break; + case 3: /* SUM_NUMBER_OF_BYTES_FREE */ + PFS_engine_table::set_field_ulonglong(f, m_stat.m_free_size); + break; + case 4: /* LOW_COUNT_USED */ + val= m_stat.m_alloc_count - m_stat.m_free_count - m_stat.m_free_count_capacity; + PFS_engine_table::set_field_longlong(f, val); + break; + case 5: /* CURRENT_COUNT_USED */ + val= m_stat.m_alloc_count - m_stat.m_free_count; + PFS_engine_table::set_field_longlong(f, val); + break; + case 6: /* HIGH_COUNT_USED */ + val= m_stat.m_alloc_count - m_stat.m_free_count + m_stat.m_alloc_count_capacity; + PFS_engine_table::set_field_longlong(f, val); + break; + case 7: /* LOW_NUMBER_OF_BYTES_USED */ + val= m_stat.m_alloc_size - m_stat.m_free_size - m_stat.m_free_size_capacity; + PFS_engine_table::set_field_longlong(f, val); + break; + case 8: /* CURRENT_NUMBER_OF_BYTES_USED */ + val= m_stat.m_alloc_size - m_stat.m_free_size; + PFS_engine_table::set_field_longlong(f, val); + break; + case 9: /* HIGH_NUMBER_OF_BYTES_USED */ + val= m_stat.m_alloc_size - m_stat.m_free_size + m_stat.m_alloc_size_capacity; + PFS_engine_table::set_field_longlong(f, val); + break; + default: + DBUG_ASSERT(false); + break; + } +} + +void set_field_isolation_level(Field *f, enum_isolation_level iso_level) +{ + switch (iso_level) + { + case TRANS_LEVEL_READ_UNCOMMITTED: + PFS_engine_table::set_field_varchar_utf8(f, "READ UNCOMMITTED", 16); + break; + case TRANS_LEVEL_READ_COMMITTED: + PFS_engine_table::set_field_varchar_utf8(f, "READ COMMITTED", 14); + break; + case TRANS_LEVEL_REPEATABLE_READ: + PFS_engine_table::set_field_varchar_utf8(f, "REPEATABLE READ", 15); + break; + case TRANS_LEVEL_SERIALIZABLE: + PFS_engine_table::set_field_varchar_utf8(f, "SERIALIZABLE", 12); + break; + default: + DBUG_ASSERT(false); + } +} + +void set_field_xa_state(Field *f, enum_xa_transaction_state xa_state) +{ + switch (xa_state) + { + case TRANS_STATE_XA_NOTR: + PFS_engine_table::set_field_varchar_utf8(f, "NOTR", 4); + break; + case TRANS_STATE_XA_ACTIVE: + PFS_engine_table::set_field_varchar_utf8(f, "ACTIVE", 6); + break; + case TRANS_STATE_XA_IDLE: + PFS_engine_table::set_field_varchar_utf8(f, "IDLE", 4); + break; + case TRANS_STATE_XA_PREPARED: + PFS_engine_table::set_field_varchar_utf8(f, "PREPARED", 8); + break; + case TRANS_STATE_XA_ROLLBACK_ONLY: + PFS_engine_table::set_field_varchar_utf8(f, "ROLLBACK ONLY", 13); + break; + case TRANS_STATE_XA_COMMITTED: + PFS_engine_table::set_field_varchar_utf8(f, "COMMITTED", 9); + break; + default: + DBUG_ASSERT(false); + } +} + +void PFS_variable_name_row::make_row(const char* str, size_t length) +{ + DBUG_ASSERT(length <= sizeof(m_str)); + DBUG_ASSERT(length <= NAME_CHAR_LEN); + + m_length= MY_MIN(length, NAME_CHAR_LEN); /* enforce max name length */ + if (m_length > 0) + memcpy(m_str, str, length); + m_str[m_length]= '\0'; +} + +void PFS_variable_value_row::make_row(const char* str, size_t length) +{ + DBUG_ASSERT(length <= sizeof(m_str)); + if (length > 0) + { + memcpy(m_str, str, length); + } + m_length= length; +} + +void PFS_user_variable_value_row::clear() +{ + my_free(m_value); + m_value= NULL; + m_value_length= 0; +} + +void PFS_user_variable_value_row::make_row(const char* val, size_t length) +{ + if (length > 0) + { + m_value= (char*) my_malloc(PSI_NOT_INSTRUMENTED, length, MYF(0)); + m_value_length= length; + memcpy(m_value, val, length); + } + else + { + m_value= NULL; + m_value_length= 0; + } +} + diff --git a/storage/perfschema/table_helper.h b/storage/perfschema/table_helper.h index b1377eb9748..d5fc29992f6 100644 --- a/storage/perfschema/table_helper.h +++ b/storage/perfschema/table_helper.h @@ -24,7 +24,7 @@ #include "pfs_digest.h" /* - Write MD5 hash value in a string to be used + Write MD5 hash value in a string to be used as DIGEST for the statement. */ #define MD5_HASH_TO_STRING(_hash, _str) \ @@ -40,6 +40,8 @@ struct PFS_host; struct PFS_user; struct PFS_account; +struct PFS_object_name; +struct PFS_program; /** @file storage/perfschema/table_helper.h @@ -62,7 +64,8 @@ struct PFS_instrument_view_constants static const uint VIEW_TABLE= 5; static const uint VIEW_SOCKET= 6; static const uint VIEW_IDLE= 7; - static const uint LAST_VIEW= 7; + static const uint VIEW_METADATA= 8; + static const uint LAST_VIEW= 8; }; /** Namespace, internal views used within object summaries. */ @@ -70,12 +73,8 @@ struct PFS_object_view_constants { static const uint FIRST_VIEW= 1; static const uint VIEW_TABLE= 1; - static const uint LAST_VIEW= 1; - - /* Future use */ - static const uint VIEW_EVENT= 2; - static const uint VIEW_PROCEDURE= 3; - static const uint VIEW_FUNCTION= 4; + static const uint VIEW_PROGRAM= 2; + static const uint LAST_VIEW= 2; }; /** Row fragment for column HOST. */ @@ -182,8 +181,11 @@ struct PFS_object_row /** Build a row from a memory buffer. */ int make_row(PFS_table_share *pfs); + int make_row(PFS_program *pfs); + int make_row(const MDL_key *pfs); /** Set a table field from the row. */ void set_field(uint index, Field *f); + void set_nullable_field(uint index, Field *f); }; /** Row fragment for columns OBJECT_TYPE, SCHEMA_NAME, OBJECT_NAME, INDEX_NAME. */ @@ -196,7 +198,8 @@ struct PFS_index_row uint m_index_name_length; /** Build a row from a memory buffer. */ - int make_row(PFS_table_share *pfs, uint table_index); + int make_row(PFS_table_share *pfs, PFS_table_share_index *pfs_index, + uint table_index); /** Set a table field from the row. */ void set_field(uint index, Field *f); }; @@ -215,6 +218,15 @@ struct PFS_stat_row /** Column MAX_TIMER_WAIT. */ ulonglong m_max; + inline void reset() + { + m_count= 0; + m_sum= 0; + m_min= 0; + m_avg= 0; + m_max= 0; + } + /** Build a row with timer fields from a memory buffer. */ inline void set(time_normalizer *normalizer, const PFS_single_stat *stat) { @@ -328,7 +340,6 @@ struct PFS_table_lock_stat_row PFS_stat_row m_read_external; PFS_stat_row m_write_allow_write; PFS_stat_row m_write_concurrent_insert; - PFS_stat_row m_write_delayed; PFS_stat_row m_write_low_priority; PFS_stat_row m_write_normal; PFS_stat_row m_write_external; @@ -354,14 +365,12 @@ struct PFS_table_lock_stat_row m_write_allow_write.set(normalizer, & stat->m_stat[PFS_TL_WRITE_ALLOW_WRITE]); m_write_concurrent_insert.set(normalizer, & stat->m_stat[PFS_TL_WRITE_CONCURRENT_INSERT]); - m_write_delayed.set(normalizer, & stat->m_stat[PFS_TL_WRITE_DELAYED]); m_write_low_priority.set(normalizer, & stat->m_stat[PFS_TL_WRITE_LOW_PRIORITY]); m_write_normal.set(normalizer, & stat->m_stat[PFS_TL_WRITE]); m_write_external.set(normalizer, & stat->m_stat[PFS_TL_WRITE_EXTERNAL]); all_write.aggregate(& stat->m_stat[PFS_TL_WRITE_ALLOW_WRITE]); all_write.aggregate(& stat->m_stat[PFS_TL_WRITE_CONCURRENT_INSERT]); - all_write.aggregate(& stat->m_stat[PFS_TL_WRITE_DELAYED]); all_write.aggregate(& stat->m_stat[PFS_TL_WRITE_LOW_PRIORITY]); all_write.aggregate(& stat->m_stat[PFS_TL_WRITE]); all_write.aggregate(& stat->m_stat[PFS_TL_WRITE_EXTERNAL]); @@ -420,33 +429,106 @@ struct PFS_statement_stat_row /** Build a row from a memory buffer. */ inline void set(time_normalizer *normalizer, const PFS_statement_stat *stat) { + if (stat->m_timer1_stat.m_count != 0) + { + m_timer1_row.set(normalizer, & stat->m_timer1_stat); + + m_error_count= stat->m_error_count; + m_warning_count= stat->m_warning_count; + m_lock_time= stat->m_lock_time * MICROSEC_TO_PICOSEC; + m_rows_affected= stat->m_rows_affected; + m_rows_sent= stat->m_rows_sent; + m_rows_examined= stat->m_rows_examined; + m_created_tmp_disk_tables= stat->m_created_tmp_disk_tables; + m_created_tmp_tables= stat->m_created_tmp_tables; + m_select_full_join= stat->m_select_full_join; + m_select_full_range_join= stat->m_select_full_range_join; + m_select_range= stat->m_select_range; + m_select_range_check= stat->m_select_range_check; + m_select_scan= stat->m_select_scan; + m_sort_merge_passes= stat->m_sort_merge_passes; + m_sort_range= stat->m_sort_range; + m_sort_rows= stat->m_sort_rows; + m_sort_scan= stat->m_sort_scan; + m_no_index_used= stat->m_no_index_used; + m_no_good_index_used= stat->m_no_good_index_used; + } + else + { + m_timer1_row.reset(); + + m_error_count= 0; + m_warning_count= 0; + m_lock_time= 0; + m_rows_affected= 0; + m_rows_sent= 0; + m_rows_examined= 0; + m_created_tmp_disk_tables= 0; + m_created_tmp_tables= 0; + m_select_full_join= 0; + m_select_full_range_join= 0; + m_select_range= 0; + m_select_range_check= 0; + m_select_scan= 0; + m_sort_merge_passes= 0; + m_sort_range= 0; + m_sort_rows= 0; + m_sort_scan= 0; + m_no_index_used= 0; + m_no_good_index_used= 0; + } + } + + /** Set a table field from the row. */ + void set_field(uint index, Field *f); +}; + +/** Row fragment for stored program statistics. */ +struct PFS_sp_stat_row +{ + PFS_stat_row m_timer1_row; + + /** Build a row from a memory buffer. */ + inline void set(time_normalizer *normalizer, const PFS_sp_stat *stat) + { m_timer1_row.set(normalizer, & stat->m_timer1_stat); + } + + /** Set a table field from the row. */ + inline void set_field(uint index, Field *f) + { + m_timer1_row.set_field(index, f); + } +}; + +/** Row fragment for transaction statistics columns. */ +struct PFS_transaction_stat_row +{ + PFS_stat_row m_timer1_row; + PFS_stat_row m_read_write_row; + PFS_stat_row m_read_only_row; + ulonglong m_savepoint_count; + ulonglong m_rollback_to_savepoint_count; + ulonglong m_release_savepoint_count; - m_error_count= stat->m_error_count; - m_warning_count= stat->m_warning_count; - m_lock_time= stat->m_lock_time * MICROSEC_TO_PICOSEC; - m_rows_affected= stat->m_rows_affected; - m_rows_sent= stat->m_rows_sent; - m_rows_examined= stat->m_rows_examined; - m_created_tmp_disk_tables= stat->m_created_tmp_disk_tables; - m_created_tmp_tables= stat->m_created_tmp_tables; - m_select_full_join= stat->m_select_full_join; - m_select_full_range_join= stat->m_select_full_range_join; - m_select_range= stat->m_select_range; - m_select_range_check= stat->m_select_range_check; - m_select_scan= stat->m_select_scan; - m_sort_merge_passes= stat->m_sort_merge_passes; - m_sort_range= stat->m_sort_range; - m_sort_rows= stat->m_sort_rows; - m_sort_scan= stat->m_sort_scan; - m_no_index_used= stat->m_no_index_used; - m_no_good_index_used= stat->m_no_good_index_used; + /** Build a row from a memory buffer. */ + inline void set(time_normalizer *normalizer, const PFS_transaction_stat *stat) + { + /* Combine read write/read only stats */ + PFS_single_stat all; + all.aggregate(&stat->m_read_only_stat); + all.aggregate(&stat->m_read_write_stat); + + m_timer1_row.set(normalizer, &all); + m_read_write_row.set(normalizer, &stat->m_read_write_stat); + m_read_only_row.set(normalizer, &stat->m_read_only_stat); } /** Set a table field from the row. */ void set_field(uint index, Field *f); }; +/** Row fragment for connection statistics. */ struct PFS_connection_stat_row { ulonglong m_current_connections; @@ -463,6 +545,12 @@ struct PFS_connection_stat_row }; void set_field_object_type(Field *f, enum_object_type object_type); +void set_field_lock_type(Field *f, PFS_TL_LOCK_TYPE lock_type); +void set_field_mdl_type(Field *f, opaque_mdl_type mdl_type); +void set_field_mdl_duration(Field *f, opaque_mdl_duration mdl_duration); +void set_field_mdl_status(Field *f, opaque_mdl_status mdl_status); +void set_field_isolation_level(Field *f, enum_isolation_level iso_level); +void set_field_xa_state(Field *f, enum_xa_transaction_state xa_state); /** Row fragment for socket io statistics columns. */ struct PFS_socket_io_stat_row @@ -471,7 +559,7 @@ struct PFS_socket_io_stat_row PFS_byte_stat_row m_write; PFS_byte_stat_row m_misc; PFS_byte_stat_row m_all; - + inline void set(time_normalizer *normalizer, const PFS_socket_io_stat *stat) { PFS_byte_stat all; @@ -479,7 +567,7 @@ struct PFS_socket_io_stat_row m_read.set(normalizer, &stat->m_read); m_write.set(normalizer, &stat->m_write); m_misc.set(normalizer, &stat->m_misc); - + /* Combine stats for all operations */ all.aggregate(&stat->m_read); all.aggregate(&stat->m_write); @@ -496,7 +584,7 @@ struct PFS_file_io_stat_row PFS_byte_stat_row m_write; PFS_byte_stat_row m_misc; PFS_byte_stat_row m_all; - + inline void set(time_normalizer *normalizer, const PFS_file_io_stat *stat) { PFS_byte_stat all; @@ -504,7 +592,7 @@ struct PFS_file_io_stat_row m_read.set(normalizer, &stat->m_read); m_write.set(normalizer, &stat->m_write); m_misc.set(normalizer, &stat->m_misc); - + /* Combine stats for all operations */ all.aggregate(&stat->m_read); all.aggregate(&stat->m_write); @@ -514,6 +602,76 @@ struct PFS_file_io_stat_row } }; +/** Row fragment for memory statistics columns. */ +struct PFS_memory_stat_row +{ + PFS_memory_stat m_stat; + + /** Build a row from a memory buffer. */ + inline void set(const PFS_memory_stat *stat) + { + m_stat= *stat; + } + + /** Set a table field from the row. */ + void set_field(uint index, Field *f); +}; + +struct PFS_variable_name_row +{ +public: + PFS_variable_name_row() + { + m_str[0]= '\0'; + m_length= 0; + } + + void make_row(const char* str, size_t length); + + char m_str[NAME_CHAR_LEN+1]; + uint m_length; +}; + +struct PFS_variable_value_row +{ + void make_row(const char* str, size_t length); + + char m_str[1024]; + uint m_length; +}; + +struct PFS_user_variable_value_row +{ +public: + PFS_user_variable_value_row() + : m_value(NULL), m_value_length(0) + {} + + PFS_user_variable_value_row(const PFS_user_variable_value_row& rhs) + { + make_row(rhs.m_value, rhs.m_value_length); + } + + ~PFS_user_variable_value_row() + { + clear(); + } + + void make_row(const char* val, size_t length); + + const char *get_value() const + { return m_value; } + + size_t get_value_length() const + { return m_value_length; } + + void clear(); + +private: + char *m_value; + size_t m_value_length; +}; + /** @} */ #endif diff --git a/storage/perfschema/table_host_cache.cc b/storage/perfschema/table_host_cache.cc index 57f1ea42a02..284923ce277 100644 --- a/storage/perfschema/table_host_cache.cc +++ b/storage/perfschema/table_host_cache.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,9 +19,11 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_host_cache.h" #include "hostname.h" +#include "field.h" +#include "sql_class.h" THR_LOCK table_host_cache::m_table_lock; @@ -183,15 +185,15 @@ table_host_cache::m_share= { { C_STRING_WITH_LEN("host_cache") }, &pfs_truncatable_acl, - &table_host_cache::create, + table_host_cache::create, NULL, /* write_row */ table_host_cache::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_host_cache::get_row_count, sizeof(PFS_simple_index), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_host_cache::create(void) @@ -218,6 +220,16 @@ table_host_cache::delete_all_rows(void) return 0; } +ha_rows +table_host_cache::get_row_count(void) +{ + ha_rows count; + hostname_cache_lock(); + count= hostname_cache_size(); + hostname_cache_unlock(); + return count; +} + table_host_cache::table_host_cache() : PFS_engine_table(&m_share, &m_pos), m_all_rows(NULL), m_row_count(0), diff --git a/storage/perfschema/table_host_cache.h b/storage/perfschema/table_host_cache.h index 74795707ac1..66d7966066c 100644 --- a/storage/perfschema/table_host_cache.h +++ b/storage/perfschema/table_host_cache.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -104,6 +104,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_hosts.cc b/storage/perfschema/table_hosts.cc index 8e919ec0724..06ae8c23d95 100644 --- a/storage/perfschema/table_hosts.cc +++ b/storage/perfschema/table_hosts.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,13 +14,16 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_hosts.h" #include "pfs_instr_class.h" #include "pfs_instr.h" #include "pfs_account.h" #include "pfs_host.h" #include "pfs_visitor.h" +#include "pfs_memory.h" +#include "pfs_status.h" +#include "field.h" THR_LOCK table_hosts::m_table_lock; @@ -52,15 +55,15 @@ table_hosts::m_share= { { C_STRING_WITH_LEN("hosts") }, &pfs_truncatable_acl, - &table_hosts::create, + table_hosts::create, NULL, /* write_row */ table_hosts::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + cursor_by_host::get_row_count, sizeof(PFS_simple_index), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_hosts::create() @@ -80,6 +83,15 @@ table_hosts::delete_all_rows(void) reset_events_statements_by_thread(); reset_events_statements_by_account(); reset_events_statements_by_host(); + reset_events_transactions_by_thread(); + reset_events_transactions_by_account(); + reset_events_transactions_by_host(); + reset_memory_by_thread(); + reset_memory_by_account(); + reset_memory_by_host(); + reset_status_by_thread(); + reset_status_by_account(); + reset_status_by_host(); purge_all_account(); purge_all_host(); return 0; @@ -92,7 +104,7 @@ table_hosts::table_hosts() void table_hosts::make_row(PFS_host *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; pfs->m_lock.begin_optimistic_lock(&lock); @@ -101,7 +113,11 @@ void table_hosts::make_row(PFS_host *pfs) return; PFS_connection_stat_visitor visitor; - PFS_connection_iterator::visit_host(pfs, true, true, & visitor); + PFS_connection_iterator::visit_host(pfs, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); if (! pfs->m_lock.end_optimistic_lock(& lock)) return; diff --git a/storage/perfschema/table_hosts.h b/storage/perfschema/table_hosts.h index 6fdbf1bb0d9..7687db2ee21 100644 --- a/storage/perfschema/table_hosts.h +++ b/storage/perfschema/table_hosts.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/storage/perfschema/table_md_locks.cc b/storage/perfschema/table_md_locks.cc new file mode 100644 index 00000000000..d0967af732d --- /dev/null +++ b/storage/perfschema/table_md_locks.cc @@ -0,0 +1,263 @@ +/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_md_locks.cc + Table METADATA_LOCKS (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_md_locks.h" +#include "pfs_global.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_metadata_locks::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("OBJECT_TYPE") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OBJECT_SCHEMA") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OBJECT_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OBJECT_INSTANCE_BEGIN") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOCK_TYPE") }, + { C_STRING_WITH_LEN("varchar(32)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOCK_DURATION") }, + { C_STRING_WITH_LEN("varchar(32)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOCK_STATUS") }, + { C_STRING_WITH_LEN("varchar(32)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SOURCE") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OWNER_THREAD_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OWNER_EVENT_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_metadata_locks::m_field_def= +{ 10, field_types }; + +PFS_engine_table_share +table_metadata_locks::m_share= +{ + { C_STRING_WITH_LEN("metadata_locks") }, + &pfs_readonly_acl, + table_metadata_locks::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_metadata_locks::get_row_count, + sizeof(PFS_simple_index), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_metadata_locks::create(void) +{ + return new table_metadata_locks(); +} + +ha_rows +table_metadata_locks::get_row_count(void) +{ + return global_mdl_container.get_row_count(); +} + +table_metadata_locks::table_metadata_locks() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +void table_metadata_locks::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +int table_metadata_locks::rnd_next(void) +{ + PFS_metadata_lock *pfs; + + m_pos.set_at(&m_next_pos); + PFS_mdl_iterator it= global_mdl_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; + } + + return HA_ERR_END_OF_FILE; +} + +int table_metadata_locks::rnd_pos(const void *pos) +{ + PFS_metadata_lock *pfs; + + set_position(pos); + + pfs= global_mdl_container.get(m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + return 0; + } + + return HA_ERR_RECORD_DELETED; +} + +void table_metadata_locks::make_row(PFS_metadata_lock *pfs) +{ + pfs_optimistic_state lock; + const char *base; + const char *safe_source_file; + + m_row_exists= false; + + /* Protect this reader against a metadata lock destroy */ + pfs->m_lock.begin_optimistic_lock(&lock); + + m_row.m_identity= pfs->m_identity; + m_row.m_mdl_type= pfs->m_mdl_type; + m_row.m_mdl_duration= pfs->m_mdl_duration; + m_row.m_mdl_status= pfs->m_mdl_status; + + safe_source_file= pfs->m_src_file; + if (safe_source_file != NULL) + { + base= base_name(safe_source_file); + m_row.m_source_length= my_snprintf(m_row.m_source, + sizeof(m_row.m_source), + "%s:%d", base, pfs->m_src_line); + if (m_row.m_source_length > sizeof(m_row.m_source)) + m_row.m_source_length= sizeof(m_row.m_source); + } + else + { + m_row.m_source_length= 0; + } + + m_row.m_owner_thread_id= static_cast<ulong>(pfs->m_owner_thread_id); + m_row.m_owner_event_id= static_cast<ulong>(pfs->m_owner_event_id); + + if (m_row.m_object.make_row(& pfs->m_mdl_key)) + return; + + if (pfs->m_lock.end_optimistic_lock(&lock)) + m_row_exists= true; +} + +int table_metadata_locks::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* OBJECT_TYPE */ + case 1: /* OBJECT_SCHEMA */ + case 2: /* OBJECT_NAME */ + m_row.m_object.set_nullable_field(f->field_index, f); + break; + case 3: /* OBJECT_INSTANCE */ + set_field_ulonglong(f, (intptr) m_row.m_identity); + break; + case 4: /* LOCK_TYPE */ + set_field_mdl_type(f, m_row.m_mdl_type); + break; + case 5: /* LOCK_DURATION */ + set_field_mdl_duration(f, m_row.m_mdl_duration); + break; + case 6: /* LOCK_STATUS */ + set_field_mdl_status(f, m_row.m_mdl_status); + break; + case 7: /* SOURCE */ + set_field_varchar_utf8(f, m_row.m_source, m_row.m_source_length); + break; + case 8: /* OWNER_THREAD_ID */ + if (m_row.m_owner_thread_id != 0) + set_field_ulonglong(f, m_row.m_owner_thread_id); + else + f->set_null(); + break; + case 9: /* OWNER_EVENT_ID */ + if (m_row.m_owner_event_id != 0) + set_field_ulonglong(f, m_row.m_owner_event_id); + else + f->set_null(); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_md_locks.h b/storage/perfschema/table_md_locks.h new file mode 100644 index 00000000000..eba03218333 --- /dev/null +++ b/storage/perfschema/table_md_locks.h @@ -0,0 +1,99 @@ +/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_METADATA_LOCK_H +#define TABLE_METADATA_LOCK_H + +/** + @file storage/perfschema/table_md_locks.h + Table METADATA_LOCKS (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "table_helper.h" + +struct PFS_metadata_lock; + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** A row of table PERFORMANCE_SCHEMA.MUTEX_INSTANCES. */ +struct row_metadata_lock +{ + /** Column OBJECT_INSTANCE_BEGIN. */ + const void *m_identity; + opaque_mdl_type m_mdl_type; + opaque_mdl_duration m_mdl_duration; + opaque_mdl_status m_mdl_status; + /** Column SOURCE. */ + char m_source[COL_SOURCE_SIZE]; + /** Length in bytes of @c m_source. */ + uint m_source_length; + /** Column OWNER_THREAD_ID. */ + ulong m_owner_thread_id; + /** Column OWNER_EVENT_ID. */ + ulong m_owner_event_id; + /** Columns OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME. */ + PFS_object_row m_object; +}; + +/** Table PERFORMANCE_SCHEMA.METADATA_LOCKS. */ +class table_metadata_locks : public PFS_engine_table +{ +public: + /** Table share. */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +private: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_metadata_locks(); + +public: + ~table_metadata_locks() + {} + +private: + void make_row(PFS_metadata_lock *pfs); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_metadata_lock m_row; + /** True if the current row exists. */ + bool m_row_exists; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_mems_by_account_by_event_name.cc b/storage/perfschema/table_mems_by_account_by_event_name.cc new file mode 100644 index 00000000000..e425d22effd --- /dev/null +++ b/storage/perfschema/table_mems_by_account_by_event_name.cc @@ -0,0 +1,275 @@ +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_mems_by_account_by_event_name.cc + Table MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_mems_by_account_by_event_name.h" +#include "pfs_global.h" +#include "pfs_visitor.h" +#include "pfs_memory.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_mems_by_account_by_event_name::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("USER") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HOST") }, + { C_STRING_WITH_LEN("char(60)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_ALLOC") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_FREE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NUMBER_OF_BYTES_ALLOC") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NUMBER_OF_BYTES_FREE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOW_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("CURRENT_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HIGH_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOW_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("CURRENT_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HIGH_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_mems_by_account_by_event_name::m_field_def= +{ 13, field_types }; + +PFS_engine_table_share +table_mems_by_account_by_event_name::m_share= +{ + { C_STRING_WITH_LEN("memory_summary_by_account_by_event_name") }, + &pfs_readonly_acl, + table_mems_by_account_by_event_name::create, + NULL, /* write_row */ + table_mems_by_account_by_event_name::delete_all_rows, + table_mems_by_account_by_event_name::get_row_count, + sizeof(pos_mems_by_account_by_event_name), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_mems_by_account_by_event_name::create(void) +{ + return new table_mems_by_account_by_event_name(); +} + +int +table_mems_by_account_by_event_name::delete_all_rows(void) +{ + reset_memory_by_thread(); + reset_memory_by_account(); + return 0; +} + +ha_rows +table_mems_by_account_by_event_name::get_row_count(void) +{ + return global_account_container.get_row_count() * memory_class_max; +} + +table_mems_by_account_by_event_name::table_mems_by_account_by_event_name() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_mems_by_account_by_event_name::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_mems_by_account_by_event_name::rnd_next(void) +{ + PFS_account *account; + PFS_memory_class *memory_class; + bool has_more_account= true; + + for (m_pos.set_at(&m_next_pos); + has_more_account; + m_pos.next_account()) + { + account= global_account_container.get(m_pos.m_index_1, & has_more_account); + if (account != NULL) + { + do + { + memory_class= find_memory_class(m_pos.m_index_2); + if (memory_class != NULL) + { + if (! memory_class->is_global()) + { + make_row(account, memory_class); + m_next_pos.set_after(&m_pos); + return 0; + } + + m_pos.next_class(); + } + } + while (memory_class != NULL); + } + } + + return HA_ERR_END_OF_FILE; +} + +int table_mems_by_account_by_event_name::rnd_pos(const void *pos) +{ + PFS_account *account; + PFS_memory_class *memory_class; + + set_position(pos); + + account= global_account_container.get(m_pos.m_index_1); + if (account != NULL) + { + memory_class= find_memory_class(m_pos.m_index_2); + if (memory_class != NULL) + { + if (! memory_class->is_global()) + { + make_row(account, memory_class); + return 0; + } + } + } + + return HA_ERR_RECORD_DELETED; +} + +void table_mems_by_account_by_event_name +::make_row(PFS_account *account, PFS_memory_class *klass) +{ + pfs_optimistic_state lock; + m_row_exists= false; + + account->m_lock.begin_optimistic_lock(&lock); + + if (m_row.m_account.make_row(account)) + return; + + m_row.m_event_name.make_row(klass); + + PFS_connection_memory_visitor visitor(klass); + PFS_connection_iterator::visit_account(account, + true, /* threads */ + false, /* THDs */ + & visitor); + + if (! account->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; + m_row.m_stat.set(& visitor.m_stat); +} + +int table_mems_by_account_by_event_name::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* USER */ + case 1: /* HOST */ + m_row.m_account.set_field(f->field_index, f); + break; + case 2: /* EVENT_NAME */ + m_row.m_event_name.set_field(f); + break; + default: /* 3, ... HIGH_NUMBER_OF_BYTES_USED */ + m_row.m_stat.set_field(f->field_index - 3, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_mems_by_account_by_event_name.h b/storage/perfschema/table_mems_by_account_by_event_name.h new file mode 100644 index 00000000000..54cf7a42d82 --- /dev/null +++ b/storage/perfschema/table_mems_by_account_by_event_name.h @@ -0,0 +1,122 @@ +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME_H +#define TABLE_MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME_H + +/** + @file storage/perfschema/table_mems_by_account_by_event_name.h + Table MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_account.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** A row of PERFORMANCE_SCHEMA.MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. */ +struct row_mems_by_account_by_event_name +{ + /** Column USER, HOST. */ + PFS_account_row m_account; + /** Column EVENT_NAME. */ + PFS_event_name_row m_event_name; + /** Columns COUNT_ALLOC, ... */ + PFS_memory_stat_row m_stat; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.EVENTS_MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. + Index 1 on account (0 based) + Index 2 on memory class (1 based) +*/ +struct pos_mems_by_account_by_event_name +: public PFS_double_index +{ + pos_mems_by_account_by_event_name() + : PFS_double_index(0, 1) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 1; + } + + inline void next_account(void) + { + m_index_1++; + m_index_2= 1; + } + + inline void next_class(void) + { + m_index_2++; + } +}; + +/** Table PERFORMANCE_SCHEMA.MEMORY_SUMMARY_BY_ACCOUNT_BY_EVENT_NAME. */ +class table_mems_by_account_by_event_name : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +private: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_mems_by_account_by_event_name(); + +public: + ~table_mems_by_account_by_event_name() + {} + +private: + void make_row(PFS_account *account, PFS_memory_class *klass); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_mems_by_account_by_event_name m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_mems_by_account_by_event_name m_pos; + /** Next position. */ + pos_mems_by_account_by_event_name m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_mems_by_host_by_event_name.cc b/storage/perfschema/table_mems_by_host_by_event_name.cc new file mode 100644 index 00000000000..fe42a06d870 --- /dev/null +++ b/storage/perfschema/table_mems_by_host_by_event_name.cc @@ -0,0 +1,271 @@ +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_mems_by_host_by_event_name.cc + Table MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_mems_by_host_by_event_name.h" +#include "pfs_global.h" +#include "pfs_visitor.h" +#include "pfs_memory.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_mems_by_host_by_event_name::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("HOST") }, + { C_STRING_WITH_LEN("char(60)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_ALLOC") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_FREE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NUMBER_OF_BYTES_ALLOC") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NUMBER_OF_BYTES_FREE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOW_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("CURRENT_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HIGH_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOW_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("CURRENT_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HIGH_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_mems_by_host_by_event_name::m_field_def= +{ 12, field_types }; + +PFS_engine_table_share +table_mems_by_host_by_event_name::m_share= +{ + { C_STRING_WITH_LEN("memory_summary_by_host_by_event_name") }, + &pfs_readonly_acl, + table_mems_by_host_by_event_name::create, + NULL, /* write_row */ + table_mems_by_host_by_event_name::delete_all_rows, + table_mems_by_host_by_event_name::get_row_count, + sizeof(PFS_simple_index), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_mems_by_host_by_event_name::create(void) +{ + return new table_mems_by_host_by_event_name(); +} + +int +table_mems_by_host_by_event_name::delete_all_rows(void) +{ + reset_memory_by_thread(); + reset_memory_by_account(); + reset_memory_by_host(); + return 0; +} + +ha_rows +table_mems_by_host_by_event_name::get_row_count(void) +{ + return global_host_container.get_row_count() * memory_class_max; +} + +table_mems_by_host_by_event_name::table_mems_by_host_by_event_name() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_mems_by_host_by_event_name::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_mems_by_host_by_event_name::rnd_next(void) +{ + PFS_host *host; + PFS_memory_class *memory_class; + bool has_more_host= true; + + for (m_pos.set_at(&m_next_pos); + has_more_host; + m_pos.next_host()) + { + host= global_host_container.get(m_pos.m_index_1, & has_more_host); + if (host != NULL) + { + do + { + memory_class= find_memory_class(m_pos.m_index_2); + if (memory_class != NULL) + { + if (! memory_class->is_global()) + { + make_row(host, memory_class); + m_next_pos.set_after(&m_pos); + return 0; + } + + m_pos.next_class(); + } + } + while (memory_class != NULL); + } + } + + return HA_ERR_END_OF_FILE; +} + +int table_mems_by_host_by_event_name::rnd_pos(const void *pos) +{ + PFS_host *host; + PFS_memory_class *memory_class; + + set_position(pos); + + host= global_host_container.get(m_pos.m_index_1); + if (host != NULL) + { + memory_class= find_memory_class(m_pos.m_index_2); + if (memory_class != NULL) + { + if (! memory_class->is_global()) + { + make_row(host, memory_class); + return 0; + } + } + } + + return HA_ERR_RECORD_DELETED; +} + +void table_mems_by_host_by_event_name +::make_row(PFS_host *host, PFS_memory_class *klass) +{ + pfs_optimistic_state lock; + m_row_exists= false; + + host->m_lock.begin_optimistic_lock(&lock); + + if (m_row.m_host.make_row(host)) + return; + + m_row.m_event_name.make_row(klass); + + PFS_connection_memory_visitor visitor(klass); + PFS_connection_iterator::visit_host(host, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); + + if (! host->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; + m_row.m_stat.set(& visitor.m_stat); +} + +int table_mems_by_host_by_event_name::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* HOST */ + m_row.m_host.set_field(f); + break; + case 1: /* EVENT_NAME */ + m_row.m_event_name.set_field(f); + break; + default: /* 2, ... HIGH_NUMBER_OF_BYTES_USED */ + m_row.m_stat.set_field(f->field_index - 2, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_mems_by_host_by_event_name.h b/storage/perfschema/table_mems_by_host_by_event_name.h new file mode 100644 index 00000000000..03b914fe137 --- /dev/null +++ b/storage/perfschema/table_mems_by_host_by_event_name.h @@ -0,0 +1,122 @@ +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME_H +#define TABLE_MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME_H + +/** + @file storage/perfschema/table_mems_by_host_by_event_name.h + Table MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_host.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** A row of PERFORMANCE_SCHEMA.MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME. */ +struct row_mems_by_host_by_event_name +{ + /** Column HOST */ + PFS_host_row m_host; + /** Column EVENT_NAME. */ + PFS_event_name_row m_event_name; + /** Columns COUNT_ALLOC, ... */ + PFS_memory_stat_row m_stat; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.EVENTS_MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME. + Index 1 on host (0 based) + Index 2 on memory class (1 based) +*/ +struct pos_mems_by_host_by_event_name +: public PFS_double_index +{ + pos_mems_by_host_by_event_name() + : PFS_double_index(0, 1) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 1; + } + + inline void next_host(void) + { + m_index_1++; + m_index_2= 1; + } + + inline void next_class(void) + { + m_index_2++; + } +}; + +/** Table PERFORMANCE_SCHEMA.MEMORY_SUMMARY_BY_HOST_BY_EVENT_NAME. */ +class table_mems_by_host_by_event_name : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +private: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_mems_by_host_by_event_name(); + +public: + ~table_mems_by_host_by_event_name() + {} + +private: + void make_row(PFS_host *host, PFS_memory_class *klass); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_mems_by_host_by_event_name m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_mems_by_host_by_event_name m_pos; + /** Next position. */ + pos_mems_by_host_by_event_name m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_mems_by_thread_by_event_name.cc b/storage/perfschema/table_mems_by_thread_by_event_name.cc new file mode 100644 index 00000000000..47a837ebb13 --- /dev/null +++ b/storage/perfschema/table_mems_by_thread_by_event_name.cc @@ -0,0 +1,264 @@ +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_mems_by_thread_by_event_name.cc + Table MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_mems_by_thread_by_event_name.h" +#include "pfs_global.h" +#include "pfs_visitor.h" +#include "pfs_memory.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_mems_by_thread_by_event_name::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("THREAD_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_ALLOC") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_FREE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NUMBER_OF_BYTES_ALLOC") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NUMBER_OF_BYTES_FREE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOW_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("CURRENT_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HIGH_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOW_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("CURRENT_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HIGH_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_mems_by_thread_by_event_name::m_field_def= +{ 12, field_types }; + +PFS_engine_table_share +table_mems_by_thread_by_event_name::m_share= +{ + { C_STRING_WITH_LEN("memory_summary_by_thread_by_event_name") }, + &pfs_readonly_acl, + table_mems_by_thread_by_event_name::create, + NULL, /* write_row */ + table_mems_by_thread_by_event_name::delete_all_rows, + table_mems_by_thread_by_event_name::get_row_count, + sizeof(PFS_simple_index), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_mems_by_thread_by_event_name::create(void) +{ + return new table_mems_by_thread_by_event_name(); +} + +int +table_mems_by_thread_by_event_name::delete_all_rows(void) +{ + reset_memory_by_thread(); + return 0; +} + +ha_rows +table_mems_by_thread_by_event_name::get_row_count(void) +{ + return global_thread_container.get_row_count() * memory_class_max; +} + +table_mems_by_thread_by_event_name::table_mems_by_thread_by_event_name() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_mems_by_thread_by_event_name::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_mems_by_thread_by_event_name::rnd_next(void) +{ + PFS_thread *thread; + PFS_memory_class *memory_class; + bool has_more_thread= true; + + for (m_pos.set_at(&m_next_pos); + has_more_thread; + m_pos.next_thread()) + { + thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (thread != NULL) + { + do + { + memory_class= find_memory_class(m_pos.m_index_2); + if (memory_class != NULL) + { + if (! memory_class->is_global()) + { + make_row(thread, memory_class); + m_next_pos.set_after(&m_pos); + return 0; + } + + m_pos.next_class(); + } + } + while (memory_class != NULL); + } + } + + return HA_ERR_END_OF_FILE; +} + +int table_mems_by_thread_by_event_name::rnd_pos(const void *pos) +{ + PFS_thread *thread; + PFS_memory_class *memory_class; + + set_position(pos); + + thread= global_thread_container.get(m_pos.m_index_1); + if (thread != NULL) + { + memory_class= find_memory_class(m_pos.m_index_2); + if (memory_class != NULL) + { + if (! memory_class->is_global()) + { + make_row(thread, memory_class); + return 0; + } + } + } + + return HA_ERR_RECORD_DELETED; +} + +void table_mems_by_thread_by_event_name +::make_row(PFS_thread *thread, PFS_memory_class *klass) +{ + pfs_optimistic_state lock; + m_row_exists= false; + + /* Protect this reader against a thread termination */ + thread->m_lock.begin_optimistic_lock(&lock); + + m_row.m_thread_internal_id= thread->m_thread_internal_id; + + m_row.m_event_name.make_row(klass); + + PFS_connection_memory_visitor visitor(klass); + PFS_connection_iterator::visit_thread(thread, & visitor); + + if (! thread->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; + m_row.m_stat.set(& visitor.m_stat); +} + +int table_mems_by_thread_by_event_name::read_row_values(TABLE *table, + unsigned char *, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 0); + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* THREAD_ID */ + set_field_ulonglong(f, m_row.m_thread_internal_id); + break; + case 1: /* EVENT_NAME */ + m_row.m_event_name.set_field(f); + break; + default: /* 2, ... HIGH_NUMBER_OF_BYTES_USED */ + m_row.m_stat.set_field(f->field_index - 2, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_mems_by_thread_by_event_name.h b/storage/perfschema/table_mems_by_thread_by_event_name.h new file mode 100644 index 00000000000..da9f7df249d --- /dev/null +++ b/storage/perfschema/table_mems_by_thread_by_event_name.h @@ -0,0 +1,122 @@ +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME_H +#define TABLE_MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME_H + +/** + @file storage/perfschema/table_mems_by_thread_by_event_name.h + Table MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** A row of PERFORMANCE_SCHEMA.MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME. */ +struct row_mems_by_thread_by_event_name +{ + /** Column THREAD_ID. */ + ulonglong m_thread_internal_id; + /** Column EVENT_NAME. */ + PFS_event_name_row m_event_name; + /** Columns COUNT_ALLOC, ... */ + PFS_memory_stat_row m_stat; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.EVENTS_MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME. + Index 1 on thread (0 based). + Index 2 on memory class (1 based). +*/ +struct pos_mems_by_thread_by_event_name +: public PFS_double_index +{ + pos_mems_by_thread_by_event_name() + : PFS_double_index(0, 1) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 1; + } + + inline void next_thread(void) + { + m_index_1++; + m_index_2= 1; + } + + inline void next_class(void) + { + m_index_2++; + } +}; + +/** Table PERFORMANCE_SCHEMA.MEMORY_SUMMARY_BY_THREAD_BY_EVENT_NAME. */ +class table_mems_by_thread_by_event_name : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +private: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_mems_by_thread_by_event_name(); + +public: + ~table_mems_by_thread_by_event_name() + {} + +private: + void make_row(PFS_thread *thread, PFS_memory_class *klass); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_mems_by_thread_by_event_name m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_mems_by_thread_by_event_name m_pos; + /** Next position. */ + pos_mems_by_thread_by_event_name m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_mems_by_user_by_event_name.cc b/storage/perfschema/table_mems_by_user_by_event_name.cc new file mode 100644 index 00000000000..726dad620c9 --- /dev/null +++ b/storage/perfschema/table_mems_by_user_by_event_name.cc @@ -0,0 +1,271 @@ +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_mems_by_user_by_event_name.cc + Table MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_mems_by_user_by_event_name.h" +#include "pfs_global.h" +#include "pfs_visitor.h" +#include "pfs_memory.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_mems_by_user_by_event_name::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("USER") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_ALLOC") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_FREE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NUMBER_OF_BYTES_ALLOC") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NUMBER_OF_BYTES_FREE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOW_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("CURRENT_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HIGH_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOW_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("CURRENT_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HIGH_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_mems_by_user_by_event_name::m_field_def= +{ 12, field_types }; + +PFS_engine_table_share +table_mems_by_user_by_event_name::m_share= +{ + { C_STRING_WITH_LEN("memory_summary_by_user_by_event_name") }, + &pfs_readonly_acl, + table_mems_by_user_by_event_name::create, + NULL, /* write_row */ + table_mems_by_user_by_event_name::delete_all_rows, + table_mems_by_user_by_event_name::get_row_count, + sizeof(PFS_simple_index), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_mems_by_user_by_event_name::create(void) +{ + return new table_mems_by_user_by_event_name(); +} + +int +table_mems_by_user_by_event_name::delete_all_rows(void) +{ + reset_memory_by_thread(); + reset_memory_by_account(); + reset_memory_by_user(); + return 0; +} + +ha_rows +table_mems_by_user_by_event_name::get_row_count(void) +{ + return global_user_container.get_row_count() * memory_class_max; +} + +table_mems_by_user_by_event_name::table_mems_by_user_by_event_name() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_mems_by_user_by_event_name::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_mems_by_user_by_event_name::rnd_next(void) +{ + PFS_user *user; + PFS_memory_class *memory_class; + bool has_more_user= true; + + for (m_pos.set_at(&m_next_pos); + has_more_user; + m_pos.next_user()) + { + user= global_user_container.get(m_pos.m_index_1, & has_more_user); + if (user != NULL) + { + do + { + memory_class= find_memory_class(m_pos.m_index_2); + if (memory_class != NULL) + { + if (! memory_class->is_global()) + { + make_row(user, memory_class); + m_next_pos.set_after(&m_pos); + return 0; + } + + m_pos.next_class(); + } + } + while (memory_class != NULL); + } + } + + return HA_ERR_END_OF_FILE; +} + +int table_mems_by_user_by_event_name::rnd_pos(const void *pos) +{ + PFS_user *user; + PFS_memory_class *memory_class; + + set_position(pos); + + user= global_user_container.get(m_pos.m_index_1); + if (user != NULL) + { + memory_class= find_memory_class(m_pos.m_index_2); + if (memory_class != NULL) + { + if (! memory_class->is_global()) + { + make_row(user, memory_class); + return 0; + } + } + } + + return HA_ERR_RECORD_DELETED; +} + +void table_mems_by_user_by_event_name +::make_row(PFS_user *user, PFS_memory_class *klass) +{ + pfs_optimistic_state lock; + m_row_exists= false; + + user->m_lock.begin_optimistic_lock(&lock); + + if (m_row.m_user.make_row(user)) + return; + + m_row.m_event_name.make_row(klass); + + PFS_connection_memory_visitor visitor(klass); + PFS_connection_iterator::visit_user(user, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); + + if (! user->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; + m_row.m_stat.set(& visitor.m_stat); +} + +int table_mems_by_user_by_event_name::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* USER */ + m_row.m_user.set_field(f); + break; + case 1: /* EVENT_NAME */ + m_row.m_event_name.set_field(f); + break; + default: /* 2, ... HIGH_NUMBER_OF_BYTES_USED */ + m_row.m_stat.set_field(f->field_index - 2, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_mems_by_user_by_event_name.h b/storage/perfschema/table_mems_by_user_by_event_name.h new file mode 100644 index 00000000000..d247efa31e6 --- /dev/null +++ b/storage/perfschema/table_mems_by_user_by_event_name.h @@ -0,0 +1,122 @@ +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME_H +#define TABLE_MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME_H + +/** + @file storage/perfschema/table_mems_by_user_by_event_name.h + Table MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_user.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** A row of PERFORMANCE_SCHEMA.MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME. */ +struct row_mems_by_user_by_event_name +{ + /** Column USER. */ + PFS_user_row m_user; + /** Column EVENT_NAME. */ + PFS_event_name_row m_event_name; + /** Columns COUNT_ALLOC, ... */ + PFS_memory_stat_row m_stat; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.EVENTS_MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME. + Index 1 on user (0 based) + Index 2 on memory class (1 based) +*/ +struct pos_mems_by_user_by_event_name +: public PFS_double_index +{ + pos_mems_by_user_by_event_name() + : PFS_double_index(0, 1) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 1; + } + + inline void next_user(void) + { + m_index_1++; + m_index_2= 1; + } + + inline void next_class(void) + { + m_index_2++; + } +}; + +/** Table PERFORMANCE_SCHEMA.MEMORY_SUMMARY_BY_USER_BY_EVENT_NAME. */ +class table_mems_by_user_by_event_name : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +private: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_mems_by_user_by_event_name(); + +public: + ~table_mems_by_user_by_event_name() + {} + +private: + void make_row(PFS_user *user, PFS_memory_class *klass); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_mems_by_user_by_event_name m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_mems_by_user_by_event_name m_pos; + /** Next position. */ + pos_mems_by_user_by_event_name m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_mems_global_by_event_name.cc b/storage/perfschema/table_mems_global_by_event_name.cc new file mode 100644 index 00000000000..6924fb4e8f4 --- /dev/null +++ b/storage/perfschema/table_mems_global_by_event_name.cc @@ -0,0 +1,287 @@ +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_mems_global_by_event_name.cc + Table MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_mems_global_by_event_name.h" +#include "pfs_global.h" +#include "pfs_visitor.h" +#include "pfs_builtin_memory.h" +#include "pfs_memory.h" +#include "field.h" + +THR_LOCK table_mems_global_by_event_name::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("EVENT_NAME") }, + { C_STRING_WITH_LEN("varchar(128)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_ALLOC") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_FREE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NUMBER_OF_BYTES_ALLOC") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NUMBER_OF_BYTES_FREE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOW_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("CURRENT_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HIGH_COUNT_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("LOW_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("CURRENT_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HIGH_NUMBER_OF_BYTES_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_mems_global_by_event_name::m_field_def= +{ 11, field_types }; + +PFS_engine_table_share +table_mems_global_by_event_name::m_share= +{ + { C_STRING_WITH_LEN("memory_summary_global_by_event_name") }, + &pfs_readonly_acl, + table_mems_global_by_event_name::create, + NULL, /* write_row */ + table_mems_global_by_event_name::delete_all_rows, + table_mems_global_by_event_name::get_row_count, + sizeof(pos_t), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_mems_global_by_event_name::create(void) +{ + return new table_mems_global_by_event_name(); +} + +int +table_mems_global_by_event_name::delete_all_rows(void) +{ + reset_memory_by_thread(); + reset_memory_by_account(); + reset_memory_by_user(); + reset_memory_by_host(); + reset_memory_global(); + return 0; +} + +ha_rows +table_mems_global_by_event_name::get_row_count(void) +{ + return memory_class_max; +} + +table_mems_global_by_event_name::table_mems_global_by_event_name() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_mems_global_by_event_name::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_mems_global_by_event_name::rnd_next(void) +{ + PFS_memory_class *pfs; + PFS_builtin_memory_class *pfs_builtin; + + /* Do not advertise hard coded instruments when disabled. */ + if (! pfs_initialized) + return HA_ERR_END_OF_FILE; + + for (m_pos.set_at(&m_next_pos); + m_pos.has_more_view(); + m_pos.next_view()) + { + switch (m_pos.m_index_1) + { + case pos_mems_global_by_event_name::VIEW_BUILTIN_MEMORY: + pfs_builtin= find_builtin_memory_class(m_pos.m_index_2); + if (pfs_builtin != NULL) + { + make_row(pfs_builtin); + m_next_pos.set_after(&m_pos); + return 0; + } + break; + case pos_mems_global_by_event_name::VIEW_MEMORY: + pfs= find_memory_class(m_pos.m_index_2); + if (pfs != NULL) + { + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; + } + break; + } + } + + return HA_ERR_END_OF_FILE; +} + +int table_mems_global_by_event_name::rnd_pos(const void *pos) +{ + PFS_builtin_memory_class *pfs_builtin; + PFS_memory_class *pfs; + + /* Do not advertise hard coded instruments when disabled. */ + if (! pfs_initialized) + return HA_ERR_END_OF_FILE; + + set_position(pos); + + switch(m_pos.m_index_1) + { + case pos_mems_global_by_event_name::VIEW_BUILTIN_MEMORY: + pfs_builtin= find_builtin_memory_class(m_pos.m_index_2); + if (pfs_builtin != NULL) + { + make_row(pfs_builtin); + return 0; + } + break; + case pos_mems_global_by_event_name::VIEW_MEMORY: + pfs= find_memory_class(m_pos.m_index_2); + if (pfs != NULL) + { + make_row(pfs); + return 0; + } + break; + } + + return HA_ERR_RECORD_DELETED; +} + +void table_mems_global_by_event_name::make_row(PFS_memory_class *klass) +{ + m_row.m_event_name.make_row(klass); + + PFS_connection_memory_visitor visitor(klass); + + if (klass->is_global()) + { + PFS_connection_iterator::visit_global(false, /* hosts */ + false, /* users */ + false, /* accounts */ + false, /* threads */ + false, /* THDs */ + &visitor); + } + else + { + PFS_connection_iterator::visit_global(true, /* hosts */ + false, /* users */ + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + &visitor); + } + + m_row.m_stat.set(& visitor.m_stat); + m_row_exists= true; +} + +void table_mems_global_by_event_name::make_row(PFS_builtin_memory_class *klass) +{ + m_row.m_event_name.make_row(& klass->m_class); + m_row.m_stat.set(& klass->m_stat); + m_row_exists= true; +} + +int table_mems_global_by_event_name::read_row_values(TABLE *table, + unsigned char *, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 0); + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* EVENT_NAME */ + m_row.m_event_name.set_field(f); + break; + default: /* 1, ... HIGH_NUMBER_OF_BYTES_USED */ + m_row.m_stat.set_field(f->field_index - 1, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_mems_global_by_event_name.h b/storage/perfschema/table_mems_global_by_event_name.h new file mode 100644 index 00000000000..029f5b4c781 --- /dev/null +++ b/storage/perfschema/table_mems_global_by_event_name.h @@ -0,0 +1,125 @@ +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME_H +#define TABLE_MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME_H + +/** + @file storage/perfschema/table_mems_global_by_event_name.h + Table MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_builtin_memory.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** A row of PERFORMANCE_SCHEMA.MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME. */ +struct row_mems_global_by_event_name +{ + /** Column EVENT_NAME. */ + PFS_event_name_row m_event_name; + /** Columns COUNT_ALLOC, ... */ + PFS_memory_stat_row m_stat; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME. + Index 1 on view + Index 2 on instrument key (1 based) +*/ +struct pos_mems_global_by_event_name : public PFS_double_index +{ + static const uint FIRST_VIEW= 1; + static const uint VIEW_BUILTIN_MEMORY= 1; + static const uint VIEW_MEMORY= 2; + static const uint LAST_VIEW= 2; + + pos_mems_global_by_event_name() + : PFS_double_index(FIRST_VIEW, 1) + {} + + inline void reset(void) + { + m_index_1= FIRST_VIEW; + m_index_2= 1; + } + + inline bool has_more_view(void) + { return (m_index_1 <= LAST_VIEW); } + + inline void next_view(void) + { + m_index_1++; + m_index_2= 1; + } +}; + +/** Table PERFORMANCE_SCHEMA.MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME. */ +class table_mems_global_by_event_name : public PFS_engine_table +{ + typedef pos_mems_global_by_event_name pos_t; + +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +private: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_mems_global_by_event_name(); + +public: + ~table_mems_global_by_event_name() + {} + +private: + void make_row(PFS_builtin_memory_class *klass); + void make_row(PFS_memory_class *klass); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_mems_global_by_event_name m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_t m_pos; + /** Next position. */ + pos_t m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_os_global_by_type.cc b/storage/perfschema/table_os_global_by_type.cc index 954128a7647..c8604714121 100644 --- a/storage/perfschema/table_os_global_by_type.cc +++ b/storage/perfschema/table_os_global_by_type.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,12 +19,14 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_os_global_by_type.h" #include "pfs_global.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_os_global_by_type::m_table_lock; @@ -84,12 +86,12 @@ table_os_global_by_type::m_share= table_os_global_by_type::create, NULL, /* write_row */ table_os_global_by_type::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_os_global_by_type::get_row_count, sizeof(pos_os_global_by_type), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -106,6 +108,13 @@ table_os_global_by_type::delete_all_rows(void) return 0; } +ha_rows +table_os_global_by_type::get_row_count(void) +{ + return global_table_share_container.get_row_count() + + global_program_container.get_row_count(); +} + table_os_global_by_type::table_os_global_by_type() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -119,22 +128,46 @@ void table_os_global_by_type::reset_position(void) int table_os_global_by_type::rnd_next(void) { - PFS_table_share *table_share; - for (m_pos.set_at(&m_next_pos); m_pos.has_more_view(); m_pos.next_view()) { switch (m_pos.m_index_1) { case pos_os_global_by_type::VIEW_TABLE: - for ( ; m_pos.m_index_2 < table_share_max; m_pos.m_index_2++) { - table_share= &table_share_array[m_pos.m_index_2]; - if (table_share->m_lock.is_populated()) + PFS_table_share *table_share; + bool has_more_share= true; + + for (; + has_more_share; + m_pos.m_index_2++) { - make_row(table_share); - m_next_pos.set_after(&m_pos); - return 0; + table_share= global_table_share_container.get(m_pos.m_index_2, & has_more_share); + if (table_share != NULL) + { + make_table_row(table_share); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + break; + case pos_os_global_by_type::VIEW_PROGRAM: + { + PFS_program *pfs_program; + bool has_more_program= true; + + for (; + has_more_program; + m_pos.m_index_2++) + { + pfs_program= global_program_container.get(m_pos.m_index_2, & has_more_program); + if (pfs_program != NULL) + { + make_program_row(pfs_program); + m_next_pos.set_after(&m_pos); + return 0; + } } } break; @@ -149,18 +182,29 @@ int table_os_global_by_type::rnd_next(void) int table_os_global_by_type::rnd_pos(const void *pos) { - PFS_table_share *table_share; - set_position(pos); switch (m_pos.m_index_1) { case pos_os_global_by_type::VIEW_TABLE: - DBUG_ASSERT(m_pos.m_index_2 < table_share_max); - table_share= &table_share_array[m_pos.m_index_2]; - if (table_share->m_lock.is_populated()) { - make_row(table_share); - return 0; + PFS_table_share *table_share; + table_share= global_table_share_container.get(m_pos.m_index_2); + if (table_share != NULL) + { + make_table_row(table_share); + return 0; + } + } + break; + case pos_os_global_by_type::VIEW_PROGRAM: + { + PFS_program *pfs_program; + pfs_program= global_program_container.get(m_pos.m_index_2); + if (pfs_program != NULL) + { + make_program_row(pfs_program); + return 0; + } } break; default: @@ -170,9 +214,29 @@ table_os_global_by_type::rnd_pos(const void *pos) return HA_ERR_RECORD_DELETED; } -void table_os_global_by_type::make_row(PFS_table_share *share) +void table_os_global_by_type::make_program_row(PFS_program *pfs_program) { - pfs_lock lock; + pfs_optimistic_state lock; + PFS_single_stat cumulated_stat; + + m_row_exists= false; + + pfs_program->m_lock.begin_optimistic_lock(&lock); + + m_row.m_object.make_row(pfs_program); + + time_normalizer *normalizer= time_normalizer::get(wait_timer); + m_row.m_stat.set(normalizer, &pfs_program->m_sp_stat.m_timer1_stat); + + if (! pfs_program->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; +} + +void table_os_global_by_type::make_table_row(PFS_table_share *share) +{ + pfs_optimistic_state lock; PFS_single_stat cumulated_stat; uint safe_key_count; @@ -180,16 +244,12 @@ void table_os_global_by_type::make_row(PFS_table_share *share) share->m_lock.begin_optimistic_lock(&lock); - m_row.m_object_type= share->get_object_type(); - memcpy(m_row.m_schema_name, share->m_schema_name, share->m_schema_name_length); - m_row.m_schema_name_length= share->m_schema_name_length; - memcpy(m_row.m_object_name, share->m_table_name, share->m_table_name_length); - m_row.m_object_name_length= share->m_table_name_length; + m_row.m_object.make_row(share); /* This is a dirty read, some thread can write data while we are reading it */ safe_key_count= sanitize_index_count(share->m_key_count); - share->m_table_stat.sum(& cumulated_stat, safe_key_count); + share->sum(& cumulated_stat, safe_key_count); if (! share->m_lock.end_optimistic_lock(&lock)) return; @@ -199,11 +259,12 @@ void table_os_global_by_type::make_row(PFS_table_share *share) if (share->get_refcount() > 0) { /* For all the table handles still opened ... */ - PFS_table *table= table_array; - PFS_table *table_last= table_array + table_max; - for ( ; table < table_last ; table++) + PFS_table_iterator it= global_table_container.iterate(); + PFS_table *table= it.scan_next(); + + while (table != NULL) { - if ((table->m_share == share) && (table->m_lock.is_populated())) + if (table->m_share == share) { /* If the opened table handle is for this table share, @@ -211,6 +272,7 @@ void table_os_global_by_type::make_row(PFS_table_share *share) */ table->m_table_stat.sum(& cumulated_stat, safe_key_count); } + table= it.scan_next(); } } @@ -239,15 +301,15 @@ int table_os_global_by_type::read_row_values(TABLE *table, switch(f->field_index) { case 0: /* OBJECT_TYPE */ - set_field_object_type(f, m_row.m_object_type); + set_field_object_type(f, m_row.m_object.m_object_type); break; case 1: /* SCHEMA_NAME */ - set_field_varchar_utf8(f, m_row.m_schema_name, - m_row.m_schema_name_length); + set_field_varchar_utf8(f, m_row.m_object.m_schema_name, + m_row.m_object.m_schema_name_length); break; case 2: /* OBJECT_NAME */ - set_field_varchar_utf8(f, m_row.m_object_name, - m_row.m_object_name_length); + set_field_varchar_utf8(f, m_row.m_object.m_object_name, + m_row.m_object.m_object_name_length); break; case 3: /* COUNT */ set_field_ulonglong(f, m_row.m_stat.m_count); diff --git a/storage/perfschema/table_os_global_by_type.h b/storage/perfschema/table_os_global_by_type.h index 888e3760488..a0cc0019200 100644 --- a/storage/perfschema/table_os_global_by_type.h +++ b/storage/perfschema/table_os_global_by_type.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,7 @@ #include "pfs_engine_table.h" #include "pfs_instr_class.h" #include "pfs_instr.h" +#include "pfs_program.h" #include "table_helper.h" /** @@ -38,16 +39,9 @@ */ struct row_os_global_by_type { - /** Column OBJECT_TYPE. */ - enum_object_type m_object_type; - /** Column SCHEMA_NAME. */ - char m_schema_name[NAME_LEN]; - /** Length in bytes of @c m_schema_name. */ - uint m_schema_name_length; - /** Column OBJECT_NAME. */ - char m_object_name[NAME_LEN]; - /** Length in bytes of @c m_object_name. */ - uint m_object_name_length; + /** Column OBJECT_TYPE, SCHEMA_NAME, OBJECT_NAME. */ + PFS_object_row m_object; + /** Columns COUNT_STAR, SUM/MIN/AVG/MAX TIMER_WAIT. */ PFS_stat_row m_stat; }; @@ -89,6 +83,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); @@ -107,7 +102,8 @@ public: {} protected: - void make_row(PFS_table_share *table_share); + void make_table_row(PFS_table_share *table_share); + void make_program_row(PFS_program *pfs_program); private: /** Table share lock. */ diff --git a/storage/perfschema/table_performance_timers.cc b/storage/perfschema/table_performance_timers.cc index a891d2f04cd..bb1529b0517 100644 --- a/storage/perfschema/table_performance_timers.cc +++ b/storage/perfschema/table_performance_timers.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,10 +19,11 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_performance_timers.h" #include "pfs_timer.h" #include "pfs_global.h" +#include "field.h" THR_LOCK table_performance_timers::m_table_lock; @@ -60,15 +61,15 @@ table_performance_timers::m_share= { { C_STRING_WITH_LEN("performance_timers") }, &pfs_readonly_acl, - &table_performance_timers::create, + table_performance_timers::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - COUNT_TIMER_NAME, /* records */ + table_performance_timers::get_row_count, sizeof(PFS_simple_index), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_performance_timers::create(void) @@ -76,6 +77,12 @@ PFS_engine_table* table_performance_timers::create(void) return new table_performance_timers(); } +ha_rows +table_performance_timers::get_row_count(void) +{ + return COUNT_TIMER_NAME; +} + table_performance_timers::table_performance_timers() : PFS_engine_table(&m_share, &m_pos), m_row(NULL), m_pos(0), m_next_pos(0) diff --git a/storage/perfschema/table_performance_timers.h b/storage/perfschema/table_performance_timers.h index dbd47665ff6..d4ea510aac5 100644 --- a/storage/perfschema/table_performance_timers.h +++ b/storage/perfschema/table_performance_timers.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -49,6 +49,7 @@ public: /** Table share. */ static PFS_engine_table_share m_share; static PFS_engine_table* create(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_prepared_stmt_instances.cc b/storage/perfschema/table_prepared_stmt_instances.cc new file mode 100644 index 00000000000..9cae5c72567 --- /dev/null +++ b/storage/perfschema/table_prepared_stmt_instances.cc @@ -0,0 +1,436 @@ +/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_prepared_stmt_instances.cc + Table PREPARED_STATEMENTS_INSTANCES (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "pfs_global.h" +#include "pfs_instr.h" +#include "pfs_timer.h" +#include "pfs_visitor.h" +#include "pfs_prepared_stmt.h" +#include "table_prepared_stmt_instances.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_prepared_stmt_instances::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("OBJECT_INSTANCE_BEGIN") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("STATEMENT_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("STATEMENT_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SQL_TEXT") }, + { C_STRING_WITH_LEN("longtext") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OWNER_THREAD_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OWNER_EVENT_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OWNER_OBJECT_TYPE") }, + { C_STRING_WITH_LEN("enum(\'EVENT\',\'FUNCTION\',\'PROCEDURE\',\'TABLE\',\'TRIGGER\')") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OWNER_OBJECT_SCHEMA") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OWNER_OBJECT_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("TIMER_PREPARE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_REPREPARE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("COUNT_EXECUTE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_TIMER_EXECUTE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MIN_TIMER_EXECUTE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("AVG_TIMER_EXECUTE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("MAX_TIMER_EXECUTE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_LOCK_TIME") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_ERRORS") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_WARNINGS") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_ROWS_AFFECTED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_ROWS_SENT") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_ROWS_EXAMINED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_CREATED_TMP_DISK_TABLES") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_CREATED_TMP_TABLES") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SELECT_FULL_JOIN") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SELECT_FULL_RANGE_JOIN") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SELECT_RANGE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SELECT_RANGE_CHECK") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SELECT_SCAN") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SORT_MERGE_PASSES") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SORT_RANGE") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SORT_ROWS") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_SORT_SCAN") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NO_INDEX_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("SUM_NO_GOOD_INDEX_USED") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, +}; + +TABLE_FIELD_DEF +table_prepared_stmt_instances::m_field_def= +{ 35, field_types }; + +PFS_engine_table_share +table_prepared_stmt_instances::m_share= +{ + { C_STRING_WITH_LEN("prepared_statements_instances") }, + &pfs_truncatable_acl, + table_prepared_stmt_instances::create, + NULL, /* write_row */ + table_prepared_stmt_instances::delete_all_rows, + table_prepared_stmt_instances::get_row_count, + sizeof(PFS_simple_index), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_prepared_stmt_instances::create(void) +{ + return new table_prepared_stmt_instances(); +} + +int +table_prepared_stmt_instances::delete_all_rows(void) +{ + reset_prepared_stmt_instances(); + return 0; +} + +ha_rows +table_prepared_stmt_instances::get_row_count(void) +{ + return global_prepared_stmt_container.get_row_count(); +} + +table_prepared_stmt_instances::table_prepared_stmt_instances() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +void table_prepared_stmt_instances::reset_position(void) +{ + m_pos= 0; + m_next_pos= 0; +} + +int table_prepared_stmt_instances::rnd_next(void) +{ + PFS_prepared_stmt* pfs; + + m_pos.set_at(&m_next_pos); + PFS_prepared_stmt_iterator it= global_prepared_stmt_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; + } + + return HA_ERR_END_OF_FILE; +} + +int +table_prepared_stmt_instances::rnd_pos(const void *pos) +{ + PFS_prepared_stmt* pfs; + + set_position(pos); + + pfs= global_prepared_stmt_container.get(m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + return 0; + } + + return HA_ERR_RECORD_DELETED; +} + + +void table_prepared_stmt_instances::make_row(PFS_prepared_stmt* prepared_stmt) +{ + pfs_optimistic_state lock; + m_row_exists= false; + + prepared_stmt->m_lock.begin_optimistic_lock(&lock); + + m_row.m_identity= prepared_stmt->m_identity; + + m_row.m_stmt_id= prepared_stmt->m_stmt_id; + + m_row.m_owner_thread_id= prepared_stmt->m_owner_thread_id; + m_row.m_owner_event_id= prepared_stmt->m_owner_event_id; + + m_row.m_stmt_name_length= prepared_stmt->m_stmt_name_length; + if(m_row.m_stmt_name_length > 0) + memcpy(m_row.m_stmt_name, prepared_stmt->m_stmt_name, + m_row.m_stmt_name_length); + + m_row.m_sql_text_length= prepared_stmt->m_sqltext_length; + if(m_row.m_sql_text_length > 0) + memcpy(m_row.m_sql_text, prepared_stmt->m_sqltext, + m_row.m_sql_text_length); + + m_row.m_owner_object_type= prepared_stmt->m_owner_object_type; + + m_row.m_owner_object_name_length= prepared_stmt->m_owner_object_name_length; + if(m_row.m_owner_object_name_length > 0) + memcpy(m_row.m_owner_object_name, prepared_stmt->m_owner_object_name, + m_row.m_owner_object_name_length); + + m_row.m_owner_object_schema_length= prepared_stmt->m_owner_object_schema_length; + if(m_row.m_owner_object_schema_length > 0) + memcpy(m_row.m_owner_object_schema, prepared_stmt->m_owner_object_schema, + m_row.m_owner_object_schema_length); + + time_normalizer *normalizer= time_normalizer::get(statement_timer); + /* Get prepared statement prepare stats. */ + m_row.m_prepare_stat.set(normalizer, & prepared_stmt->m_prepare_stat); + /* Get prepared statement reprepare stats. */ + m_row.m_reprepare_stat.set(normalizer, & prepared_stmt->m_reprepare_stat); + /* Get prepared statement execute stats. */ + m_row.m_execute_stat.set(normalizer, & prepared_stmt->m_execute_stat); + + if (! prepared_stmt->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; +} + +int table_prepared_stmt_instances +::read_row_values(TABLE *table, unsigned char *buf, Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* + Set the null bits. + */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* OBJECT_INSTANCE_BEGIN */ + set_field_ulonglong(f, (intptr)m_row.m_identity); + break; + case 1: /* STATEMENT_ID */ + set_field_ulonglong(f, m_row.m_stmt_id); + break; + case 2: /* STATEMENT_NAME */ + if(m_row.m_stmt_name_length > 0) + set_field_varchar_utf8(f, m_row.m_stmt_name, + m_row.m_stmt_name_length); + else + f->set_null(); + break; + case 3: /* SQL_TEXT */ + if(m_row.m_sql_text_length > 0) + set_field_longtext_utf8(f, m_row.m_sql_text, + m_row.m_sql_text_length); + else + f->set_null(); + break; + case 4: /* OWNER_THREAD_ID */ + set_field_ulonglong(f, m_row.m_owner_thread_id); + break; + case 5: /* OWNER_EVENT_ID */ + if(m_row.m_owner_event_id > 0) + set_field_ulonglong(f, m_row.m_owner_event_id); + else + f->set_null(); + break; + case 6: /* OWNER_OBJECT_TYPE */ + if(m_row.m_owner_object_type != 0) + set_field_enum(f, m_row.m_owner_object_type); + else + f->set_null(); + break; + case 7: /* OWNER_OBJECT_SCHEMA */ + if(m_row.m_owner_object_schema_length > 0) + set_field_varchar_utf8(f, m_row.m_owner_object_schema, + m_row.m_owner_object_schema_length); + else + f->set_null(); + break; + case 8: /* OWNER_OBJECT_NAME */ + if(m_row.m_owner_object_name_length > 0) + set_field_varchar_utf8(f, m_row.m_owner_object_name, + m_row.m_owner_object_name_length); + else + f->set_null(); + break; + case 9: /* TIMER_PREPARE */ + m_row.m_prepare_stat.set_field(1, f); + break; + case 10: /* COUNT_REPREPARE */ + m_row.m_reprepare_stat.set_field(0, f); + break; + default: /* 14, ... COUNT/SUM/MIN/AVG/MAX */ + m_row.m_execute_stat.set_field(f->field_index - 11, f); + break; + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_prepared_stmt_instances.h b/storage/perfschema/table_prepared_stmt_instances.h new file mode 100644 index 00000000000..709cbfa8d35 --- /dev/null +++ b/storage/perfschema/table_prepared_stmt_instances.h @@ -0,0 +1,125 @@ +/* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_PREPARED_STMT_INSTANCES +#define TABLE_PREPARED_STMT_INSTANCES + +/** + @file storage/perfschema/table_prepared_stmt_instances.h + Table PREPARED_STATEMENT_INSTANCE(declarations). +*/ + +#include "table_helper.h" +#include "pfs_prepared_stmt.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.PREPARED_STATEMENT_INSTANCES. +*/ +struct row_prepared_stmt_instances +{ + /** Column OBJECT_INSTANCE_BEGIN. */ + const void *m_identity; + + /** Column STMT_ID. */ + ulonglong m_stmt_id; + + /** Column STMT_NAME. */ + char m_stmt_name[COL_INFO_SIZE]; + int m_stmt_name_length; + + /** Column SQL_TEXT. */ + char m_sql_text[COL_INFO_SIZE]; + int m_sql_text_length; + + /** Column OWNER_THREAD_ID. */ + ulonglong m_owner_thread_id; + + /** Column OWNER_EVENT_ID. */ + ulonglong m_owner_event_id; + + /** Column OWNER_OBJECT_TYPE. */ + enum_object_type m_owner_object_type; + + /** Column OWNER_OBJECT_SCHEMA */ + char m_owner_object_schema[COL_OBJECT_SCHEMA_SIZE]; + int m_owner_object_schema_length; + + /** Column OWNER_OBJECT_NAME */ + char m_owner_object_name[COL_OBJECT_NAME_SIZE]; + int m_owner_object_name_length; + + /** Columns TIMER_PREPARE. */ + PFS_stat_row m_prepare_stat; + + /** Columns COUNT_REPREPARE. */ + PFS_stat_row m_reprepare_stat; + + /** Columns COUNT_STAR...SUM_NO_GOOD_INDEX_USED. */ + PFS_statement_stat_row m_execute_stat; +}; + +/** Table PERFORMANCE_SCHEMA.PREPARED_STATEMENT_INSTANCES. */ +class table_prepared_stmt_instances : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_prepared_stmt_instances(); + +public: + ~table_prepared_stmt_instances() + {} + +protected: + void make_row(PFS_prepared_stmt*); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_prepared_stmt_instances m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_replication_applier_configuration.cc b/storage/perfschema/table_replication_applier_configuration.cc new file mode 100644 index 00000000000..a88e0f82846 --- /dev/null +++ b/storage/perfschema/table_replication_applier_configuration.cc @@ -0,0 +1,208 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_replication_applier_configuration.cc + Table replication_applier_configuration (implementation). +*/ + +#define HAVE_REPLICATION + +#include "my_global.h" +#include "table_replication_applier_configuration.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "rpl_slave.h" +#include "rpl_info.h" +#include "rpl_rli.h" +#include "rpl_mi.h" +#include "sql_parse.h" +#include "rpl_msr.h" /* Multisource replication */ + +THR_LOCK table_replication_applier_configuration::m_table_lock; + +/* + numbers in varchar count utf8 characters. +*/ +static const TABLE_FIELD_TYPE field_types[]= +{ + { + {C_STRING_WITH_LEN("CHANNEL_NAME")}, + {C_STRING_WITH_LEN("char(64)")}, + {NULL,0} + }, + + { + {C_STRING_WITH_LEN("DESIRED_DELAY")}, + {C_STRING_WITH_LEN("int(11)")}, + {NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_replication_applier_configuration::m_field_def= +{ 2, field_types }; + +PFS_engine_table_share +table_replication_applier_configuration::m_share= +{ + { C_STRING_WITH_LEN("replication_applier_configuration") }, + &pfs_readonly_acl, + table_replication_applier_configuration::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_replication_applier_configuration::get_row_count, + sizeof(PFS_simple_index), /* ref length */ + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_replication_applier_configuration::create(void) +{ + return new table_replication_applier_configuration(); +} + +table_replication_applier_configuration + ::table_replication_applier_configuration() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +table_replication_applier_configuration + ::~table_replication_applier_configuration() +{} + +void table_replication_applier_configuration::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + + +ha_rows table_replication_applier_configuration::get_row_count() +{ + return channel_map.get_max_channels(); +} + + +int table_replication_applier_configuration::rnd_next(void) +{ + Master_info *mi; + int res= HA_ERR_END_OF_FILE; + + channel_map.rdlock(); + + for (m_pos.set_at(&m_next_pos); + m_pos.m_index < channel_map.get_max_channels() && res != 0; + m_pos.next()) + { + mi= channel_map.get_mi_at_pos(m_pos.m_index); + + if (mi && mi->host[0]) + { + make_row(mi); + m_next_pos.set_after(&m_pos); + res= 0; + } + } + + channel_map.unlock(); + return res; +} + +int table_replication_applier_configuration::rnd_pos(const void *pos) +{ + Master_info *mi; + int res= HA_ERR_RECORD_DELETED; + + set_position(pos); + + channel_map.rdlock(); + + if ((mi= channel_map.get_mi_at_pos(m_pos.m_index))) + { + make_row(mi); + res= 0; + } + + channel_map.unlock(); + return res; +} + +void table_replication_applier_configuration::make_row(Master_info *mi) +{ + m_row_exists= false; + + DBUG_ASSERT(mi != NULL); + DBUG_ASSERT(mi->rli != NULL); + + mysql_mutex_lock(&mi->data_lock); + mysql_mutex_lock(&mi->rli->data_lock); + + m_row.channel_name_length= mi->get_channel() ? strlen(mi->get_channel()):0; + memcpy(m_row.channel_name, mi->get_channel(), m_row.channel_name_length); + m_row.desired_delay= mi->rli->get_sql_delay(); + + mysql_mutex_unlock(&mi->rli->data_lock); + mysql_mutex_unlock(&mi->data_lock); + + m_row_exists= true; +} + +int table_replication_applier_configuration::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* + Note: + There are no NULL columns in this table, + so there are no null bits reserved for NULL flags per column. + There are no VARCHAR columns either, so the record is not + in HA_OPTION_PACK_RECORD format as most other performance_schema tables. + When HA_OPTION_PACK_RECORD is not set, + the table record reserves an extra null byte, see open_binary_frm(). + */ + + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /**channel_name*/ + set_field_char_utf8(f, m_row.channel_name, m_row.channel_name_length); + break; + case 1: /** desired_delay */ + set_field_ulong(f, static_cast<ulong>(m_row.desired_delay)); + break; + default: + DBUG_ASSERT(false); + } + } + } + return 0; +} diff --git a/storage/perfschema/table_replication_applier_configuration.h b/storage/perfschema/table_replication_applier_configuration.h new file mode 100644 index 00000000000..e5ec69a64b8 --- /dev/null +++ b/storage/perfschema/table_replication_applier_configuration.h @@ -0,0 +1,97 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + + +#ifndef TABLE_REPLICATION_APPLIER_CONFIGURATION_H +#define TABLE_REPLICATION_APPLIER_CONFIGURATION_H + +/** + @file storage/perfschema/table_replication_applier_configuration.h + Table replication_applier_configuration (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "rpl_mi.h" +#include "mysql_com.h" +#include "rpl_msr.h" +#include "rpl_info.h" /*CHANNEL_NAME_LENGTH*/ + +class Master_info; + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** A row in the table*/ +struct st_row_applier_config { + char channel_name[CHANNEL_NAME_LENGTH]; + uint channel_name_length; + time_t desired_delay; + bool desired_delay_is_set; +}; + +/** Table PERFORMANCE_SCHEMA.replication_applier_configuration */ +class table_replication_applier_configuration: public PFS_engine_table +{ +private: + void make_row(Master_info *mi); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + /** Current row */ + st_row_applier_config m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; + +protected: + /** + Read the current row values. + @param table Table handle + @param buf row buffer + @param fields Table fields + @param read_all true if all columns are read. + */ + + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_replication_applier_configuration(); + +public: + ~table_replication_applier_configuration(); + + /** Table share. */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_replication_applier_status.cc b/storage/perfschema/table_replication_applier_status.cc new file mode 100644 index 00000000000..e0824b056fe --- /dev/null +++ b/storage/perfschema/table_replication_applier_status.cc @@ -0,0 +1,242 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_replication_applier_status.cc + Table replication_applier_status (implementation). +*/ + +#define HAVE_REPLICATION + +#include "my_global.h" +#include "table_replication_applier_status.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "rpl_slave.h" +#include "rpl_info.h" +#include "rpl_rli.h" +#include "rpl_mi.h" +#include "sql_parse.h" +#include "rpl_msr.h" /*Multi source replication */ + +THR_LOCK table_replication_applier_status::m_table_lock; + +/* + numbers in varchar count utf8 characters. +*/ +static const TABLE_FIELD_TYPE field_types[]= +{ + { + {C_STRING_WITH_LEN("CHANNEL_NAME")}, + {C_STRING_WITH_LEN("char(64)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SERVICE_STATE")}, + {C_STRING_WITH_LEN("enum('ON','OFF')")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("REMAINING_DELAY")}, + {C_STRING_WITH_LEN("int")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("COUNT_TRANSACTIONS_RETRIES")}, + {C_STRING_WITH_LEN("bigint")}, + {NULL, 0} + }, +}; + +TABLE_FIELD_DEF +table_replication_applier_status::m_field_def= +{ 4, field_types }; + +PFS_engine_table_share +table_replication_applier_status::m_share= +{ + { C_STRING_WITH_LEN("replication_applier_status") }, + &pfs_readonly_acl, + table_replication_applier_status::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_replication_applier_status::get_row_count, /* records */ + sizeof(PFS_simple_index), /* ref length */ + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + + +PFS_engine_table* table_replication_applier_status::create(void) +{ + return new table_replication_applier_status(); +} + +table_replication_applier_status::table_replication_applier_status() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +table_replication_applier_status::~table_replication_applier_status() +{} + +void table_replication_applier_status::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +ha_rows table_replication_applier_status::get_row_count() +{ + return channel_map.get_max_channels(); +} + + +int table_replication_applier_status::rnd_next(void) +{ + Master_info *mi; + int res= HA_ERR_END_OF_FILE; + + channel_map.rdlock(); + + for(m_pos.set_at(&m_next_pos); + m_pos.m_index < channel_map.get_max_channels() && res != 0; + m_pos.next()) + { + mi= channel_map.get_mi_at_pos(m_pos.m_index); + + if (mi && mi->host[0]) + { + make_row(mi); + m_next_pos.set_after(&m_pos); + res= 0; + } + } + + channel_map.unlock(); + return res; +} + + +int table_replication_applier_status::rnd_pos(const void *pos) +{ + Master_info *mi=NULL; + int res= HA_ERR_RECORD_DELETED; + + set_position(pos); + + channel_map.rdlock(); + + if ((mi= channel_map.get_mi_at_pos(m_pos.m_index))) + { + make_row(mi); + res= 0; + } + + channel_map.unlock(); + return res; +} + +void table_replication_applier_status::make_row(Master_info *mi) +{ + char *slave_sql_running_state= NULL; + + m_row_exists= false; + + DBUG_ASSERT(mi != NULL); + DBUG_ASSERT(mi->rli != NULL); + + m_row.channel_name_length= mi->get_channel()? strlen(mi->get_channel()):0; + memcpy(m_row.channel_name, mi->get_channel(), m_row.channel_name_length); + + mysql_mutex_lock(&mi->rli->info_thd_lock); + + slave_sql_running_state= const_cast<char *> + (mi->rli->info_thd ? + mi->rli->info_thd->get_proc_info() : ""); + mysql_mutex_unlock(&mi->rli->info_thd_lock); + + + mysql_mutex_lock(&mi->data_lock); + mysql_mutex_lock(&mi->rli->data_lock); + + if (mi->rli->slave_running) + m_row.service_state= PS_RPL_YES; + else + m_row.service_state= PS_RPL_NO; + + m_row.remaining_delay= 0; + if (slave_sql_running_state == stage_sql_thd_waiting_until_delay.m_name) + { + time_t t= my_time(0), sql_delay_end= mi->rli->get_sql_delay_end(); + m_row.remaining_delay= (uint)(t < sql_delay_end ? + sql_delay_end - t : 0); + m_row.remaining_delay_is_set= true; + } + else + m_row.remaining_delay_is_set= false; + + m_row.count_transactions_retries= mi->rli->retried_trans; + + mysql_mutex_unlock(&mi->rli->data_lock); + mysql_mutex_unlock(&mi->data_lock); + + m_row_exists= true; +} + +int table_replication_applier_status::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /**channel_name*/ + set_field_char_utf8(f, m_row.channel_name, m_row.channel_name_length); + break; + case 1: /* service_state */ + set_field_enum(f, m_row.service_state); + break; + case 2: /* remaining_delay */ + if (m_row.remaining_delay_is_set) + set_field_ulong(f, m_row.remaining_delay); + else + f->set_null(); + break; + case 3: /* total number of times transactions were retried */ + set_field_ulonglong(f, m_row.count_transactions_retries); + break; + default: + DBUG_ASSERT(false); + } + } + } + return 0; +} diff --git a/storage/perfschema/table_replication_applier_status.h b/storage/perfschema/table_replication_applier_status.h new file mode 100644 index 00000000000..955439be6da --- /dev/null +++ b/storage/perfschema/table_replication_applier_status.h @@ -0,0 +1,108 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + + +#ifndef TABLE_REPLICATION_APPLIER_STATUS_H +#define TABLE_REPLICATION_APPLIER_STATUS_H + +/** + @file storage/perfschema/table_replication_applier_status.h + Table replication_applier_status (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "rpl_mi.h" +#include "mysql_com.h" +#include "rpl_msr.h" +#include "rpl_info.h" /*CHANNEL_NAME_LENGTH*/ + +class Master_info; + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +#ifndef ENUM_RPL_YES_NO +#define ENUM_RPL_YES_NO +/** enum values for Service_State field*/ +enum enum_rpl_yes_no { + PS_RPL_YES= 1, + PS_RPL_NO +}; +#endif + +/** A row in the table. */ +struct st_row_applier_status { + char channel_name[CHANNEL_NAME_LENGTH]; + uint channel_name_length; + enum_rpl_yes_no service_state; + uint remaining_delay; + bool remaining_delay_is_set; + ulong count_transactions_retries; +}; + +/** Table PERFORMANCE_SCHEMA.replication_applier_status */ +class table_replication_applier_status: public PFS_engine_table +{ +private: + void make_row(Master_info *mi); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + /** Current row */ + st_row_applier_status m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; + +protected: + /** + Read the current row values. + @param table Table handle + @param buf row buffer + @param fields Table fields + @param read_all true if all columns are read. + */ + + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_replication_applier_status(); + +public: + ~table_replication_applier_status(); + + /** Table share. */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_replication_applier_status_by_coordinator.cc b/storage/perfschema/table_replication_applier_status_by_coordinator.cc new file mode 100644 index 00000000000..5f2427bed67 --- /dev/null +++ b/storage/perfschema/table_replication_applier_status_by_coordinator.cc @@ -0,0 +1,276 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_replication_applier_status_by_cordinator.cc + Table replication_applier_status_by_coordinator (implementation). +*/ + +#define HAVE_REPLICATION + +#include "my_global.h" +#include "table_replication_applier_status_by_coordinator.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "rpl_slave.h" +#include "rpl_info.h" +#include "rpl_rli.h" +#include "rpl_mi.h" +#include "sql_parse.h" +#include "rpl_msr.h" /* Multisource replication */ + +THR_LOCK table_replication_applier_status_by_coordinator::m_table_lock; + +/* + numbers in varchar count utf8 characters. +*/ +static const TABLE_FIELD_TYPE field_types[]= +{ + + { + {C_STRING_WITH_LEN("CHANNEL_NAME")}, + {C_STRING_WITH_LEN("char(64)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("THREAD_ID")}, + {C_STRING_WITH_LEN("bigint")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SERVICE_STATE")}, + {C_STRING_WITH_LEN("enum('ON','OFF')")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_ERROR_NUMBER")}, + {C_STRING_WITH_LEN("int(11)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_ERROR_MESSAGE")}, + {C_STRING_WITH_LEN("varchar(1024)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_ERROR_TIMESTAMP")}, + { C_STRING_WITH_LEN("timestamp") }, + { NULL, 0} + }, +}; + +TABLE_FIELD_DEF +table_replication_applier_status_by_coordinator::m_field_def= +{ 6, field_types }; + +PFS_engine_table_share +table_replication_applier_status_by_coordinator::m_share= +{ + { C_STRING_WITH_LEN("replication_applier_status_by_coordinator") }, + &pfs_readonly_acl, + table_replication_applier_status_by_coordinator::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_replication_applier_status_by_coordinator::get_row_count, + sizeof(PFS_simple_index), /* ref length */ + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_replication_applier_status_by_coordinator::create(void) +{ + return new table_replication_applier_status_by_coordinator(); +} + +table_replication_applier_status_by_coordinator + ::table_replication_applier_status_by_coordinator() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +table_replication_applier_status_by_coordinator + ::~table_replication_applier_status_by_coordinator() +{} + +void table_replication_applier_status_by_coordinator::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +ha_rows table_replication_applier_status_by_coordinator::get_row_count() +{ + return channel_map.get_max_channels(); +} + + +int table_replication_applier_status_by_coordinator::rnd_next(void) +{ + Master_info *mi; + int res= HA_ERR_END_OF_FILE; + + channel_map.rdlock(); + + for(m_pos.set_at(&m_next_pos); + m_pos.m_index < channel_map.get_max_channels() && res != 0; + m_pos.next()) + { + mi= channel_map.get_mi_at_pos(m_pos.m_index); + + /* + Construct and display SQL Thread's (Coordinator) information in + 'replication_applier_status_by_coordinator' table only in the case of + multi threaded slave mode. Code should do nothing in the case of single + threaded slave mode. In case of single threaded slave mode SQL Thread's + status will be reported as part of + 'replication_applier_status_by_worker' table. + */ + if (mi && mi->host[0] && mi->rli && mi->rli->get_worker_count() > 0) + { + make_row(mi); + m_next_pos.set_after(&m_pos); + res= 0; + } + } + + channel_map.unlock(); + return res; +} + +int table_replication_applier_status_by_coordinator::rnd_pos(const void *pos) +{ + Master_info *mi=NULL; + int res= HA_ERR_RECORD_DELETED; + + set_position(pos); + + channel_map.rdlock(); + + if ((mi= channel_map.get_mi_at_pos(m_pos.m_index))) + { + make_row(mi); + res= 0; + } + + channel_map.unlock(); + return res; +} + +void table_replication_applier_status_by_coordinator::make_row(Master_info *mi) +{ + m_row_exists= false; + + DBUG_ASSERT(mi != NULL); + DBUG_ASSERT(mi->rli != NULL); + + mysql_mutex_lock(&mi->rli->data_lock); + + m_row.channel_name_length= strlen(mi->get_channel()); + memcpy(m_row.channel_name, (char*)mi->get_channel(), m_row.channel_name_length); + + if (mi->rli->slave_running) + { + PSI_thread *psi= thd_get_psi(mi->rli->info_thd); + PFS_thread *pfs= reinterpret_cast<PFS_thread *> (psi); + if(pfs) + { + m_row.thread_id= pfs->m_thread_internal_id; + m_row.thread_id_is_null= false; + } + else + m_row.thread_id_is_null= true; + } + else + m_row.thread_id_is_null= true; + + if (mi->rli->slave_running) + m_row.service_state= PS_RPL_YES; + else + m_row.service_state= PS_RPL_NO; + + mysql_mutex_lock(&mi->rli->err_lock); + + m_row.last_error_number= (long int) mi->rli->last_error().number; + m_row.last_error_message_length= 0; + m_row.last_error_timestamp= 0; + + /** if error, set error message and timestamp */ + if (m_row.last_error_number) + { + char *temp_store= (char*) mi->rli->last_error().message; + m_row.last_error_message_length= strlen(temp_store); + memcpy(m_row.last_error_message, temp_store, + m_row.last_error_message_length); + + /** time in millisecond since epoch */ + m_row.last_error_timestamp= (ulonglong)mi->rli->last_error().skr*1000000; + } + + mysql_mutex_unlock(&mi->rli->err_lock); + mysql_mutex_unlock(&mi->rli->data_lock); + + m_row_exists= true; +} + +int table_replication_applier_status_by_coordinator + ::read_row_values(TABLE *table, unsigned char *buf, + Field **fields, bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* channel_name */ + set_field_char_utf8(f, m_row.channel_name, m_row.channel_name_length); + break; + case 1: /*thread_id*/ + if (!m_row.thread_id_is_null) + set_field_ulonglong(f, m_row.thread_id); + else + f->set_null(); + break; + case 2: /*service_state*/ + set_field_enum(f, m_row.service_state); + break; + case 3: /*last_error_number*/ + set_field_ulong(f, m_row.last_error_number); + break; + case 4: /*last_error_message*/ + set_field_varchar_utf8(f, m_row.last_error_message, + m_row.last_error_message_length); + break; + case 5: /*last_error_timestamp*/ + set_field_timestamp(f, m_row.last_error_timestamp); + break; + default: + DBUG_ASSERT(false); + } + } + } + return 0; +} diff --git a/storage/perfschema/table_replication_applier_status_by_coordinator.h b/storage/perfschema/table_replication_applier_status_by_coordinator.h new file mode 100644 index 00000000000..30a1f39ee46 --- /dev/null +++ b/storage/perfschema/table_replication_applier_status_by_coordinator.h @@ -0,0 +1,114 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + + +#ifndef TABLE_REPLICATION_APPLIER_STATUS_BY_COORDINATOR_H +#define TABLE_REPLICATION_APPLIER_STATUS_BY_COORDINATOR_H + +/** + @file storage/perfschema/table_replication_applier_applier_by_coordinator.h + Table replication_applier_status_by_coordinator(declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "rpl_mi.h" +#include "mysql_com.h" +#include "rpl_msr.h" +#include "rpl_info.h" /*CHANNEL_NAME_LENGTH*/ + +class Master_info; + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +#ifndef ENUM_RPL_YES_NO +#define ENUM_RPL_YES_NO +/** enum values for Service_State of coordinator thread */ +enum enum_rpl_yes_no { + PS_RPL_YES= 1, /* Service_State= on */ + PS_RPL_NO /* Service_State= off */ +}; +#endif + +/* + A row in coordinator's table. The fields with string values have an + additional length field denoted by <field_name>_length. +*/ +struct st_row_coordinator { + char channel_name[CHANNEL_NAME_LENGTH]; + uint channel_name_length; + ulonglong thread_id; + bool thread_id_is_null; + enum_rpl_yes_no service_state; + uint last_error_number; + char last_error_message[MAX_SLAVE_ERRMSG]; + uint last_error_message_length; + ulonglong last_error_timestamp; +}; + +/** Table PERFORMANCE_SCHEMA.replication_applier_status_by_coordinator */ +class table_replication_applier_status_by_coordinator: public PFS_engine_table +{ +private: + void make_row(Master_info *mi); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + /** Current row */ + st_row_coordinator m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; + +protected: + /** + Read the current row values. + @param table Table handle + @param buf row buffer + @param fields Table fields + @param read_all true if all columns are read. + */ + + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_replication_applier_status_by_coordinator(); + +public: + ~table_replication_applier_status_by_coordinator(); + + /** Table share. */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_replication_applier_status_by_worker.cc b/storage/perfschema/table_replication_applier_status_by_worker.cc new file mode 100644 index 00000000000..e4e99dc2325 --- /dev/null +++ b/storage/perfschema/table_replication_applier_status_by_worker.cc @@ -0,0 +1,451 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_replication_applier_status_by_worker.cc + Table replication_applier_status_by_worker (implementation). +*/ + +#define HAVE_REPLICATION + +#include "my_global.h" +#include "table_replication_applier_status_by_worker.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "rpl_slave.h" +#include "rpl_info.h" +#include "rpl_rli.h" +#include "rpl_mi.h" +#include "sql_parse.h" +#include "rpl_rli_pdb.h" +#include "rpl_msr.h" /*Multi source replication */ + +THR_LOCK table_replication_applier_status_by_worker::m_table_lock; + +/* numbers in varchar count utf8 characters. */ +static const TABLE_FIELD_TYPE field_types[]= +{ + + { + {C_STRING_WITH_LEN("CHANNEL_NAME")}, + {C_STRING_WITH_LEN("char(64)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("WORKER_ID")}, + {C_STRING_WITH_LEN("bigint")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("THREAD_ID")}, + {C_STRING_WITH_LEN("bigint")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SERVICE_STATE")}, + {C_STRING_WITH_LEN("enum('ON','OFF')")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_SEEN_TRANSACTION")}, + {C_STRING_WITH_LEN("char(57)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_ERROR_NUMBER")}, + {C_STRING_WITH_LEN("int(11)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_ERROR_MESSAGE")}, + {C_STRING_WITH_LEN("varchar(1024)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_ERROR_TIMESTAMP")}, + {C_STRING_WITH_LEN("timestamp")}, + {NULL, 0} + }, +}; + +TABLE_FIELD_DEF +table_replication_applier_status_by_worker::m_field_def= +{ 8, field_types }; + +PFS_engine_table_share +table_replication_applier_status_by_worker::m_share= +{ + { C_STRING_WITH_LEN("replication_applier_status_by_worker") }, + &pfs_readonly_acl, + table_replication_applier_status_by_worker::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_replication_applier_status_by_worker::get_row_count, /*records*/ + sizeof(PFS_simple_index), /* ref length */ + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_replication_applier_status_by_worker::create(void) +{ + return new table_replication_applier_status_by_worker(); +} + +table_replication_applier_status_by_worker + ::table_replication_applier_status_by_worker() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(), m_next_pos(), + m_applier_pos(0), m_applier_next_pos(0) +{} + +table_replication_applier_status_by_worker + ::~table_replication_applier_status_by_worker() +{} + +void table_replication_applier_status_by_worker::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); + m_applier_pos.m_index=0; + m_applier_next_pos.m_index=0; +} + +ha_rows table_replication_applier_status_by_worker::get_row_count() +{ + /* + Return an estimate, number of master info's multipled by worker threads + */ + return channel_map.get_max_channels()*32; +} + + +int table_replication_applier_status_by_worker::rnd_next(void) +{ + Slave_worker *worker; + Master_info *mi; + int res= HA_ERR_END_OF_FILE; + + channel_map.rdlock(); + + /* + For each SQL Thread in all channels get the respective Master_info and + construct a row to display its status in + 'replication_applier_status_by_worker' table in case of single threaded + slave mode. + */ + for(m_applier_pos.set_at(&m_applier_next_pos); + m_applier_pos.m_index < channel_map.get_max_channels(); + m_applier_pos.next()) + { + mi= channel_map.get_mi_at_pos(m_applier_pos.m_index); + + if (mi && mi->host[0] && mi->rli && mi->rli->get_worker_count()==0) + { + make_row(mi); + m_applier_next_pos.set_after(&m_applier_pos); + + channel_map.unlock(); + return 0; + } + } + + for (m_pos.set_at(&m_next_pos); + m_pos.has_more_channels(channel_map.get_max_channels()) && res != 0; + m_pos.next_channel()) + { + mi= channel_map.get_mi_at_pos(m_pos.m_index_1); + + if (mi && mi->host[0]) + { + worker= mi->rli->get_worker(m_pos.m_index_2); + if (worker) + { + make_row(worker); + m_next_pos.set_after(&m_pos); + res= 0; + } + } + } + + channel_map.unlock(); + return res; +} + +int table_replication_applier_status_by_worker::rnd_pos(const void *pos) +{ + Slave_worker *worker; + Master_info *mi; + int res= HA_ERR_RECORD_DELETED; + + set_position(pos); + + channel_map.rdlock(); + + mi= channel_map.get_mi_at_pos(m_pos.m_index_1); + + if (!mi || !mi->rli || !mi->host[0]) + goto end; + + DBUG_ASSERT(m_pos.m_index_1 < mi->rli->get_worker_count()); + /* + Display SQL Thread's status only in the case of single threaded mode. + */ + if (mi->rli->get_worker_count() == 0) + { + make_row(mi); + res= 0; + goto end; + } + worker= mi->rli->get_worker(m_pos.m_index_2); + + if (worker != NULL) + { + make_row(worker); + res= 0; + } + +end: + channel_map.unlock(); + return res; +} + +/** + Function to display SQL Thread's status as part of + 'replication_applier_status_by_worker' in single threaded slave mode. + + @param[in] Master_info + + @retval void +*/ +void table_replication_applier_status_by_worker::make_row(Master_info *mi) +{ + m_row_exists= false; + + m_row.worker_id= 0; + + m_row.thread_id= 0; + + DBUG_ASSERT(mi != NULL); + DBUG_ASSERT(mi->rli != NULL); + + mysql_mutex_lock(&mi->rli->data_lock); + + m_row.channel_name_length= strlen(mi->get_channel()); + memcpy(m_row.channel_name, (char*)mi->get_channel(), m_row.channel_name_length); + + if (mi->rli->slave_running) + { + PSI_thread *psi= thd_get_psi(mi->rli->info_thd); + PFS_thread *pfs= reinterpret_cast<PFS_thread *> (psi); + if(pfs) + { + m_row.thread_id= pfs->m_thread_internal_id; + m_row.thread_id_is_null= false; + } + else + m_row.thread_id_is_null= true; + } + else + m_row.thread_id_is_null= true; + + if (mi->rli->slave_running) + m_row.service_state= PS_RPL_YES; + else + m_row.service_state= PS_RPL_NO; + + if (mi->rli->currently_executing_gtid.type == GTID_GROUP) + { + global_sid_lock->rdlock(); + m_row.last_seen_transaction_length= + mi->rli->currently_executing_gtid.to_string(global_sid_map, + m_row.last_seen_transaction); + global_sid_lock->unlock(); + } + else if (mi->rli->currently_executing_gtid.type == ANONYMOUS_GROUP) + { + m_row.last_seen_transaction_length= + mi->rli->currently_executing_gtid.to_string((rpl_sid *)NULL, + m_row.last_seen_transaction); + } + else + { + /* + For SQL thread currently_executing_gtid, type is set to + AUTOMATIC_GROUP when the SQL thread is not executing any + transaction. For this case, the field should be empty. + */ + DBUG_ASSERT(mi->rli->currently_executing_gtid.type == AUTOMATIC_GROUP); + m_row.last_seen_transaction_length= 0; + memcpy(m_row.last_seen_transaction, "", 1); + } + + mysql_mutex_lock(&mi->rli->err_lock); + + m_row.last_error_number= (long int) mi->rli->last_error().number; + m_row.last_error_message_length= 0; + m_row.last_error_timestamp= 0; + + /** if error, set error message and timestamp */ + if (m_row.last_error_number) + { + char *temp_store= (char*) mi->rli->last_error().message; + m_row.last_error_message_length= strlen(temp_store); + memcpy(m_row.last_error_message, temp_store, + m_row.last_error_message_length); + + /** time in millisecond since epoch */ + m_row.last_error_timestamp= (ulonglong)mi->rli->last_error().skr*1000000; + } + + mysql_mutex_unlock(&mi->rli->err_lock); + mysql_mutex_unlock(&mi->rli->data_lock); + m_row_exists= true; +} + +void table_replication_applier_status_by_worker::make_row(Slave_worker *w) +{ + m_row_exists= false; + + m_row.worker_id= w->get_internal_id(); + + m_row.thread_id= 0; + + m_row.channel_name_length= strlen(w->get_channel()); + memcpy(m_row.channel_name, (char*)w->get_channel(), m_row.channel_name_length); + + mysql_mutex_lock(&w->jobs_lock); + if (w->running_status == Slave_worker::RUNNING) + { + PSI_thread *psi= thd_get_psi(w->info_thd); + PFS_thread *pfs= reinterpret_cast<PFS_thread *> (psi); + if(pfs) + { + m_row.thread_id= pfs->m_thread_internal_id; + m_row.thread_id_is_null= false; + } + else /* no instrumentation found */ + m_row.thread_id_is_null= true; + } + else + m_row.thread_id_is_null= true; + + if (w->running_status == Slave_worker::RUNNING) + m_row.service_state= PS_RPL_YES; + else + m_row.service_state= PS_RPL_NO; + + m_row.last_error_number= (unsigned int) w->last_error().number; + + if (w->currently_executing_gtid.type == GTID_GROUP) + { + global_sid_lock->rdlock(); + m_row.last_seen_transaction_length= + w->currently_executing_gtid.to_string(global_sid_map, + m_row.last_seen_transaction); + global_sid_lock->unlock(); + } + else if (w->currently_executing_gtid.type == ANONYMOUS_GROUP) + { + m_row.last_seen_transaction_length= + w->currently_executing_gtid.to_string((rpl_sid *)NULL, + m_row.last_seen_transaction); + } + else + { + /* + For worker->currently_executing_gtid, type is set to + AUTOMATIC_GROUP when the worker is not executing any + transaction. For this case, the field should be empty. + */ + DBUG_ASSERT(w->currently_executing_gtid.type == AUTOMATIC_GROUP); + m_row.last_seen_transaction_length= 0; + memcpy(m_row.last_seen_transaction, "", 1); + } + + m_row.last_error_number= (unsigned int) w->last_error().number; + m_row.last_error_message_length= 0; + m_row.last_error_timestamp= 0; + + /** if error, set error message and timestamp */ + if (m_row.last_error_number) + { + char * temp_store= (char*)w->last_error().message; + m_row.last_error_message_length= strlen(temp_store); + memcpy(m_row.last_error_message, w->last_error().message, + m_row.last_error_message_length); + + /** time in millisecond since epoch */ + m_row.last_error_timestamp= (ulonglong)w->last_error().skr*1000000; + } + mysql_mutex_unlock(&w->jobs_lock); + + m_row_exists= true; +} + +int table_replication_applier_status_by_worker + ::read_row_values(TABLE *table, unsigned char *buf, Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /** channel_name */ + set_field_char_utf8(f, m_row.channel_name, m_row.channel_name_length); + break; + case 1: /*worker_id*/ + set_field_ulonglong(f, m_row.worker_id); + break; + case 2: /*thread_id*/ + if(m_row.thread_id_is_null) + f->set_null(); + else + set_field_ulonglong(f, m_row.thread_id); + break; + case 3: /*service_state*/ + set_field_enum(f, m_row.service_state); + break; + case 4: /*last_seen_transaction*/ + set_field_char_utf8(f, m_row.last_seen_transaction, m_row.last_seen_transaction_length); + break; + case 5: /*last_error_number*/ + set_field_ulong(f, m_row.last_error_number); + break; + case 6: /*last_error_message*/ + set_field_varchar_utf8(f, m_row.last_error_message, m_row.last_error_message_length); + break; + case 7: /*last_error_timestamp*/ + set_field_timestamp(f, m_row.last_error_timestamp); + break; + default: + DBUG_ASSERT(false); + } + } + } + return 0; +} diff --git a/storage/perfschema/table_replication_applier_status_by_worker.h b/storage/perfschema/table_replication_applier_status_by_worker.h new file mode 100644 index 00000000000..ed0ce7480b2 --- /dev/null +++ b/storage/perfschema/table_replication_applier_status_by_worker.h @@ -0,0 +1,162 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + + +#ifndef TABLE_REPLICATION_APPLIER_STATUS_BY_WORKER_H +#define TABLE_REPLICATION_APPLIER_STATUS_BY_WORKER_H + +/** + @file storage/perfschema/table_replication_applier_status_by_worker.h + Table replication_applier_status_by_worker (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "rpl_mi.h" +#include "mysql_com.h" +#include "rpl_rli_pdb.h" +#include "rpl_msr.h" +#include "rpl_info.h" /*CHANNEL_NAME_LENGTH*/ + +class Slave_worker; +class Master_info; + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +#ifndef ENUM_RPL_YES_NO +#define ENUM_RPL_YES_NO +/** enumerated values for service_state of worker thread*/ +enum enum_rpl_yes_no { + PS_RPL_YES= 1, /* service_state= on */ + PS_RPL_NO /* service_state= off */ +}; +#endif + +/* + A row in worker's table. The fields with string values have an additional + length field denoted by <field_name>_length. +*/ +struct st_row_worker { + + char channel_name[CHANNEL_NAME_LENGTH]; + uint channel_name_length; + /* + worker_id is added to the table because thread is killed at STOP SLAVE + but the status needs to show up, so worker_id is used as a permanent + identifier. + */ + ulonglong worker_id; + ulonglong thread_id; + uint thread_id_is_null; + enum_rpl_yes_no service_state; + char last_seen_transaction[Gtid::MAX_TEXT_LENGTH+1]; + uint last_seen_transaction_length; + uint last_error_number; + char last_error_message[MAX_SLAVE_ERRMSG]; + uint last_error_message_length; + ulonglong last_error_timestamp; +}; + +/** + Index 1 for replication channel + Index 2 for worker +*/ +struct workers_per_channel +:public PFS_double_index +{ + workers_per_channel() + :PFS_double_index(0,0) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 0; + } + + inline bool has_more_channels(uint num) + { return (m_index_1 < num); } + + inline void next_channel(void) + { + m_index_1++; + m_index_2= 0; + } +}; + + +/** Table PERFORMANCE_SCHEMA.replication_applier_status_by_worker */ +class table_replication_applier_status_by_worker: public PFS_engine_table +{ +private: + void make_row(Slave_worker *); + /* + Master_info to construct a row to display SQL Thread's status + information in STS mode + */ + void make_row(Master_info *); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + /** current row*/ + st_row_worker m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + workers_per_channel m_pos; + /** Next position. */ + workers_per_channel m_next_pos; + /** Current position. */ + PFS_simple_index m_applier_pos; + /** Next position. */ + PFS_simple_index m_applier_next_pos; + +protected: + /** + Read the current row values. + @param table Table handle + @param buf row buffer + @param fields Table fields + @param read_all true if all columns are read. + */ + + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_replication_applier_status_by_worker(); + +public: + ~table_replication_applier_status_by_worker(); + + /** Table share. */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_replication_connection_configuration.cc b/storage/perfschema/table_replication_connection_configuration.cc new file mode 100644 index 00000000000..8fe04802aac --- /dev/null +++ b/storage/perfschema/table_replication_connection_configuration.cc @@ -0,0 +1,410 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_replication_connection_configuration.cc + Table replication_connection_configuration (implementation). +*/ + +#define HAVE_REPLICATION + +#include "my_global.h" +#include "table_replication_connection_configuration.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "rpl_slave.h" +#include "rpl_info.h" +#include "rpl_rli.h" +#include "rpl_mi.h" +#include "sql_parse.h" +#include "rpl_msr.h" /* Multisource replciation */ + +THR_LOCK table_replication_connection_configuration::m_table_lock; + +/* Numbers in varchar count utf8 characters. */ +static const TABLE_FIELD_TYPE field_types[]= +{ + { + {C_STRING_WITH_LEN("CHANNEL_NAME")}, + {C_STRING_WITH_LEN("char(64)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("HOST")}, + {C_STRING_WITH_LEN("char(60)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("PORT")}, + {C_STRING_WITH_LEN("int(11)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("USER")}, + {C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("NETWORK_INTERFACE")}, + {C_STRING_WITH_LEN("char(60)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("AUTO_POSITION")}, + {C_STRING_WITH_LEN("enum('1','0')")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SSL_ALLOWED")}, + {C_STRING_WITH_LEN("enum('YES','NO','IGNORED')")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SSL_CA_FILE")}, + {C_STRING_WITH_LEN("varchar(512)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SSL_CA_PATH")}, + {C_STRING_WITH_LEN("varchar(512)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SSL_CERTIFICATE")}, + {C_STRING_WITH_LEN("varchar(512)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SSL_CIPHER")}, + {C_STRING_WITH_LEN("varchar(512)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SSL_KEY")}, + {C_STRING_WITH_LEN("varchar(512)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SSL_VERIFY_SERVER_CERTIFICATE")}, + {C_STRING_WITH_LEN("enum('YES','NO')")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SSL_CRL_FILE")}, + {C_STRING_WITH_LEN("varchar(255)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SSL_CRL_PATH")}, + {C_STRING_WITH_LEN("varchar(255)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("CONNECTION_RETRY_INTERVAL")}, + {C_STRING_WITH_LEN("int(11)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("CONNECTION_RETRY_COUNT")}, + {C_STRING_WITH_LEN("bigint")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("HEARTBEAT_INTERVAL")}, + {C_STRING_WITH_LEN("double(10,3)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("TLS_VERSION")}, + {C_STRING_WITH_LEN("varchar(255)")}, + {NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_replication_connection_configuration::m_field_def= +{ 19, field_types }; + +PFS_engine_table_share +table_replication_connection_configuration::m_share= +{ + { C_STRING_WITH_LEN("replication_connection_configuration") }, + &pfs_readonly_acl, + table_replication_connection_configuration::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_replication_connection_configuration::get_row_count, /* records */ + sizeof(PFS_simple_index), /* ref length */ + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + + +PFS_engine_table* table_replication_connection_configuration::create(void) +{ + return new table_replication_connection_configuration(); +} + +table_replication_connection_configuration + ::table_replication_connection_configuration() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +table_replication_connection_configuration + ::~table_replication_connection_configuration() +{} + +void table_replication_connection_configuration::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +ha_rows table_replication_connection_configuration::get_row_count() +{ + /* + We actually give the MAX_CHANNELS rather than the current + number of channels + */ + + return channel_map.get_max_channels(); +} + +int table_replication_connection_configuration::rnd_next(void) +{ + Master_info *mi; + int res= HA_ERR_END_OF_FILE; + + channel_map.rdlock(); + + for (m_pos.set_at(&m_next_pos); + m_pos.m_index < channel_map.get_max_channels() && res != 0; + m_pos.next()) + { + mi= channel_map.get_mi_at_pos(m_pos.m_index); + + if (mi && mi->host[0]) + { + make_row(mi); + m_next_pos.set_after(&m_pos); + res= 0; + } + } + + channel_map.unlock(); + return res; +} + +int table_replication_connection_configuration::rnd_pos(const void *pos) +{ + Master_info *mi; + int res= HA_ERR_RECORD_DELETED; + + channel_map.rdlock(); + + set_position(pos); + + if ((mi= channel_map.get_mi_at_pos(m_pos.m_index))) + { + make_row(mi); + res= 0; + } + + channel_map.unlock(); + return res; +} + +void table_replication_connection_configuration::make_row(Master_info *mi) +{ + char * temp_store; + + m_row_exists= false; + + + DBUG_ASSERT(mi != NULL); + + mysql_mutex_lock(&mi->data_lock); + mysql_mutex_lock(&mi->rli->data_lock); + + m_row.channel_name_length= strlen(mi->get_channel()); + memcpy(m_row.channel_name, (char*)mi->get_channel(), m_row.channel_name_length); + + m_row.host_length= strlen(mi->host); + memcpy(m_row.host, mi->host, m_row.host_length); + + m_row.port= (unsigned int) mi->port; + + /* can't the user be NULL? */ + temp_store= (char*)mi->get_user(); + m_row.user_length= strlen(temp_store); + memcpy(m_row.user, temp_store, m_row.user_length); + + temp_store= (char*)mi->bind_addr; + m_row.network_interface_length= strlen(temp_store); + memcpy(m_row.network_interface, temp_store, m_row.network_interface_length); + + if (mi->is_auto_position()) + m_row.auto_position= PS_RPL_YES; + else + m_row.auto_position= PS_RPL_NO; + +#ifdef HAVE_OPENSSL + m_row.ssl_allowed= mi->ssl? PS_SSL_ALLOWED_YES:PS_SSL_ALLOWED_NO; +#else + m_row.ssl_allowed= mi->ssl? PS_SSL_ALLOWED_IGNORED:PS_SSL_ALLOWED_NO; +#endif + + temp_store= (char*)mi->ssl_ca; + m_row.ssl_ca_file_length= strlen(temp_store); + memcpy(m_row.ssl_ca_file, temp_store, m_row.ssl_ca_file_length); + + temp_store= (char*)mi->ssl_capath; + m_row.ssl_ca_path_length= strlen(temp_store); + memcpy(m_row.ssl_ca_path, temp_store, m_row.ssl_ca_path_length); + + temp_store= (char*)mi->ssl_cert; + m_row.ssl_certificate_length= strlen(temp_store); + memcpy(m_row.ssl_certificate, temp_store, m_row.ssl_certificate_length); + + temp_store= (char*)mi->ssl_cipher; + m_row.ssl_cipher_length= strlen(temp_store); + memcpy(m_row.ssl_cipher, temp_store, m_row.ssl_cipher_length); + + temp_store= (char*)mi->ssl_key; + m_row.ssl_key_length= strlen(temp_store); + memcpy(m_row.ssl_key, temp_store, m_row.ssl_key_length); + + if (mi->ssl_verify_server_cert) + m_row.ssl_verify_server_certificate= PS_RPL_YES; + else + m_row.ssl_verify_server_certificate= PS_RPL_NO; + + temp_store= (char*)mi->ssl_crl; + m_row.ssl_crl_file_length= strlen(temp_store); + memcpy(m_row.ssl_crl_file, temp_store, m_row.ssl_crl_file_length); + + temp_store= (char*)mi->ssl_crlpath; + m_row.ssl_crl_path_length= strlen(temp_store); + memcpy(m_row.ssl_crl_path, temp_store, m_row.ssl_crl_path_length); + + m_row.connection_retry_interval= (unsigned int) mi->connect_retry; + + m_row.connection_retry_count= (ulong) mi->retry_count; + + m_row.heartbeat_interval= (double)mi->heartbeat_period; + + temp_store= (char*)mi->tls_version; + m_row.tls_version_length= strlen(temp_store); + memcpy(m_row.tls_version, temp_store, m_row.tls_version_length); + + mysql_mutex_unlock(&mi->rli->data_lock); + mysql_mutex_unlock(&mi->data_lock); + + m_row_exists= true; +} + +int table_replication_connection_configuration::read_row_values(TABLE *table, + unsigned char *, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + DBUG_ASSERT(table->s->null_bytes == 0); + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /** channel_name */ + set_field_char_utf8(f, m_row.channel_name, m_row.channel_name_length); + break; + case 1: /** host */ + set_field_char_utf8(f, m_row.host, m_row.host_length); + break; + case 2: /** port */ + set_field_ulong(f, m_row.port); + break; + case 3: /** user */ + set_field_char_utf8(f, m_row.user, m_row.user_length); + break; + case 4: /** network_interface */ + set_field_char_utf8(f, m_row.network_interface, + m_row.network_interface_length); + break; + case 5: /** auto_position */ + set_field_enum(f, m_row.auto_position); + break; + case 6: /** ssl_allowed */ + set_field_enum(f, m_row. ssl_allowed); + break; + case 7: /**ssl_ca_file */ + set_field_varchar_utf8(f, m_row.ssl_ca_file, + m_row.ssl_ca_file_length); + break; + case 8: /** ssl_ca_path */ + set_field_varchar_utf8(f, m_row.ssl_ca_path, + m_row.ssl_ca_path_length); + break; + case 9: /** ssl_certificate */ + set_field_varchar_utf8(f, m_row.ssl_certificate, + m_row.ssl_certificate_length); + break; + case 10: /** ssl_cipher */ + set_field_varchar_utf8(f, m_row.ssl_cipher, m_row.ssl_cipher_length); + break; + case 11: /** ssl_key */ + set_field_varchar_utf8(f, m_row.ssl_key, m_row.ssl_key_length); + break; + case 12: /** ssl_verify_server_certificate */ + set_field_enum(f, m_row.ssl_verify_server_certificate); + break; + case 13: /** ssl_crl_file */ + set_field_varchar_utf8(f, m_row.ssl_crl_file, + m_row.ssl_crl_file_length); + break; + case 14: /** ssl_crl_path */ + set_field_varchar_utf8(f, m_row.ssl_crl_path, + m_row.ssl_crl_path_length); + break; + case 15: /** connection_retry_interval */ + set_field_ulong(f, m_row.connection_retry_interval); + break; + case 16: /** connect_retry_count */ + set_field_ulonglong(f, m_row.connection_retry_count); + break; + case 17:/** number of seconds after which heartbeat will be sent */ + set_field_double(f, m_row.heartbeat_interval); + break; + case 18: /** tls_version */ + set_field_varchar_utf8(f, m_row.tls_version, + m_row.tls_version_length); + break; + default: + DBUG_ASSERT(false); + } + } + } + return 0; +} diff --git a/storage/perfschema/table_replication_connection_configuration.h b/storage/perfschema/table_replication_connection_configuration.h new file mode 100644 index 00000000000..f71aecefd0e --- /dev/null +++ b/storage/perfschema/table_replication_connection_configuration.h @@ -0,0 +1,142 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + + +#ifndef TABLE_REPLICATION_CONFIGURATION_H +#define TABLE_REPLICATION_CONFIGURATION_H + +/** + @file storage/perfschema/table_replication_connection_configuration.h + Table replication_connection_configuration (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "rpl_mi.h" +#include "mysql_com.h" +#include "rpl_msr.h" +#include "rpl_info.h" /* CHANNEL_NAME_LENGTH*/ + +class Master_info; + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +#ifndef ENUM_RPL_YES_NO +#define ENUM_RPL_YES_NO +enum enum_rpl_yes_no { + PS_RPL_YES= 1, + PS_RPL_NO +}; +#endif + +/** enum values for SSL_Allowed*/ +enum enum_ssl_allowed { + PS_SSL_ALLOWED_YES= 1, + PS_SSL_ALLOWED_NO, + PS_SSL_ALLOWED_IGNORED +}; + +/** + A row in the table. The fields with string values have an additional + length field denoted by <field_name>_length. +*/ +struct st_row_connect_config { + char channel_name[CHANNEL_NAME_LENGTH]; + uint channel_name_length; + char host[HOSTNAME_LENGTH]; + uint host_length; + uint port; + char user[USERNAME_LENGTH]; + uint user_length; + char network_interface[HOSTNAME_LENGTH]; + uint network_interface_length; + enum_rpl_yes_no auto_position; + enum_ssl_allowed ssl_allowed; + char ssl_ca_file[FN_REFLEN]; + uint ssl_ca_file_length; + char ssl_ca_path[FN_REFLEN]; + uint ssl_ca_path_length; + char ssl_certificate[FN_REFLEN]; + uint ssl_certificate_length; + char ssl_cipher[FN_REFLEN]; + uint ssl_cipher_length; + char ssl_key[FN_REFLEN]; + uint ssl_key_length; + enum_rpl_yes_no ssl_verify_server_certificate; + char ssl_crl_file[FN_REFLEN]; + uint ssl_crl_file_length; + char ssl_crl_path[FN_REFLEN]; + uint ssl_crl_path_length; + uint connection_retry_interval; + ulong connection_retry_count; + double heartbeat_interval; + char tls_version[FN_REFLEN]; + uint tls_version_length; +}; + +/** Table PERFORMANCE_SCHEMA.TABLE_REPLICATION_CONNECTION_CONFIGURATION. */ +class table_replication_connection_configuration: public PFS_engine_table +{ +private: + void make_row(Master_info *); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + /** True if the current row exists. */ + bool m_row_exists; + /** Current row */ + st_row_connect_config m_row; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; + +protected: + /** + Read the current row values. + @param table Table handle + @param buf row buffer + @param fields Table fields + @param read_all true if all columns are read. + */ + + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_replication_connection_configuration(); + +public: + ~table_replication_connection_configuration(); + + /** Table share. */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_replication_connection_status.cc b/storage/perfschema/table_replication_connection_status.cc new file mode 100644 index 00000000000..e4e502a7f8c --- /dev/null +++ b/storage/perfschema/table_replication_connection_status.cc @@ -0,0 +1,434 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_replication_connection_status.cc + Table replication_connection_status (implementation). +*/ + +#define HAVE_REPLICATION + +#include "my_global.h" +#include "table_replication_connection_status.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "rpl_slave.h" +#include "rpl_info.h" +#include "rpl_rli.h" +#include "rpl_mi.h" +#include "sql_parse.h" +#include "rpl_msr.h" /* Multi source replication */ +#include "log.h" +#include "rpl_group_replication.h" + +/* + Callbacks implementation for GROUP_REPLICATION_CONNECTION_STATUS_CALLBACKS. +*/ +static void set_channel_name(void* const context, const char& value, + size_t length) +{ +} + +static void set_group_name(void* const context, const char& value, + size_t length) +{ + struct st_row_connect_status* row= + static_cast<struct st_row_connect_status*>(context); + const size_t max= UUID_LENGTH; + length= std::min(length, max); + + row->group_name_is_null= false; + memcpy(row->group_name, &value, length); +} + +static void set_source_uuid(void* const context, const char& value, + size_t length) +{ + struct st_row_connect_status* row= + static_cast<struct st_row_connect_status*>(context); + const size_t max= UUID_LENGTH; + length= std::min(length, max); + + row->source_uuid_is_null= false; + memcpy(row->source_uuid, &value, length); +} + +static void set_service_state(void* const context, bool value) +{ + struct st_row_connect_status* row= + static_cast<struct st_row_connect_status*>(context); + + row->service_state= value ? PS_RPL_CONNECT_SERVICE_STATE_YES + : PS_RPL_CONNECT_SERVICE_STATE_NO; +} + + +THR_LOCK table_replication_connection_status::m_table_lock; + + +/* Numbers in varchar count utf8 characters. */ +static const TABLE_FIELD_TYPE field_types[]= +{ + { + {C_STRING_WITH_LEN("CHANNEL_NAME")}, + {C_STRING_WITH_LEN("char(64)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("GROUP_NAME")}, + {C_STRING_WITH_LEN("char(36)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SOURCE_UUID")}, + {C_STRING_WITH_LEN("char(36)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("THREAD_ID")}, + {C_STRING_WITH_LEN("bigint(20)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("SERVICE_STATE")}, + {C_STRING_WITH_LEN("enum('ON','OFF','CONNECTING')")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("COUNT_RECEIVED_HEARTBEATS")}, + {C_STRING_WITH_LEN("bigint(20)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_HEARTBEAT_TIMESTAMP")}, + {C_STRING_WITH_LEN("timestamp")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("RECEIVED_TRANSACTION_SET")}, + {C_STRING_WITH_LEN("text")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_ERROR_NUMBER")}, + {C_STRING_WITH_LEN("int(11)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_ERROR_MESSAGE")}, + {C_STRING_WITH_LEN("varchar(1024)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_ERROR_TIMESTAMP")}, + {C_STRING_WITH_LEN("timestamp")}, + {NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_replication_connection_status::m_field_def= { 11, field_types }; + +PFS_engine_table_share +table_replication_connection_status::m_share= +{ + { C_STRING_WITH_LEN("replication_connection_status") }, + &pfs_readonly_acl, + table_replication_connection_status::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_replication_connection_status::get_row_count, /* records */ + sizeof(PFS_simple_index), /* ref length */ + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_replication_connection_status::create(void) +{ + return new table_replication_connection_status(); +} + +table_replication_connection_status::table_replication_connection_status() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(0), m_next_pos(0) +{ +} + +table_replication_connection_status::~table_replication_connection_status() +{ +} + +void table_replication_connection_status::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +ha_rows table_replication_connection_status::get_row_count() +{ + /*A lock is not needed for an estimate */ + return channel_map.get_max_channels(); +} + + + +int table_replication_connection_status::rnd_next(void) +{ + Master_info *mi= NULL; + int res= HA_ERR_END_OF_FILE; + + channel_map.rdlock(); + + for (m_pos.set_at(&m_next_pos); + m_pos.m_index < channel_map.get_max_channels() && res != 0; + m_pos.next()) + { + mi= channel_map.get_mi_at_pos(m_pos.m_index); + + if (mi && mi->host[0]) + { + make_row(mi); + m_next_pos.set_after(&m_pos); + res= 0; + } + } + + channel_map.unlock(); + return res; +} + +int table_replication_connection_status::rnd_pos(const void *pos) +{ + Master_info *mi; + int res= HA_ERR_RECORD_DELETED; + + set_position(pos); + + channel_map.rdlock(); + + if ((mi= channel_map.get_mi_at_pos(m_pos.m_index))) + { + make_row(mi); + res= 0; + } + + channel_map.unlock(); + return res; +} + +void table_replication_connection_status::make_row(Master_info *mi) +{ + DBUG_ENTER("table_replication_connection_status::make_row"); + m_row_exists= false; + bool error= false; + + /* Default values */ + m_row.group_name_is_null= true; + m_row.source_uuid_is_null= true; + m_row.thread_id_is_null= true; + m_row.service_state= PS_RPL_CONNECT_SERVICE_STATE_NO; + + DBUG_ASSERT(mi != NULL); + DBUG_ASSERT(mi->rli != NULL); + + mysql_mutex_lock(&mi->data_lock); + mysql_mutex_lock(&mi->rli->data_lock); + + m_row.channel_name_length= mi->get_channel() ? strlen(mi->get_channel()):0; + memcpy(m_row.channel_name, mi->get_channel(), m_row.channel_name_length); + + if (is_group_replication_plugin_loaded() && + channel_map.is_group_replication_channel_name(mi->get_channel(), true)) + { + /* + Group Replication applier channel. + Set callbacks on GROUP_REPLICATION_GROUP_MEMBER_STATS_CALLBACKS. + */ + const GROUP_REPLICATION_CONNECTION_STATUS_CALLBACKS callbacks= + { + &m_row, + &set_channel_name, + &set_group_name, + &set_source_uuid, + &set_service_state, + }; + + // Query plugin and let callbacks do their job. + if (get_group_replication_connection_status_info(callbacks)) + { + DBUG_PRINT("info", ("Group Replication stats not available!")); + } + } + else + { + /* Slave channel. */ + if (mi->master_uuid[0] != 0) + { + memcpy(m_row.source_uuid, mi->master_uuid, UUID_LENGTH); + m_row.source_uuid_is_null= false; + } + + if (mi->slave_running == MYSQL_SLAVE_RUN_CONNECT) + m_row.service_state= PS_RPL_CONNECT_SERVICE_STATE_YES; + else + { + if (mi->slave_running == MYSQL_SLAVE_RUN_NOT_CONNECT) + m_row.service_state= PS_RPL_CONNECT_SERVICE_STATE_CONNECTING; + else + m_row.service_state= PS_RPL_CONNECT_SERVICE_STATE_NO; + } + } + + if (mi->slave_running == MYSQL_SLAVE_RUN_CONNECT) + { + PSI_thread *psi= thd_get_psi(mi->info_thd); + PFS_thread *pfs= reinterpret_cast<PFS_thread *> (psi); + if(pfs) + { + m_row.thread_id= pfs->m_thread_internal_id; + m_row.thread_id_is_null= false; + } + } + + m_row.count_received_heartbeats= mi->received_heartbeats; + /* + Time in Milliseconds since epoch. active_mi->last_heartbeat contains + number of seconds so we multiply by 1000000. + */ + m_row.last_heartbeat_timestamp= (ulonglong)mi->last_heartbeat*1000000; + + { + global_sid_lock->wrlock(); + const Gtid_set* io_gtid_set= mi->rli->get_gtid_set(); + + if ((m_row.received_transaction_set_length= + io_gtid_set->to_string(&m_row.received_transaction_set)) < 0) + { + my_free(m_row.received_transaction_set); + m_row.received_transaction_set_length= 0; + global_sid_lock->unlock(); + error= true; + goto end; + } + global_sid_lock->unlock(); + } + + /* Errors */ + mysql_mutex_lock(&mi->err_lock); + mysql_mutex_lock(&mi->rli->err_lock); + m_row.last_error_number= (unsigned int) mi->last_error().number; + m_row.last_error_message_length= 0; + m_row.last_error_timestamp= 0; + + /** If error, set error message and timestamp */ + if (m_row.last_error_number) + { + char* temp_store= (char*)mi->last_error().message; + m_row.last_error_message_length= strlen(temp_store); + memcpy(m_row.last_error_message, temp_store, + m_row.last_error_message_length); + + /* + Time in millisecond since epoch. active_mi->last_error().skr contains + number of seconds so we multiply by 1000000. */ + m_row.last_error_timestamp= (ulonglong)mi->last_error().skr*1000000; + } + mysql_mutex_unlock(&mi->rli->err_lock); + mysql_mutex_unlock(&mi->err_lock); + +end: + mysql_mutex_unlock(&mi->rli->data_lock); + mysql_mutex_unlock(&mi->data_lock); + + if (!error) + m_row_exists= true; + DBUG_VOID_RETURN; +} + +int table_replication_connection_status::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /** channel_name*/ + set_field_char_utf8(f, m_row.channel_name,m_row.channel_name_length); + break; + case 1: /** group_name */ + if (m_row.group_name_is_null) + f->set_null(); + else + set_field_char_utf8(f, m_row.group_name, UUID_LENGTH); + break; + case 2: /** source_uuid */ + if (m_row.source_uuid_is_null) + f->set_null(); + else + set_field_char_utf8(f, m_row.source_uuid, UUID_LENGTH); + break; + case 3: /** thread_id */ + if(m_row.thread_id_is_null) + f->set_null(); + else + set_field_ulonglong(f, m_row.thread_id); + break; + case 4: /** service_state */ + set_field_enum(f, m_row.service_state); + break; + case 5: /** number of heartbeat events received **/ + set_field_ulonglong(f, m_row.count_received_heartbeats); + break; + case 6: /** time of receipt of last heartbeat event **/ + set_field_timestamp(f, m_row.last_heartbeat_timestamp); + break; + case 7: /** received_transaction_set */ + set_field_longtext_utf8(f, m_row.received_transaction_set, + m_row.received_transaction_set_length); + break; + case 8: /*last_error_number*/ + set_field_ulong(f, m_row.last_error_number); + break; + case 9: /*last_error_message*/ + set_field_varchar_utf8(f, m_row.last_error_message, + m_row.last_error_message_length); + break; + case 10: /*last_error_timestamp*/ + set_field_timestamp(f, m_row.last_error_timestamp); + break; + default: + DBUG_ASSERT(false); + } + } + } + m_row.cleanup(); + + return 0; +} diff --git a/storage/perfschema/table_replication_connection_status.h b/storage/perfschema/table_replication_connection_status.h new file mode 100644 index 00000000000..6c95da19235 --- /dev/null +++ b/storage/perfschema/table_replication_connection_status.h @@ -0,0 +1,140 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + + +#ifndef TABLE_REPLICATION_CONNECTION_STATUS_H +#define TABLE_REPLICATION_CONNECTION_STATUS_H + +/** + @file storage/perfschema/table_replication_connection_status.h + Table replication_connection_status (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "rpl_mi.h" +#include "rpl_reporting.h" /* MAX_SLAVE_ERRMSG */ +#include "mysql_com.h" +#include "rpl_msr.h" +#include "rpl_info.h" /*CHANNEL_NAME_LENGTH */ + +class Master_info; + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +#ifndef ENUM_RPL_YES_NO +#define ENUM_RPL_YES_NO +enum enum_rpl_yes_no { + PS_RPL_YES= 1, + PS_RPL_NO +}; +#endif + +enum enum_rpl_connect_status_service_state { + PS_RPL_CONNECT_SERVICE_STATE_YES= 1, + PS_RPL_CONNECT_SERVICE_STATE_NO, + PS_RPL_CONNECT_SERVICE_STATE_CONNECTING +}; + +/* + A row in the table. The fields with string values have an additional + length field denoted by <field_name>_length. +*/ +struct st_row_connect_status { + char group_name[UUID_LENGTH]; + bool group_name_is_null; + char channel_name[CHANNEL_NAME_LENGTH]; + uint channel_name_length; + char source_uuid[UUID_LENGTH]; + bool source_uuid_is_null; + ulonglong thread_id; + bool thread_id_is_null; + enum_rpl_connect_status_service_state service_state; + ulonglong count_received_heartbeats; + ulonglong last_heartbeat_timestamp; + char* received_transaction_set; + int received_transaction_set_length; + uint last_error_number; + char last_error_message[MAX_SLAVE_ERRMSG]; + uint last_error_message_length; + ulonglong last_error_timestamp; + + st_row_connect_status() : received_transaction_set(NULL) {} + + void cleanup() + { + if (received_transaction_set != NULL) + { + my_free(received_transaction_set); + received_transaction_set= NULL; + } + } +}; + + +/** Table PERFORMANCE_SCHEMA.REPLICATION_CONNECTION_STATUS. */ +class table_replication_connection_status: public PFS_engine_table +{ +private: + void make_row(Master_info *mi); + + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + /** True if the current row exists. */ + bool m_row_exists; + /** Current row */ + st_row_connect_status m_row; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; + +protected: + /** + Read the current row values. + @param table Table handle + @param buf row buffer + @param fields Table fields + @param read_all true if all columns are read. + */ + + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_replication_connection_status(); + +public: + ~table_replication_connection_status(); + + /** Table share. */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_replication_group_member_stats.cc b/storage/perfschema/table_replication_group_member_stats.cc new file mode 100644 index 00000000000..91a7ff0a974 --- /dev/null +++ b/storage/perfschema/table_replication_group_member_stats.cc @@ -0,0 +1,365 @@ +/* + Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_replication_group_member_stats.cc + Table replication_group_member_stats (implementation). +*/ + +#define HAVE_REPLICATION + +#include "my_global.h" +#include "table_replication_group_member_stats.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "log.h" +#include "rpl_group_replication.h" + +/* + Callbacks implementation for GROUP_REPLICATION_GROUP_MEMBER_STATS_CALLBACKS. +*/ +static void set_channel_name(void* const context, const char& value, + size_t length) +{ + struct st_row_group_member_stats* row= + static_cast<struct st_row_group_member_stats*>(context); + const size_t max= CHANNEL_NAME_LENGTH; + length= std::min(length, max); + + row->channel_name_length= length; + memcpy(row->channel_name, &value, length); +} + +static void set_view_id(void* const context, const char& value, size_t length) +{ + struct st_row_group_member_stats* row= + static_cast<struct st_row_group_member_stats*>(context); + const size_t max= HOSTNAME_LENGTH; + length= std::min(length, max); + + row->view_id_length= length; + memcpy(row->view_id, &value, length); +} + +static void set_member_id(void* const context, const char& value, size_t length) +{ + struct st_row_group_member_stats* row= + static_cast<struct st_row_group_member_stats*>(context); + const size_t max= UUID_LENGTH; + length= std::min(length, max); + + row->member_id_length= length; + memcpy(row->member_id, &value, length); +} + +static void set_transactions_committed(void* const context, const char& value, + size_t length) +{ + struct st_row_group_member_stats* row= + static_cast<struct st_row_group_member_stats*>(context); + + if (row->trx_committed != NULL) + my_free(row->trx_committed); + + row->trx_committed_length= length; + row->trx_committed= (char*) my_malloc(PSI_NOT_INSTRUMENTED, + length, + MYF(0)); + memcpy(row->trx_committed, &value, length); +} + +static void set_last_conflict_free_transaction(void* const context, + const char& value, size_t length) +{ + struct st_row_group_member_stats* row= + static_cast<struct st_row_group_member_stats*>(context); + const size_t max= Gtid::MAX_TEXT_LENGTH+1; + length= std::min(length, max); + + row->last_cert_trx_length= length; + memcpy(row->last_cert_trx, &value, length); +} + +static void set_transactions_in_queue(void* const context, + unsigned long long int value) +{ + struct st_row_group_member_stats* row= + static_cast<struct st_row_group_member_stats*>(context); + row->trx_in_queue= value; +} + +static void set_transactions_certified(void* const context, + unsigned long long int value) +{ + struct st_row_group_member_stats* row= + static_cast<struct st_row_group_member_stats*>(context); + row->trx_checked= value; +} + +static void set_transactions_conflicts_detected(void* const context, + unsigned long long int value) +{ + struct st_row_group_member_stats* row= + static_cast<struct st_row_group_member_stats*>(context); + row->trx_conflicts= value; +} + +static void set_transactions_in_validation(void* const context, + unsigned long long int value) +{ + struct st_row_group_member_stats* row= + static_cast<struct st_row_group_member_stats*>(context); + row->trx_validating= value; +} + + +THR_LOCK table_replication_group_member_stats::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + {C_STRING_WITH_LEN("CHANNEL_NAME")}, + {C_STRING_WITH_LEN("char(64)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("VIEW_ID")}, + {C_STRING_WITH_LEN("char(60)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("MEMBER_ID")}, + {C_STRING_WITH_LEN("char(36)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("COUNT_TRANSACTIONS_IN_QUEUE")}, + {C_STRING_WITH_LEN("bigint")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("COUNT_TRANSACTIONS_CHECKED")}, + {C_STRING_WITH_LEN("bigint")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("COUNT_CONFLICTS_DETECTED")}, + {C_STRING_WITH_LEN("bigint")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("COUNT_TRANSACTIONS_VALIDATING")}, + {C_STRING_WITH_LEN("bigint")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("TRANSACTIONS_COMMITTED_ALL_MEMBERS")}, + {C_STRING_WITH_LEN("longtext")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("LAST_CONFLICT_FREE_TRANSACTION")}, + {C_STRING_WITH_LEN("text")}, + {NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_replication_group_member_stats::m_field_def= +{ 9, field_types }; + +PFS_engine_table_share +table_replication_group_member_stats::m_share= +{ + { C_STRING_WITH_LEN("replication_group_member_stats") }, + &pfs_readonly_acl, + &table_replication_group_member_stats::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_replication_group_member_stats::get_row_count, + sizeof(PFS_simple_index), /* ref length */ + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_replication_group_member_stats::create(void) +{ + return new table_replication_group_member_stats(); +} + +table_replication_group_member_stats::table_replication_group_member_stats() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(0), m_next_pos(0) +{ + m_row.trx_committed= NULL; +} + +table_replication_group_member_stats::~table_replication_group_member_stats() +{ + if (m_row.trx_committed != NULL) + { + my_free(m_row.trx_committed); + m_row.trx_committed= NULL; + } +} + +void table_replication_group_member_stats::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +ha_rows table_replication_group_member_stats::get_row_count() +{ + uint row_count= 0; + + if (is_group_replication_plugin_loaded()) + row_count= 1; + + return row_count; +} + +int table_replication_group_member_stats::rnd_next(void) +{ + if (!is_group_replication_plugin_loaded()) + return HA_ERR_END_OF_FILE; + + m_pos.set_at(&m_next_pos); + if (m_pos.m_index == 0) + { + make_row(); + m_next_pos.set_after(&m_pos); + return 0; + } + + return HA_ERR_END_OF_FILE; +} + +int table_replication_group_member_stats::rnd_pos(const void *pos) +{ + if (get_row_count() == 0) + return HA_ERR_END_OF_FILE; + + set_position(pos); + DBUG_ASSERT(m_pos.m_index < 1); + make_row(); + + return 0; +} + +void table_replication_group_member_stats::make_row() +{ + DBUG_ENTER("table_replication_group_member_stats::make_row"); + // Set default values. + m_row_exists= false; + m_row.channel_name_length= 0; + m_row.view_id_length= 0; + m_row.member_id_length= 0; + m_row.trx_committed_length= 0; + m_row.last_cert_trx_length= 0; + m_row.trx_in_queue= 0; + m_row.trx_checked= 0; + m_row.trx_conflicts= 0; + m_row.trx_validating= 0; + + // Set callbacks on GROUP_REPLICATION_GROUP_MEMBER_STATS_CALLBACKS. + const GROUP_REPLICATION_GROUP_MEMBER_STATS_CALLBACKS callbacks= + { + &m_row, + &set_channel_name, + &set_view_id, + &set_member_id, + &set_transactions_committed, + &set_last_conflict_free_transaction, + &set_transactions_in_queue, + &set_transactions_certified, + &set_transactions_conflicts_detected, + &set_transactions_in_validation, + }; + + // Query plugin and let callbacks do their job. + if (get_group_replication_group_member_stats_info(callbacks)) + { + DBUG_PRINT("info", ("Group Replication stats not available!")); + } + else + { + m_row_exists= true; + } + + DBUG_VOID_RETURN; +} + + +int table_replication_group_member_stats::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + DBUG_ASSERT(table->s->null_bytes == 0); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /** channel_name */ + set_field_char_utf8(f, m_row.channel_name, + m_row.channel_name_length); + break; + case 1: /** view id */ + set_field_char_utf8(f, m_row.view_id, m_row.view_id_length); + break; + case 2: /** member_id */ + set_field_char_utf8(f, m_row.member_id, m_row.member_id_length); + break; + case 3: /** transaction_in_queue */ + set_field_ulonglong(f, m_row.trx_in_queue); + break; + case 4: /** transactions_certified */ + set_field_ulonglong(f, m_row.trx_checked); + break; + case 5: /** negatively_certified_transaction */ + set_field_ulonglong(f, m_row.trx_conflicts); + break; + case 6: /** certification_db_size */ + set_field_ulonglong(f, m_row.trx_validating); + break; + case 7: /** stable_set */ + set_field_longtext_utf8(f, m_row.trx_committed, + m_row.trx_committed_length); + break; + case 8: /** last_certified_transaction */ + set_field_longtext_utf8(f, m_row.last_cert_trx, + m_row.last_cert_trx_length); + + break; + default: + DBUG_ASSERT(false); + } + } + } + return 0; +} diff --git a/storage/perfschema/table_replication_group_member_stats.h b/storage/perfschema/table_replication_group_member_stats.h new file mode 100644 index 00000000000..a80f36772bc --- /dev/null +++ b/storage/perfschema/table_replication_group_member_stats.h @@ -0,0 +1,109 @@ +/* + Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + + +#ifndef TABLE_REPLICATION_GROUP_MEMBER_STATS_H +#define TABLE_REPLICATION_GROUP_MEMBER_STATS_H + +/** + @file storage/perfschema/table_replication_group_member_stats.h + Table replication_group_member_stats (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "mysql_com.h" +#include "rpl_info.h" +#include "rpl_gtid.h" +#include <mysql/plugin_group_replication.h> + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row in node status table. The fields with string values have an additional + length field denoted by <field_name>_length. +*/ + +struct st_row_group_member_stats { + char channel_name[CHANNEL_NAME_LENGTH]; + uint channel_name_length; + char view_id[HOSTNAME_LENGTH]; + uint view_id_length; + char member_id[UUID_LENGTH]; + uint member_id_length; + ulonglong trx_in_queue; + ulonglong trx_checked; + ulonglong trx_conflicts; + ulonglong trx_validating; + char *trx_committed; + size_t trx_committed_length; + char last_cert_trx[Gtid::MAX_TEXT_LENGTH+1]; + int last_cert_trx_length; +}; + +/** Table PERFORMANCE_SCHEMA.REPLICATION_GROUP_MEMBER_STATS. */ +class table_replication_group_member_stats: public PFS_engine_table +{ +private: + void make_row(); + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + /** True if the current row exists. */ + bool m_row_exists; + /** Current row */ + st_row_group_member_stats m_row; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; + +protected: + /** + Read the current row values. + @param table Table handle + @param buf row buffer + @param fields Table fields + @param read_all true if all columns are read. + */ + + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_replication_group_member_stats(); + +public: + ~table_replication_group_member_stats(); + + /** Table share. */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +}; + +/** @} */ +#endif + diff --git a/storage/perfschema/table_replication_group_members.cc b/storage/perfschema/table_replication_group_members.cc new file mode 100644 index 00000000000..b8619c71fc5 --- /dev/null +++ b/storage/perfschema/table_replication_group_members.cc @@ -0,0 +1,274 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_replication_group_members.cc + Table replication_group_members (implementation). +*/ + +#define HAVE_REPLICATION + +#include "my_global.h" +#include "table_replication_group_members.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "log.h" +#include "rpl_group_replication.h" + +/* + Callbacks implementation for GROUP_REPLICATION_GROUP_MEMBERS_CALLBACKS. +*/ +static void set_channel_name(void* const context, const char& value, + size_t length) +{ + struct st_row_group_members* row= + static_cast<struct st_row_group_members*>(context); + const size_t max= CHANNEL_NAME_LENGTH; + length= std::min(length, max); + + row->channel_name_length= length; + memcpy(row->channel_name, &value, length); +} + +static void set_member_id(void* const context, const char& value, + size_t length) +{ + struct st_row_group_members* row= + static_cast<struct st_row_group_members*>(context); + const size_t max= UUID_LENGTH; + length= std::min(length, max); + + row->member_id_length= length; + memcpy(row->member_id, &value, length); +} + +static void set_member_host(void* const context, const char& value, + size_t length) +{ + struct st_row_group_members* row= + static_cast<struct st_row_group_members*>(context); + const size_t max= HOSTNAME_LENGTH; + length= std::min(length, max); + + row->member_host_length= length; + memcpy(row->member_host, &value, length); +} + +static void set_member_port(void* const context, unsigned int value) +{ + struct st_row_group_members* row= + static_cast<struct st_row_group_members*>(context); + row->member_port= value; +} + +static void set_member_state(void* const context, const char& value, + size_t length) +{ + struct st_row_group_members* row= + static_cast<struct st_row_group_members*>(context); + const size_t max= NAME_LEN; + length= std::min(length, max); + + row->member_state_length= length; + memcpy(row->member_state, &value, length); +} + + +THR_LOCK table_replication_group_members::m_table_lock; + +/* Numbers in varchar count utf8 characters. */ +static const TABLE_FIELD_TYPE field_types[]= +{ + { + {C_STRING_WITH_LEN("CHANNEL_NAME")}, + {C_STRING_WITH_LEN("char(64)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("MEMBER_ID")}, + {C_STRING_WITH_LEN("char(36)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("MEMBER_HOST")}, + {C_STRING_WITH_LEN("char(60)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("MEMBER_PORT")}, + {C_STRING_WITH_LEN("int(11)")}, + {NULL, 0} + }, + { + {C_STRING_WITH_LEN("MEMBER_STATE")}, + {C_STRING_WITH_LEN("char(64)")}, + {NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_replication_group_members::m_field_def= +{ 5, field_types }; + +PFS_engine_table_share +table_replication_group_members::m_share= +{ + { C_STRING_WITH_LEN("replication_group_members") }, + &pfs_readonly_acl, + &table_replication_group_members::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_replication_group_members::get_row_count, + sizeof(PFS_simple_index), /* ref length */ + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* table_replication_group_members::create(void) +{ + return new table_replication_group_members(); +} + +table_replication_group_members::table_replication_group_members() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +table_replication_group_members::~table_replication_group_members() +{} + +void table_replication_group_members::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +ha_rows table_replication_group_members::get_row_count() +{ + return get_group_replication_members_number_info(); +} + +int table_replication_group_members::rnd_next(void) +{ + if (!is_group_replication_plugin_loaded()) + return HA_ERR_END_OF_FILE; + + for (m_pos.set_at(&m_next_pos); + m_pos.m_index < get_row_count(); + m_pos.next()) + { + make_row(m_pos.m_index); + m_next_pos.set_after(&m_pos); + return 0; + } + + return HA_ERR_END_OF_FILE; +} + +int table_replication_group_members::rnd_pos(const void *pos) +{ + if (!is_group_replication_plugin_loaded()) + return HA_ERR_END_OF_FILE; + + set_position(pos); + DBUG_ASSERT(m_pos.m_index < get_row_count()); + make_row(m_pos.m_index); + + return 0; +} + +void table_replication_group_members::make_row(uint index) +{ + DBUG_ENTER("table_replication_group_members::make_row"); + // Set default values. + m_row_exists= false; + m_row.channel_name_length= 0; + m_row.member_id_length= 0; + m_row.member_host_length= 0; + m_row.member_port= 0; + m_row.member_state_length= 0; + + // Set callbacks on GROUP_REPLICATION_GROUP_MEMBERS_CALLBACKS. + const GROUP_REPLICATION_GROUP_MEMBERS_CALLBACKS callbacks= + { + &m_row, + &set_channel_name, + &set_member_id, + &set_member_host, + &set_member_port, + &set_member_state, + }; + + // Query plugin and let callbacks do their job. + if (get_group_replication_group_members_info(index, callbacks)) + { + DBUG_PRINT("info", ("Group Replication stats not available!")); + } + else + { + m_row_exists= true; + } + + DBUG_VOID_RETURN; +} + + +int table_replication_group_members::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /** channel_name */ + set_field_char_utf8(f, m_row.channel_name, m_row.channel_name_length); + break; + case 1: /** member_id */ + set_field_char_utf8(f, m_row.member_id, m_row.member_id_length); + break; + case 2: /** member_host */ + set_field_char_utf8(f, m_row.member_host, m_row.member_host_length); + break; + case 3: /** member_port */ + if (m_row.member_port > 0) + set_field_ulong(f, m_row.member_port); + else + f->set_null(); + break; + case 4: /** member_state */ + set_field_char_utf8(f, m_row.member_state, m_row.member_state_length); + break; + default: + DBUG_ASSERT(false); + } + } + } + return 0; +} diff --git a/storage/perfschema/table_replication_group_members.h b/storage/perfschema/table_replication_group_members.h new file mode 100644 index 00000000000..8a0ab2640c8 --- /dev/null +++ b/storage/perfschema/table_replication_group_members.h @@ -0,0 +1,101 @@ +/* + Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + + +#ifndef TABLE_REPLICATION_GROUP_MEMBERS_H +#define TABLE_REPLICATION_GROUP_MEMBERS_H + +/** + @file storage/perfschema/table_replication_group_members.h + Table replication_group_members (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "mysql_com.h" +#include "rpl_info.h" +#include <mysql/plugin_group_replication.h> + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row in connection nodes table. The fields with string values have an additional + length field denoted by <field_name>_length. +*/ +struct st_row_group_members { + char channel_name[CHANNEL_NAME_LENGTH]; + uint channel_name_length; + char member_id[UUID_LENGTH]; + uint member_id_length; + char member_host[HOSTNAME_LENGTH]; + uint member_host_length; + uint member_port; + char member_state[NAME_LEN]; + uint member_state_length; +}; + +/** Table PERFORMANCE_SCHEMA.replication_group_members. */ +class table_replication_group_members: public PFS_engine_table +{ +private: + void make_row(uint index); + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + /** True if the current row exists. */ + bool m_row_exists; + /** Current row */ + st_row_group_members m_row; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; + +protected: + /** + Read the current row values. + @param table Table handle + @param buf row buffer + @param fields Table fields + @param read_all true if all columns are read. + */ + + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_replication_group_members(); + +public: + ~table_replication_group_members(); + + /** Table share. */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_session_account_connect_attrs.cc b/storage/perfschema/table_session_account_connect_attrs.cc index 4a3fcc22341..0502489bff0 100644 --- a/storage/perfschema/table_session_account_connect_attrs.cc +++ b/storage/perfschema/table_session_account_connect_attrs.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,16 +21,16 @@ PFS_engine_table_share table_session_account_connect_attrs::m_share= { { C_STRING_WITH_LEN("session_account_connect_attrs") }, - &pfs_readonly_acl, - &table_session_account_connect_attrs::create, + &pfs_readonly_world_acl, + table_session_account_connect_attrs::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - 1000, /* records */ + cursor_by_thread_connect_attr::get_row_count, sizeof(pos_connect_attr_by_thread_by_attr), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_session_account_connect_attrs::create() diff --git a/storage/perfschema/table_session_account_connect_attrs.h b/storage/perfschema/table_session_account_connect_attrs.h index ba8893e7cad..f40178ec020 100644 --- a/storage/perfschema/table_session_account_connect_attrs.h +++ b/storage/perfschema/table_session_account_connect_attrs.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/storage/perfschema/table_session_connect.cc b/storage/perfschema/table_session_connect.cc index 70e89c0b195..1e1d6d3e1e7 100644 --- a/storage/perfschema/table_session_connect.cc +++ b/storage/perfschema/table_session_connect.cc @@ -14,6 +14,7 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include "table_session_connect.h" +#include "field.h" static const TABLE_FIELD_TYPE field_types[]= { @@ -47,7 +48,7 @@ table_session_connect::table_session_connect(const PFS_engine_table_share *share { if (session_connect_attrs_size_per_thread > 0) { - m_copy_session_connect_attrs= (char *) my_malloc(/* 5.7: PSI_INSTRUMENT_ME, */ + m_copy_session_connect_attrs= (char *) my_malloc(PSI_INSTRUMENT_ME, session_connect_attrs_size_per_thread, MYF(0)); } @@ -169,7 +170,7 @@ bool read_nth_attr(const char *connect_attrs, if (idx == ordinal) *attr_name_length= copy_length; - + /* read the value */ if (parse_length_encoded_string(&ptr, attr_value, max_attr_value, ©_length, @@ -191,8 +192,8 @@ bool read_nth_attr(const char *connect_attrs, void table_session_connect::make_row(PFS_thread *pfs, uint ordinal) { - pfs_lock lock; - pfs_lock session_lock; + pfs_optimistic_state lock; + pfs_optimistic_state session_lock; PFS_thread_class *safe_class; const CHARSET_INFO *cs; diff --git a/storage/perfschema/table_session_connect.h b/storage/perfschema/table_session_connect.h index e6faa283e42..feb593bad6b 100644 --- a/storage/perfschema/table_session_connect.h +++ b/storage/perfschema/table_session_connect.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,6 +52,7 @@ struct row_session_connect_attrs ulong m_ordinal_position; }; +/** Abstract table PERFORMANCE_SCHEMA.SESSION_CONNECT_ATTRS. */ class table_session_connect : public cursor_by_thread_connect_attr { protected: diff --git a/storage/perfschema/table_session_connect_attrs.cc b/storage/perfschema/table_session_connect_attrs.cc index 9e1804b7294..45f5daf5aaf 100644 --- a/storage/perfschema/table_session_connect_attrs.cc +++ b/storage/perfschema/table_session_connect_attrs.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,15 +22,15 @@ table_session_connect_attrs::m_share= { { C_STRING_WITH_LEN("session_connect_attrs") }, &pfs_readonly_acl, - &table_session_connect_attrs::create, + table_session_connect_attrs::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - 1000, /* records */ + cursor_by_thread_connect_attr::get_row_count, sizeof(pos_connect_attr_by_thread_by_attr), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_session_connect_attrs::create() diff --git a/storage/perfschema/table_session_connect_attrs.h b/storage/perfschema/table_session_connect_attrs.h index b10b106ba0d..788a68a95fd 100644 --- a/storage/perfschema/table_session_connect_attrs.h +++ b/storage/perfschema/table_session_connect_attrs.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/storage/perfschema/table_session_status.cc b/storage/perfschema/table_session_status.cc new file mode 100644 index 00000000000..32285bc3a4b --- /dev/null +++ b/storage/perfschema/table_session_status.cc @@ -0,0 +1,195 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_session_status.cc + Table SESSION_STATUS (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "table_session_status.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "pfs_global.h" + +THR_LOCK table_session_status::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("VARIABLE_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_VALUE") }, + { C_STRING_WITH_LEN("varchar(1024)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_session_status::m_field_def= +{ 2, field_types }; + +PFS_engine_table_share +table_session_status::m_share= +{ + { C_STRING_WITH_LEN("session_status") }, + &pfs_readonly_world_acl, + table_session_status::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_session_status::get_row_count, + sizeof(pos_t), + &m_table_lock, + &m_field_def, + false, /* checked */ + true /* perpetual */ +}; + +PFS_engine_table* +table_session_status::create(void) +{ + return new table_session_status(); +} + +ha_rows table_session_status::get_row_count(void) +{ + mysql_mutex_lock(&LOCK_status); + ha_rows status_var_count= all_status_vars.size(); + mysql_mutex_unlock(&LOCK_status); + return status_var_count; +} + +table_session_status::table_session_status() + : PFS_engine_table(&m_share, &m_pos), + m_status_cache(false), m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +void table_session_status::reset_position(void) +{ + m_pos.m_index = 0; + m_next_pos.m_index = 0; +} + +int table_session_status::rnd_init(bool scan) +{ + /* Build a cache of all status variables for this thread. */ + m_status_cache.materialize_all(current_thd); + + /* Record the current number of status variables to detect subsequent changes. */ + ulonglong status_version= m_status_cache.get_status_array_version(); + + /* + The table context holds the current version of the global status array. + If scan == true, then allocate a new context from mem_root and store in TLS. + If scan == false, then restore from TLS. + */ + m_context= (table_session_status_context *)current_thd->alloc(sizeof(table_session_status_context)); + new(m_context) table_session_status_context(status_version, !scan); + return 0; +} + +int table_session_status::rnd_next(void) +{ + for (m_pos.set_at(&m_next_pos); + m_pos.m_index < m_status_cache.size(); + m_pos.next()) + { + if (m_status_cache.is_materialized()) + { + const Status_variable *stat_var= m_status_cache.get(m_pos.m_index); + if (stat_var != NULL) + { + make_row(stat_var); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + return HA_ERR_END_OF_FILE; +} + +int +table_session_status::rnd_pos(const void *pos) +{ + /* If global status array has changed, do nothing. */ // TODO: warning + if (!m_context->versions_match()) + return HA_ERR_RECORD_DELETED; + + set_position(pos); + DBUG_ASSERT(m_pos.m_index < m_status_cache.size()); + + if (m_status_cache.is_materialized()) + { + const Status_variable *stat_var= m_status_cache.get(m_pos.m_index); + if (stat_var != NULL) + { + make_row(stat_var); + return 0; + } + } + + return HA_ERR_RECORD_DELETED; +} + +void table_session_status +::make_row(const Status_variable *status_var) +{ + m_row_exists= false; + m_row.m_variable_name.make_row(status_var->m_name, status_var->m_name_length); + m_row.m_variable_value.make_row(status_var->m_value_str, status_var->m_value_length); + m_row_exists= true; +} + +int table_session_status +::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(!m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* VARIABLE_NAME */ + set_field_varchar_utf8(f, m_row.m_variable_name.m_str, m_row.m_variable_name.m_length); + break; + case 1: /* VARIABLE_VALUE */ + set_field_varchar_utf8(f, m_row.m_variable_value.m_str, m_row.m_variable_value.m_length); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_session_status.h b/storage/perfschema/table_session_status.h new file mode 100644 index 00000000000..4680586d2f8 --- /dev/null +++ b/storage/perfschema/table_session_status.h @@ -0,0 +1,112 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_SESSION_STATUS_H +#define TABLE_SESSION_STATUS_H + +/** + @file storage/perfschema/table_session_status.h + Table SESSION_STATUS (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "table_helper.h" +#include "pfs_variable.h" +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.SESSION_STATUS. +*/ +struct row_session_status +{ + /** Column THREAD_ID. */ + ulonglong m_thread_internal_id; + /** Column VARIABLE_NAME. */ + PFS_variable_name_row m_variable_name; + /** Column VARIABLE_VALUE. */ + PFS_variable_value_row m_variable_value; +}; + +/** + Store and retrieve table state information for queries that reinstantiate + the table object. +*/ +class table_session_status_context : public PFS_table_context +{ +public: + table_session_status_context(ulonglong current_version, bool restore) : + PFS_table_context(current_version, restore, THR_PFS_SS) { } +}; + +/** Table PERFORMANCE_SCHEMA.SESSION_STATUS. */ +class table_session_status : public PFS_engine_table +{ + typedef PFS_simple_index pos_t; + +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + table_session_status(); + +public: + ~table_session_status() + {} + +protected: + void make_row(const Status_variable *status_var); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current THD variables. */ + PFS_status_variable_cache m_status_cache; + /** Current row. */ + row_session_status m_row; + /** True if the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_t m_pos; + /** Next position. */ + pos_t m_next_pos; + + /** Table context with global status array version. */ + table_session_status_context *m_context; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_session_variables.cc b/storage/perfschema/table_session_variables.cc new file mode 100644 index 00000000000..55c5407c83f --- /dev/null +++ b/storage/perfschema/table_session_variables.cc @@ -0,0 +1,195 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_session_variables.cc + Table SESSION_VARIABLES (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "table_session_variables.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "pfs_global.h" + +THR_LOCK table_session_variables::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("VARIABLE_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_VALUE") }, + { C_STRING_WITH_LEN("varchar(1024)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_session_variables::m_field_def= +{ 2, field_types }; + +PFS_engine_table_share +table_session_variables::m_share= +{ + { C_STRING_WITH_LEN("session_variables") }, + &pfs_readonly_world_acl, + table_session_variables::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_session_variables::get_row_count, + sizeof(pos_t), + &m_table_lock, + &m_field_def, + false, /* checked */ + true /* perpetual */ +}; + +PFS_engine_table* +table_session_variables::create(void) +{ + return new table_session_variables(); +} + +ha_rows table_session_variables::get_row_count(void) +{ + mysql_mutex_lock(&LOCK_plugin_delete); + mysql_rwlock_rdlock(&LOCK_system_variables_hash); + ha_rows system_var_count= get_system_variable_hash_records(); + mysql_rwlock_unlock(&LOCK_system_variables_hash); + mysql_mutex_unlock(&LOCK_plugin_delete); + return system_var_count; +} + +table_session_variables::table_session_variables() + : PFS_engine_table(&m_share, &m_pos), + m_sysvar_cache(false), m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +void table_session_variables::reset_position(void) +{ + m_pos.m_index = 0; + m_next_pos.m_index = 0; +} + +int table_session_variables::rnd_init(bool scan) +{ + /* Build a cache of system variables for this thread. */ + m_sysvar_cache.materialize_all(current_thd); + + /* Record the version of the system variable hash. */ + ulonglong hash_version= m_sysvar_cache.get_sysvar_hash_version(); + + /* + The table context holds the current version of the system variable hash. + If scan == true, then allocate a new context from mem_root and store in TLS. + If scan == false, then restore from TLS. + */ + m_context= (table_session_variables_context *)current_thd->alloc(sizeof(table_session_variables_context)); + new(m_context) table_session_variables_context(hash_version, !scan); + return 0; +} + +int table_session_variables::rnd_next(void) +{ + for (m_pos.set_at(&m_next_pos); + m_pos.m_index < m_sysvar_cache.size(); + m_pos.next()) + { + if (m_sysvar_cache.is_materialized()) + { + const System_variable *system_var= m_sysvar_cache.get(m_pos.m_index); + if (system_var != NULL) + { + make_row(system_var); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + return HA_ERR_END_OF_FILE; +} + +int table_session_variables::rnd_pos(const void *pos) +{ + /* If system variable hash changes, do nothing. */ + if (!m_context->versions_match()) + return HA_ERR_RECORD_DELETED; + + set_position(pos); + DBUG_ASSERT(m_pos.m_index < m_sysvar_cache.size()); + + if (m_sysvar_cache.is_materialized()) + { + const System_variable *system_var= m_sysvar_cache.get(m_pos.m_index); + if (system_var != NULL) + { + make_row(system_var); + return 0; + } + } + return HA_ERR_RECORD_DELETED; +} + +void table_session_variables +::make_row(const System_variable *system_var) +{ + m_row_exists= false; + m_row.m_variable_name.make_row(system_var->m_name, system_var->m_name_length); + m_row.m_variable_value.make_row(system_var->m_value_str, system_var->m_value_length); + m_row_exists= true; +} + +int table_session_variables +::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(!m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* VARIABLE_NAME */ + set_field_varchar_utf8(f, m_row.m_variable_name.m_str, m_row.m_variable_name.m_length); + break; + case 1: /* VARIABLE_VALUE */ + set_field_varchar_utf8(f, m_row.m_variable_value.m_str, m_row.m_variable_value.m_length); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_session_variables.h b/storage/perfschema/table_session_variables.h new file mode 100644 index 00000000000..15c3ac8ea91 --- /dev/null +++ b/storage/perfschema/table_session_variables.h @@ -0,0 +1,110 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_SESSION_VARIABLES_H +#define TABLE_SESSION_VARIABLES_H + +/** + @file storage/perfschema/table_session_variables.h + Table SESSION_VARIABLES (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "table_helper.h" +#include "pfs_variable.h" +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + Store and retrieve table state information during queries that reinstantiate + the table object. +*/ +class table_session_variables_context : public PFS_table_context +{ +public: + table_session_variables_context(ulonglong hash_version, bool restore) : + PFS_table_context(hash_version, restore, THR_PFS_SV) {} +}; + +/** + A row of table + PERFORMANCE_SCHEMA.SESSION_VARIABLES. +*/ +struct row_session_variables +{ + /** Column VARIABLE_NAME. */ + PFS_variable_name_row m_variable_name; + /** Column VARIABLE_VALUE. */ + PFS_variable_value_row m_variable_value; +}; + +/** Table PERFORMANCE_SCHEMA.SESSION_VARIABLES. */ +class table_session_variables : public PFS_engine_table +{ + typedef PFS_simple_index pos_t; + +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + table_session_variables(); + +public: + ~table_session_variables() + {} + +protected: + void make_row(const System_variable *system_var); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current THD variables. */ + PFS_system_variable_cache m_sysvar_cache; + /** Current row. */ + row_session_variables m_row; + /** True if the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_t m_pos; + /** Next position. */ + pos_t m_next_pos; + + /** Table context with system variable hash version. */ + table_session_variables_context *m_context; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_setup_actors.cc b/storage/perfschema/table_setup_actors.cc index 00699a9c2e5..593dd1d45a9 100644 --- a/storage/perfschema/table_setup_actors.cc +++ b/storage/perfschema/table_setup_actors.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,13 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "pfs_setup_actor.h" #include "table_setup_actors.h" #include "pfs_global.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_setup_actors::m_table_lock; @@ -38,19 +40,29 @@ static const TABLE_FIELD_TYPE field_types[]= }, { { C_STRING_WITH_LEN("USER") }, - { C_STRING_WITH_LEN("char(16)") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, { NULL, 0} }, { { C_STRING_WITH_LEN("ROLE") }, { C_STRING_WITH_LEN("char(16)") }, { NULL, 0} + }, + { + { C_STRING_WITH_LEN("ENABLED") }, + { C_STRING_WITH_LEN("enum(\'YES\',\'NO\')") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HISTORY") }, + { C_STRING_WITH_LEN("enum(\'YES\',\'NO\')") }, + { NULL, 0} } }; TABLE_FIELD_DEF table_setup_actors::m_field_def= -{ 3, field_types }; +{ 5, field_types }; PFS_engine_table_share table_setup_actors::m_share= @@ -61,11 +73,11 @@ table_setup_actors::m_share= table_setup_actors::write_row, table_setup_actors::delete_all_rows, table_setup_actors::get_row_count, - 1000, /* records */ sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_setup_actors::create() @@ -83,6 +95,10 @@ int table_setup_actors::write_row(TABLE *table, unsigned char *buf, String *user= &user_data; String *host= &host_data; String *role= &role_data; + enum_yes_no enabled_value= ENUM_YES; + enum_yes_no history_value= ENUM_YES; + bool enabled; + bool history; for (; (f= *fields) ; fields++) { @@ -99,16 +115,34 @@ int table_setup_actors::write_row(TABLE *table, unsigned char *buf, case 2: /* ROLE */ role= get_field_char_utf8(f, &role_data); break; + case 3: /* ENABLED */ + enabled_value= (enum_yes_no) get_field_enum(f); + break; + case 4: /* HISTORY */ + history_value= (enum_yes_no) get_field_enum(f); + break; default: DBUG_ASSERT(false); } } } + /* Reject illegal enum values in ENABLED */ + if ((enabled_value != ENUM_YES) && (enabled_value != ENUM_NO)) + return HA_ERR_NO_REFERENCED_ROW; + + /* Reject illegal enum values in HISTORY */ + if ((history_value != ENUM_YES) && (history_value != ENUM_NO)) + return HA_ERR_NO_REFERENCED_ROW; + + /* Reject if any of user/host/role is not provided */ if (user->length() == 0 || host->length() == 0 || role->length() == 0) return HA_ERR_WRONG_COMMAND; - return insert_setup_actor(user, host, role); + enabled= (enabled_value == ENUM_YES) ? true : false; + history= (history_value == ENUM_YES) ? true : false; + + return insert_setup_actor(user, host, role, enabled, history); } int table_setup_actors::delete_all_rows(void) @@ -118,7 +152,7 @@ int table_setup_actors::delete_all_rows(void) ha_rows table_setup_actors::get_row_count(void) { - return setup_actor_count(); + return global_setup_actor_container.get_row_count(); } table_setup_actors::table_setup_actors() @@ -136,17 +170,14 @@ int table_setup_actors::rnd_next() { PFS_setup_actor *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < setup_actor_max; - m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_setup_actor_iterator it= global_setup_actor_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &setup_actor_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -158,9 +189,8 @@ int table_setup_actors::rnd_pos(const void *pos) set_position(pos); - DBUG_ASSERT(m_pos.m_index < setup_actor_max); - pfs= &setup_actor_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) + pfs= global_setup_actor_container.get(m_pos.m_index); + if (pfs != NULL) { make_row(pfs); return 0; @@ -171,7 +201,7 @@ int table_setup_actors::rnd_pos(const void *pos) void table_setup_actors::make_row(PFS_setup_actor *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; @@ -195,6 +225,9 @@ void table_setup_actors::make_row(PFS_setup_actor *pfs) return; memcpy(m_row.m_rolename, pfs->m_rolename, m_row.m_rolename_length); + m_row.m_enabled_ptr= &pfs->m_enabled; + m_row.m_history_ptr= &pfs->m_history; + if (pfs->m_lock.end_optimistic_lock(&lock)) m_row_exists= true; } @@ -227,6 +260,12 @@ int table_setup_actors::read_row_values(TABLE *table, case 2: /* ROLE */ set_field_char_utf8(f, m_row.m_rolename, m_row.m_rolename_length); break; + case 3: /* ENABLED */ + set_field_enum(f, (*m_row.m_enabled_ptr) ? ENUM_YES : ENUM_NO); + break; + case 4: /* HISTORY */ + set_field_enum(f, (*m_row.m_history_ptr) ? ENUM_YES : ENUM_NO); + break; default: DBUG_ASSERT(false); } @@ -241,7 +280,9 @@ int table_setup_actors::update_row_values(TABLE *table, unsigned char *new_buf, Field **fields) { + int result; Field *f; + enum_yes_no value; for (; (f= *fields) ; fields++) { @@ -253,6 +294,19 @@ int table_setup_actors::update_row_values(TABLE *table, case 1: /* USER */ case 2: /* ROLE */ return HA_ERR_WRONG_COMMAND; + case 3: /* ENABLED */ + value= (enum_yes_no) get_field_enum(f); + /* Reject illegal enum values in ENABLED */ + if ((value != ENUM_YES) && (value != ENUM_NO)) + return HA_ERR_NO_REFERENCED_ROW; + *m_row.m_enabled_ptr= (value == ENUM_YES) ? true : false; + break; + case 4: /* HISTORY */ + value= (enum_yes_no) get_field_enum(f); + /* Reject illegal enum values in HISTORY */ + if ((value != ENUM_YES) && (value != ENUM_NO)) + return HA_ERR_NO_REFERENCED_ROW; + *m_row.m_history_ptr= (value == ENUM_YES) ? true : false; break; default: DBUG_ASSERT(false); @@ -260,7 +314,8 @@ int table_setup_actors::update_row_values(TABLE *table, } } - return 0; + result= update_setup_actors_derived_flags(); + return result; } int table_setup_actors::delete_row_values(TABLE *table, diff --git a/storage/perfschema/table_setup_actors.h b/storage/perfschema/table_setup_actors.h index be3ab1bdf0d..0f5827ea13f 100644 --- a/storage/perfschema/table_setup_actors.h +++ b/storage/perfschema/table_setup_actors.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,6 +45,10 @@ struct row_setup_actors char m_rolename[16]; /** Length in bytes of @c m_rolename. */ uint m_rolename_length; + /** Column ENABLED. */ + bool *m_enabled_ptr; + /** Column HISTORY. */ + bool *m_history_ptr; }; /** Table PERFORMANCE_SCHEMA.SETUP_ACTORS. */ diff --git a/storage/perfschema/table_setup_consumers.cc b/storage/perfschema/table_setup_consumers.cc index 7b5441b684a..78f4d74b359 100644 --- a/storage/perfschema/table_setup_consumers.cc +++ b/storage/perfschema/table_setup_consumers.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,73 +19,105 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_setup_consumers.h" #include "pfs_instr.h" #include "pfs_events_waits.h" #include "pfs_digest.h" +#include "field.h" + +#define COUNT_SETUP_CONSUMERS 15 -#define COUNT_SETUP_CONSUMERS 12 static row_setup_consumers all_setup_consumers_data[COUNT_SETUP_CONSUMERS]= { { { C_STRING_WITH_LEN("events_stages_current") }, &flag_events_stages_current, + false, false }, { { C_STRING_WITH_LEN("events_stages_history") }, &flag_events_stages_history, - false + false, + true }, { { C_STRING_WITH_LEN("events_stages_history_long") }, &flag_events_stages_history_long, - false + false, + true }, { { C_STRING_WITH_LEN("events_statements_current") }, &flag_events_statements_current, + false, false }, { { C_STRING_WITH_LEN("events_statements_history") }, &flag_events_statements_history, - false + false, + true }, { { C_STRING_WITH_LEN("events_statements_history_long") }, &flag_events_statements_history_long, + false, + true + }, + { + { C_STRING_WITH_LEN("events_transactions_current") }, + &flag_events_transactions_current, + false, false }, { + { C_STRING_WITH_LEN("events_transactions_history") }, + &flag_events_transactions_history, + false, + true + }, + { + { C_STRING_WITH_LEN("events_transactions_history_long") }, + &flag_events_transactions_history_long, + false, + true + }, + { { C_STRING_WITH_LEN("events_waits_current") }, &flag_events_waits_current, + false, false }, { { C_STRING_WITH_LEN("events_waits_history") }, &flag_events_waits_history, - false + false, + true }, { { C_STRING_WITH_LEN("events_waits_history_long") }, &flag_events_waits_history_long, - false + false, + true }, { { C_STRING_WITH_LEN("global_instrumentation") }, &flag_global_instrumentation, + true, true }, { { C_STRING_WITH_LEN("thread_instrumentation") }, &flag_thread_instrumentation, - false + false, + true }, { { C_STRING_WITH_LEN("statements_digest") }, &flag_statements_digest, + false, false } }; @@ -115,15 +147,15 @@ table_setup_consumers::m_share= { { C_STRING_WITH_LEN("setup_consumers") }, &pfs_updatable_acl, - &table_setup_consumers::create, + table_setup_consumers::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - COUNT_SETUP_CONSUMERS, /* records */ + table_setup_consumers::get_row_count, sizeof(PFS_simple_index), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_setup_consumers::create(void) @@ -131,6 +163,12 @@ PFS_engine_table* table_setup_consumers::create(void) return new table_setup_consumers(); } +ha_rows +table_setup_consumers::get_row_count(void) +{ + return COUNT_SETUP_CONSUMERS; +} + table_setup_consumers::table_setup_consumers() : PFS_engine_table(&m_share, &m_pos), m_row(NULL), m_pos(0), m_next_pos(0) @@ -235,9 +273,12 @@ int table_setup_consumers::update_row_values(TABLE *table, } } - if (m_row->m_refresh) + if (m_row->m_instrument_refresh) update_instruments_derived_flags(); + if (m_row->m_thread_refresh) + update_thread_derived_flags(); + return 0; } diff --git a/storage/perfschema/table_setup_consumers.h b/storage/perfschema/table_setup_consumers.h index bc7e9d553bb..b9c72c1d437 100644 --- a/storage/perfschema/table_setup_consumers.h +++ b/storage/perfschema/table_setup_consumers.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -36,8 +36,10 @@ struct row_setup_consumers LEX_STRING m_name; /** Column ENABLED. */ bool *m_enabled_ptr; - /** Hidden column, refresh. */ - bool m_refresh; + /** Hidden column, instrument refresh. */ + bool m_instrument_refresh; + /** Hidden column, thread refresh. */ + bool m_thread_refresh; }; /** Table PERFORMANCE_SCHEMA.SETUP_CONSUMERS. */ @@ -47,6 +49,7 @@ public: /** Table share. */ static PFS_engine_table_share m_share; static PFS_engine_table* create(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_setup_instruments.cc b/storage/perfschema/table_setup_instruments.cc index 31e2adb0f62..e3f0f065b64 100644 --- a/storage/perfschema/table_setup_instruments.cc +++ b/storage/perfschema/table_setup_instruments.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,14 +19,16 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" +#include "pfs_builtin_memory.h" #include "pfs_instr.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_setup_instruments.h" #include "pfs_global.h" #include "pfs_setup_object.h" +#include "field.h" THR_LOCK table_setup_instruments::m_table_lock; @@ -58,15 +60,15 @@ table_setup_instruments::m_share= { { C_STRING_WITH_LEN("setup_instruments") }, &pfs_updatable_acl, - &table_setup_instruments::create, + table_setup_instruments::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - 1000, /* records */ + table_setup_instruments::get_row_count, sizeof(pos_setup_instruments), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_setup_instruments::create(void) @@ -74,6 +76,16 @@ PFS_engine_table* table_setup_instruments::create(void) return new table_setup_instruments(); } +ha_rows +table_setup_instruments::get_row_count(void) +{ + return wait_class_max + + stage_class_max + + statement_class_max + + transaction_class_max + + memory_class_max; +} + table_setup_instruments::table_setup_instruments() : PFS_engine_table(&m_share, &m_pos), m_pos(), m_next_pos() @@ -88,6 +100,9 @@ void table_setup_instruments::reset_position(void) int table_setup_instruments::rnd_next(void) { PFS_instr_class *instr_class= NULL; + PFS_builtin_memory_class *pfs_builtin; + bool update_enabled; + bool update_timed; /* Do not advertise hard coded instruments when disabled. */ if (! pfs_initialized) @@ -97,6 +112,9 @@ int table_setup_instruments::rnd_next(void) m_pos.has_more_view(); m_pos.next_view()) { + update_enabled= true; + update_timed= true; + switch (m_pos.m_index_1) { case pos_setup_instruments::VIEW_MUTEX: @@ -123,16 +141,35 @@ int table_setup_instruments::rnd_next(void) case pos_setup_instruments::VIEW_STATEMENT: instr_class= find_statement_class(m_pos.m_index_2); break; + case pos_setup_instruments::VIEW_TRANSACTION: + instr_class= find_transaction_class(m_pos.m_index_2); + break; case pos_setup_instruments::VIEW_SOCKET: instr_class= find_socket_class(m_pos.m_index_2); break; case pos_setup_instruments::VIEW_IDLE: instr_class= find_idle_class(m_pos.m_index_2); break; + case pos_setup_instruments::VIEW_BUILTIN_MEMORY: + update_enabled= false; + update_timed= false; + pfs_builtin= find_builtin_memory_class(m_pos.m_index_2); + if (pfs_builtin != NULL) + instr_class= & pfs_builtin->m_class; + else + instr_class= NULL; + break; + case pos_setup_instruments::VIEW_MEMORY: + update_timed= false; + instr_class= find_memory_class(m_pos.m_index_2); + break; + case pos_setup_instruments::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_2); + break; } if (instr_class) { - make_row(instr_class); + make_row(instr_class, update_enabled, update_timed); m_next_pos.set_after(&m_pos); return 0; } @@ -144,6 +181,9 @@ int table_setup_instruments::rnd_next(void) int table_setup_instruments::rnd_pos(const void *pos) { PFS_instr_class *instr_class= NULL; + PFS_builtin_memory_class *pfs_builtin; + bool update_enabled; + bool update_timed; /* Do not advertise hard coded instruments when disabled. */ if (! pfs_initialized) @@ -151,6 +191,9 @@ int table_setup_instruments::rnd_pos(const void *pos) set_position(pos); + update_enabled= true; + update_timed= true; + switch (m_pos.m_index_1) { case pos_setup_instruments::VIEW_MUTEX: @@ -177,25 +220,46 @@ int table_setup_instruments::rnd_pos(const void *pos) case pos_setup_instruments::VIEW_STATEMENT: instr_class= find_statement_class(m_pos.m_index_2); break; + case pos_setup_instruments::VIEW_TRANSACTION: + instr_class= find_transaction_class(m_pos.m_index_2); + break; case pos_setup_instruments::VIEW_SOCKET: instr_class= find_socket_class(m_pos.m_index_2); break; case pos_setup_instruments::VIEW_IDLE: instr_class= find_idle_class(m_pos.m_index_2); break; + case pos_setup_instruments::VIEW_BUILTIN_MEMORY: + update_enabled= false; + update_timed= false; + pfs_builtin= find_builtin_memory_class(m_pos.m_index_2); + if (pfs_builtin != NULL) + instr_class= & pfs_builtin->m_class; + else + instr_class= NULL; + break; + case pos_setup_instruments::VIEW_MEMORY: + update_timed= false; + instr_class= find_memory_class(m_pos.m_index_2); + break; + case pos_setup_instruments::VIEW_METADATA: + instr_class= find_metadata_class(m_pos.m_index_2); + break; } if (instr_class) { - make_row(instr_class); + make_row(instr_class, update_enabled, update_timed); return 0; } return HA_ERR_RECORD_DELETED; } -void table_setup_instruments::make_row(PFS_instr_class *klass) +void table_setup_instruments::make_row(PFS_instr_class *klass, bool update_enabled, bool update_timed) { m_row.m_instr_class= klass; + m_row.m_update_enabled= update_enabled; + m_row.m_update_timed= update_timed; } int table_setup_instruments::read_row_values(TABLE *table, @@ -253,12 +317,20 @@ int table_setup_instruments::update_row_values(TABLE *table, case 0: /* NAME */ return HA_ERR_WRONG_COMMAND; case 1: /* ENABLED */ - value= (enum_yes_no) get_field_enum(f); - m_row.m_instr_class->m_enabled= (value == ENUM_YES) ? true : false; + /* Do not raise error if m_update_enabled is false, silently ignore. */ + if (m_row.m_update_enabled) + { + value= (enum_yes_no) get_field_enum(f); + m_row.m_instr_class->m_enabled= (value == ENUM_YES) ? true : false; + } break; case 2: /* TIMED */ - value= (enum_yes_no) get_field_enum(f); - m_row.m_instr_class->m_timed= (value == ENUM_YES) ? true : false; + /* Do not raise error if m_update_timed is false, silently ignore. */ + if (m_row.m_update_timed) + { + value= (enum_yes_no) get_field_enum(f); + m_row.m_instr_class->m_timed= (value == ENUM_YES) ? true : false; + } break; default: DBUG_ASSERT(false); @@ -288,6 +360,7 @@ int table_setup_instruments::update_row_values(TABLE *table, break; case pos_setup_instruments::VIEW_STAGE: case pos_setup_instruments::VIEW_STATEMENT: + case pos_setup_instruments::VIEW_TRANSACTION: /* No flag to update. */ break; case pos_setup_instruments::VIEW_SOCKET: @@ -296,6 +369,13 @@ int table_setup_instruments::update_row_values(TABLE *table, case pos_setup_instruments::VIEW_IDLE: /* No flag to update. */ break; + case pos_setup_instruments::VIEW_BUILTIN_MEMORY: + case pos_setup_instruments::VIEW_MEMORY: + /* No flag to update. */ + break; + case pos_setup_instruments::VIEW_METADATA: + update_metadata_derived_flags(); + break; default: DBUG_ASSERT(false); break; diff --git a/storage/perfschema/table_setup_instruments.h b/storage/perfschema/table_setup_instruments.h index cb4c6a06de1..d0e3119cf5b 100644 --- a/storage/perfschema/table_setup_instruments.h +++ b/storage/perfschema/table_setup_instruments.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,6 +34,10 @@ struct row_setup_instruments { /** Columns NAME, ENABLED, TIMED. */ PFS_instr_class *m_instr_class; + /** True if column ENABLED can be updated. */ + bool m_update_enabled; + /** True if column TIMED can be updated. */ + bool m_update_timed; }; /** Position of a cursor on PERFORMANCE_SCHEMA.SETUP_INSTRUMENTS. */ @@ -48,9 +52,13 @@ struct pos_setup_instruments : public PFS_double_index static const uint VIEW_TABLE= 6; static const uint VIEW_STAGE= 7; static const uint VIEW_STATEMENT= 8; - static const uint VIEW_SOCKET= 9; - static const uint VIEW_IDLE= 10; - static const uint LAST_VIEW= 10; + static const uint VIEW_TRANSACTION=9; + static const uint VIEW_SOCKET= 10; + static const uint VIEW_IDLE= 11; + static const uint VIEW_BUILTIN_MEMORY= 12; + static const uint VIEW_MEMORY= 13; + static const uint VIEW_METADATA= 14; + static const uint LAST_VIEW= 14; pos_setup_instruments() : PFS_double_index(FIRST_VIEW, 1) @@ -79,6 +87,7 @@ public: /** Table share. */ static PFS_engine_table_share m_share; static PFS_engine_table* create(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); @@ -102,7 +111,7 @@ public: {} private: - void make_row(PFS_instr_class *klass); + void make_row(PFS_instr_class *klass, bool update_enabled, bool update_timed); /** Table share lock. */ static THR_LOCK m_table_lock; diff --git a/storage/perfschema/table_setup_objects.cc b/storage/perfschema/table_setup_objects.cc index 11fab913ac4..0312793119f 100644 --- a/storage/perfschema/table_setup_objects.cc +++ b/storage/perfschema/table_setup_objects.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr.h" #include "pfs_column_types.h" #include "pfs_column_values.h" @@ -27,6 +27,8 @@ #include "table_setup_objects.h" #include "table_helper.h" #include "pfs_global.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_setup_objects::m_table_lock; @@ -34,7 +36,7 @@ static const TABLE_FIELD_TYPE field_types[]= { { { C_STRING_WITH_LEN("OBJECT_TYPE") }, - { C_STRING_WITH_LEN("enum(\'TABLE\')") }, + { C_STRING_WITH_LEN("enum(\'EVENT\',\'FUNCTION\',\'PROCEDURE\',\'TABLE\',\'TRIGGER\'") }, { NULL, 0} }, { @@ -72,11 +74,11 @@ table_setup_objects::m_share= table_setup_objects::write_row, table_setup_objects::delete_all_rows, table_setup_objects::get_row_count, - 1000, /* records */ sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; int update_derived_flags() @@ -86,6 +88,7 @@ int update_derived_flags() return HA_ERR_OUT_OF_MEM; update_table_share_derived_flags(thread); + update_program_share_derived_flags(thread); update_table_derived_flags(); return 0; } @@ -138,7 +141,9 @@ int table_setup_objects::write_row(TABLE *table, unsigned char *buf, } /* Reject illegal enum values in OBJECT_TYPE */ - if (object_type != OBJECT_TYPE_TABLE) + if (object_type < FIRST_OBJECT_TYPE || + object_type > LAST_OBJECT_TYPE || + object_type == OBJECT_TYPE_TEMPORARY_TABLE) return HA_ERR_NO_REFERENCED_ROW; /* Reject illegal enum values in ENABLED */ @@ -169,7 +174,7 @@ int table_setup_objects::delete_all_rows(void) ha_rows table_setup_objects::get_row_count(void) { - return setup_object_count(); + return global_setup_object_container.get_row_count(); } table_setup_objects::table_setup_objects() @@ -187,17 +192,14 @@ int table_setup_objects::rnd_next(void) { PFS_setup_object *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < setup_object_max; - m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_setup_object_iterator it= global_setup_object_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &setup_object_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -209,9 +211,8 @@ int table_setup_objects::rnd_pos(const void *pos) set_position(pos); - DBUG_ASSERT(m_pos.m_index < setup_object_max); - pfs= &setup_object_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) + pfs= global_setup_object_container.get(m_pos.m_index); + if (pfs != NULL) { make_row(pfs); return 0; @@ -222,7 +223,7 @@ int table_setup_objects::rnd_pos(const void *pos) void table_setup_objects::make_row(PFS_setup_object *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; diff --git a/storage/perfschema/table_setup_objects.h b/storage/perfschema/table_setup_objects.h index 4b31fa6a8a6..a759d0c8329 100644 --- a/storage/perfschema/table_setup_objects.h +++ b/storage/perfschema/table_setup_objects.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/storage/perfschema/table_setup_timers.cc b/storage/perfschema/table_setup_timers.cc index a6a8a52b7e5..f04aaf7e832 100644 --- a/storage/perfschema/table_setup_timers.cc +++ b/storage/perfschema/table_setup_timers.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,12 +19,13 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_setup_timers.h" #include "pfs_column_values.h" #include "pfs_timer.h" +#include "field.h" -#define COUNT_SETUP_TIMERS 4 +#define COUNT_SETUP_TIMERS 5 static row_setup_timers all_setup_timers_data[COUNT_SETUP_TIMERS]= { @@ -43,6 +44,10 @@ static row_setup_timers all_setup_timers_data[COUNT_SETUP_TIMERS]= { { C_STRING_WITH_LEN("statement") }, &statement_timer + }, + { + { C_STRING_WITH_LEN("transaction") }, + &transaction_timer } }; @@ -72,15 +77,15 @@ table_setup_timers::m_share= { { C_STRING_WITH_LEN("setup_timers") }, &pfs_updatable_acl, - &table_setup_timers::create, + table_setup_timers::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - COUNT_SETUP_TIMERS, + table_setup_timers::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_setup_timers::create(void) @@ -88,6 +93,12 @@ PFS_engine_table* table_setup_timers::create(void) return new table_setup_timers(); } +ha_rows +table_setup_timers::get_row_count(void) +{ + return COUNT_SETUP_TIMERS; +} + table_setup_timers::table_setup_timers() : PFS_engine_table(&m_share, &m_pos), m_row(NULL), m_pos(0), m_next_pos(0) diff --git a/storage/perfschema/table_setup_timers.h b/storage/perfschema/table_setup_timers.h index a81e6fefaaf..c7dfec8f42b 100644 --- a/storage/perfschema/table_setup_timers.h +++ b/storage/perfschema/table_setup_timers.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,6 +45,7 @@ public: /** Table share. */ static PFS_engine_table_share m_share; static PFS_engine_table* create(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_socket_instances.cc b/storage/perfschema/table_socket_instances.cc index 0fa1d2b1a3a..1cf163ba981 100644 --- a/storage/perfschema/table_socket_instances.cc +++ b/storage/perfschema/table_socket_instances.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,12 +19,14 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_socket_instances.h" #include "pfs_global.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_socket_instances::m_table_lock; @@ -76,15 +78,15 @@ table_socket_instances::m_share= { { C_STRING_WITH_LEN("socket_instances") }, &pfs_readonly_acl, - &table_socket_instances::create, + table_socket_instances::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - 1000, /* records */ + table_socket_instances::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_socket_instances::create(void) @@ -92,6 +94,12 @@ PFS_engine_table* table_socket_instances::create(void) return new table_socket_instances(); } +ha_rows +table_socket_instances::get_row_count(void) +{ + return global_socket_container.get_row_count(); +} + table_socket_instances::table_socket_instances() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(0), m_next_pos(0) @@ -107,17 +115,14 @@ int table_socket_instances::rnd_next(void) { PFS_socket *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < socket_max; - m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_socket_iterator it= global_socket_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &socket_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -128,19 +133,20 @@ int table_socket_instances::rnd_pos(const void *pos) PFS_socket *pfs; set_position(pos); - DBUG_ASSERT(m_pos.m_index < socket_max); - pfs= &socket_array[m_pos.m_index]; - if (! pfs->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; + pfs= global_socket_container.get(m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + return 0; + } - make_row(pfs); - return 0; + return HA_ERR_RECORD_DELETED; } void table_socket_instances::make_row(PFS_socket *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; PFS_socket_class *safe_class; m_row_exists= false; diff --git a/storage/perfschema/table_socket_instances.h b/storage/perfschema/table_socket_instances.h index 080f11c1ba8..99d0ba6c8cb 100644 --- a/storage/perfschema/table_socket_instances.h +++ b/storage/perfschema/table_socket_instances.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -63,6 +63,7 @@ public: /** Table share */ static PFS_engine_table_share m_share; static PFS_engine_table* create(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_socket_summary_by_event_name.cc b/storage/perfschema/table_socket_summary_by_event_name.cc index 0262178e5b5..1a344b6de99 100644 --- a/storage/perfschema/table_socket_summary_by_event_name.cc +++ b/storage/perfschema/table_socket_summary_by_event_name.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,13 +19,14 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_socket_summary_by_event_name.h" #include "pfs_global.h" #include "pfs_visitor.h" +#include "field.h" THR_LOCK table_socket_summary_by_event_name::m_table_lock; @@ -163,15 +164,15 @@ table_socket_summary_by_event_name::m_share= { { C_STRING_WITH_LEN("socket_summary_by_event_name") }, &pfs_readonly_acl, - &table_socket_summary_by_event_name::create, + table_socket_summary_by_event_name::create, NULL, /* write_row */ table_socket_summary_by_event_name::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_socket_summary_by_event_name::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_socket_summary_by_event_name::create(void) @@ -191,6 +192,12 @@ int table_socket_summary_by_event_name::delete_all_rows(void) return 0; } +ha_rows +table_socket_summary_by_event_name::get_row_count(void) +{ + return socket_class_max; +} + void table_socket_summary_by_event_name::reset_position(void) { m_pos.m_index= 1; @@ -238,7 +245,7 @@ void table_socket_summary_by_event_name::make_row(PFS_socket_class *socket_class PFS_instance_iterator::visit_socket_instances(socket_class, &visitor); time_normalizer *normalizer= time_normalizer::get(wait_timer); - + /* Collect timer and byte count stats */ m_row.m_io_stat.set(normalizer, &visitor.m_socket_io_stat); m_row_exists= true; diff --git a/storage/perfschema/table_socket_summary_by_event_name.h b/storage/perfschema/table_socket_summary_by_event_name.h index b34bed41f83..8f5bbe82973 100644 --- a/storage/perfschema/table_socket_summary_by_event_name.h +++ b/storage/perfschema/table_socket_summary_by_event_name.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -53,6 +53,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_socket_summary_by_instance.cc b/storage/perfschema/table_socket_summary_by_instance.cc index 5b177cb3dce..db5a9d9f62a 100644 --- a/storage/perfschema/table_socket_summary_by_instance.cc +++ b/storage/perfschema/table_socket_summary_by_instance.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,12 +19,14 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_socket_summary_by_instance.h" #include "pfs_global.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_socket_summary_by_instance::m_table_lock; @@ -167,15 +169,15 @@ table_socket_summary_by_instance::m_share= { { C_STRING_WITH_LEN("socket_summary_by_instance") }, &pfs_readonly_acl, - &table_socket_summary_by_instance::create, + table_socket_summary_by_instance::create, NULL, /* write_row */ table_socket_summary_by_instance::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_socket_summary_by_instance::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_socket_summary_by_instance::create(void) @@ -194,6 +196,12 @@ int table_socket_summary_by_instance::delete_all_rows(void) return 0; } +ha_rows +table_socket_summary_by_instance::get_row_count(void) +{ + return global_socket_container.get_row_count(); +} + void table_socket_summary_by_instance::reset_position(void) { m_pos.m_index= 0; @@ -204,17 +212,14 @@ int table_socket_summary_by_instance::rnd_next(void) { PFS_socket *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < socket_max; - m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_socket_iterator it= global_socket_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &socket_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -225,19 +230,20 @@ int table_socket_summary_by_instance::rnd_pos(const void *pos) PFS_socket *pfs; set_position(pos); - DBUG_ASSERT(m_pos.m_index < socket_max); - pfs= &socket_array[m_pos.m_index]; - if (! pfs->m_lock.is_populated()) - return HA_ERR_RECORD_DELETED; + pfs= global_socket_container.get(m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + return 0; + } - make_row(pfs); - return 0; + return HA_ERR_RECORD_DELETED; } void table_socket_summary_by_instance::make_row(PFS_socket *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; PFS_socket_class *safe_class; m_row_exists= false; diff --git a/storage/perfschema/table_socket_summary_by_instance.h b/storage/perfschema/table_socket_summary_by_instance.h index f4c8ea41d8c..55802ec5fba 100644 --- a/storage/perfschema/table_socket_summary_by_instance.h +++ b/storage/perfschema/table_socket_summary_by_instance.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -56,6 +56,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_status_by_account.cc b/storage/perfschema/table_status_by_account.cc new file mode 100644 index 00000000000..482c7924888 --- /dev/null +++ b/storage/perfschema/table_status_by_account.cc @@ -0,0 +1,264 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_status_by_account.cc + Table STATUS_BY_ACCOUNT (implementation). +*/ + +#include "my_global.h" +#include "table_status_by_account.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "pfs_global.h" +#include "pfs_account.h" + +THR_LOCK table_status_by_account::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("USER") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("HOST") }, + { C_STRING_WITH_LEN("char(60)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_VALUE") }, + { C_STRING_WITH_LEN("varchar(1024)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_status_by_account::m_field_def= +{ 4, field_types }; + +PFS_engine_table_share +table_status_by_account::m_share= +{ + { C_STRING_WITH_LEN("status_by_account") }, + &pfs_truncatable_acl, + table_status_by_account::create, + NULL, /* write_row */ + table_status_by_account::delete_all_rows, + table_status_by_account::get_row_count, + sizeof(pos_t), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_status_by_account::create(void) +{ + return new table_status_by_account(); +} + +int table_status_by_account::delete_all_rows(void) +{ + mysql_mutex_lock(&LOCK_status); + reset_status_by_thread(); + reset_status_by_account(); + mysql_mutex_unlock(&LOCK_status); + return 0; +} + +ha_rows table_status_by_account::get_row_count(void) +{ + mysql_mutex_lock(&LOCK_status); + size_t status_var_count= all_status_vars.size(); + mysql_mutex_unlock(&LOCK_status); + return (global_account_container.get_row_count() * status_var_count); +} + +table_status_by_account::table_status_by_account() + : PFS_engine_table(&m_share, &m_pos), + m_status_cache(true), m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_status_by_account::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_status_by_account::rnd_init(bool scan) +{ + if (show_compatibility_56) + return 0; + + /* + Build array of SHOW_VARs from the global status array prior to materializing + threads in rnd_next() or rnd_pos(). + */ + m_status_cache.initialize_client_session(); + + /* Use the current number of status variables to detect changes. */ + ulonglong status_version= m_status_cache.get_status_array_version(); + + /* + The table context holds the current version of the global status array + and a record of which accounts were materialized. If scan == true, then + allocate a new context from mem_root and store in TLS. If scan == false, + then restore from TLS. + */ + m_context= (table_status_by_account_context *)current_thd->alloc(sizeof(table_status_by_account_context)); + new(m_context) table_status_by_account_context(status_version, !scan); + return 0; +} + +int table_status_by_account::rnd_next(void) +{ + if (show_compatibility_56) + return HA_ERR_END_OF_FILE; + + /* If status array changes, exit with warning. */ // TODO: Issue warning + if (!m_context->versions_match()) + return HA_ERR_END_OF_FILE; + + /* + For each account, build a cache of status variables using totals from all + threads associated with the account. + */ + bool has_more_account= true; + + for (m_pos.set_at(&m_next_pos); + has_more_account; + m_pos.next_account()) + { + PFS_account *pfs_account= global_account_container.get(m_pos.m_index_1, &has_more_account); + + if (m_status_cache.materialize_account(pfs_account) == 0) + { + /* Mark this account as materialized. */ + m_context->set_item(m_pos.m_index_1); + + /* Get the next status variable. */ + const Status_variable *stat_var= m_status_cache.get(m_pos.m_index_2); + if (stat_var != NULL) + { + make_row(pfs_account, stat_var); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + return HA_ERR_END_OF_FILE; +} + +int +table_status_by_account::rnd_pos(const void *pos) +{ + if (show_compatibility_56) + return HA_ERR_RECORD_DELETED; + + /* If status array changes, exit with warning. */ // TODO: Issue warning + if (!m_context->versions_match()) + return HA_ERR_END_OF_FILE; + + set_position(pos); + DBUG_ASSERT(m_pos.m_index_1 < global_account_container.get_row_count()); + + PFS_account *pfs_account= global_account_container.get(m_pos.m_index_1); + + /* + Only materialize threads that were previously materialized by rnd_next(). + If a account cannot be rematerialized, then do nothing. + */ + if (m_context->is_item_set(m_pos.m_index_1) && + m_status_cache.materialize_account(pfs_account) == 0) + { + const Status_variable *stat_var= m_status_cache.get(m_pos.m_index_2); + if (stat_var != NULL) + { + make_row(pfs_account, stat_var); + return 0; + } + } + return HA_ERR_RECORD_DELETED; +} + +void table_status_by_account +::make_row(PFS_account *pfs_account, const Status_variable *status_var) +{ + pfs_optimistic_state lock; + m_row_exists= false; + pfs_account->m_lock.begin_optimistic_lock(&lock); + + if (m_row.m_account.make_row(pfs_account)) + return; + + m_row.m_variable_name.make_row(status_var->m_name, status_var->m_name_length); + m_row.m_variable_value.make_row(status_var->m_value_str, status_var->m_value_length); + + if (!pfs_account->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; +} + +int table_status_by_account +::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* USER */ + case 1: /* HOST */ + m_row.m_account.set_field(f->field_index, f); + break; + case 2: /* VARIABLE_NAME */ + set_field_varchar_utf8(f, m_row.m_variable_name.m_str, m_row.m_variable_name.m_length); + break; + case 3: /* VARIABLE_VALUE */ + set_field_varchar_utf8(f, m_row.m_variable_value.m_str, m_row.m_variable_value.m_length); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_status_by_account.h b/storage/perfschema/table_status_by_account.h new file mode 100644 index 00000000000..d1f46487da8 --- /dev/null +++ b/storage/perfschema/table_status_by_account.h @@ -0,0 +1,149 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_STATUS_BY_ACCOUNT_H +#define TABLE_STATUS_BY_ACCOUNT_H + +/** + @file storage/perfschema/table_status_by_account.h + Table STATUS_BY_ACCOUNT (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_account.h" +#include "pfs_account.h" +#include "pfs_host.h" +#include "table_helper.h" +#include "pfs_variable.h" +#include "pfs_buffer_container.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.STATUS_BY_ACCOUNT. +*/ +struct row_status_by_account +{ + /** Column USER, HOST. */ + PFS_account_row m_account; + /** Column VARIABLE_NAME. */ + PFS_variable_name_row m_variable_name; + /** Column VARIABLE_VALUE. */ + PFS_variable_value_row m_variable_value; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.STATUS_BY_ACCOUNT. + Index 1 on account (0 based) + Index 2 on status variable (0 based) +*/ +struct pos_status_by_account +: public PFS_double_index +{ + pos_status_by_account() + : PFS_double_index(0, 0) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 0; + } + + inline bool has_more_account(void) + { return (m_index_1 < global_account_container.get_row_count()); } + + inline void next_account(void) + { + m_index_1++; + m_index_2= 0; + } +}; + +/** + Store and retrieve table state information for queries that reinstantiate + the table object. +*/ +class table_status_by_account_context : public PFS_table_context +{ +public: + table_status_by_account_context(ulonglong current_version, bool restore) : + PFS_table_context(current_version, global_account_container.get_row_count(), restore, THR_PFS_SBH) { } +}; + +/** Table PERFORMANCE_SCHEMA.STATUS_BY_ACCOUNT. */ +class table_status_by_account : public PFS_engine_table +{ + typedef pos_status_by_account pos_t; + +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + table_status_by_account(); + +public: + ~table_status_by_account() + {} + +protected: + int materialize(PFS_thread *pfs_thread); + void make_row(PFS_account *pfs_account, const Status_variable *status_var); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Status variable cache for one account. */ + PFS_status_variable_cache m_status_cache; + + /** Current row. */ + row_status_by_account m_row; + /** True if the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_t m_pos; + /** Next position. */ + pos_t m_next_pos; + + /** Table context with global status array version and map of materialized threads. */ + table_status_by_account_context *m_context; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_status_by_host.cc b/storage/perfschema/table_status_by_host.cc new file mode 100644 index 00000000000..34ee6f615cf --- /dev/null +++ b/storage/perfschema/table_status_by_host.cc @@ -0,0 +1,259 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_status_by_host.cc + Table STATUS_BY_HOST (implementation). +*/ + +#include "my_global.h" +#include "table_status_by_host.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "pfs_global.h" +#include "pfs_account.h" + +THR_LOCK table_status_by_host::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("HOST") }, + { C_STRING_WITH_LEN("char(60)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_VALUE") }, + { C_STRING_WITH_LEN("varchar(1024)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_status_by_host::m_field_def= +{ 3, field_types }; + +PFS_engine_table_share +table_status_by_host::m_share= +{ + { C_STRING_WITH_LEN("status_by_host") }, + &pfs_truncatable_acl, + table_status_by_host::create, + NULL, /* write_row */ + table_status_by_host::delete_all_rows, + table_status_by_host::get_row_count, + sizeof(pos_t), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_status_by_host::create(void) +{ + return new table_status_by_host(); +} + +int table_status_by_host::delete_all_rows(void) +{ + mysql_mutex_lock(&LOCK_status); + reset_status_by_thread(); + reset_status_by_account(); + reset_status_by_host(); + mysql_mutex_unlock(&LOCK_status); + return 0; +} + +ha_rows table_status_by_host::get_row_count(void) +{ + mysql_mutex_lock(&LOCK_status); + size_t status_var_count= all_status_vars.size(); + mysql_mutex_unlock(&LOCK_status); + return (global_host_container.get_row_count() * status_var_count); +} + +table_status_by_host::table_status_by_host() + : PFS_engine_table(&m_share, &m_pos), + m_status_cache(true), m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_status_by_host::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_status_by_host::rnd_init(bool scan) +{ + if (show_compatibility_56) + return 0; + + /* + Build array of SHOW_VARs from the global status array prior to materializing + threads in rnd_next() or rnd_pos(). + */ + m_status_cache.initialize_client_session(); + + /* Use the current number of status variables to detect changes. */ + ulonglong status_version= m_status_cache.get_status_array_version(); + + /* + The table context holds the current version of the global status array + and a record of which hosts were materialized. If scan == true, then + allocate a new context from mem_root and store in TLS. If scan == false, + then restore from TLS. + */ + m_context= (table_status_by_host_context *)current_thd->alloc(sizeof(table_status_by_host_context)); + new(m_context) table_status_by_host_context(status_version, !scan); + return 0; +} + +int table_status_by_host::rnd_next(void) +{ + if (show_compatibility_56) + return HA_ERR_END_OF_FILE; + + /* If status array changes, exit with warning. */ // TODO: Issue warning + if (!m_context->versions_match()) + return HA_ERR_END_OF_FILE; + + /* + For each user, build a cache of status variables using totals from all + threads associated with the host. + */ + bool has_more_host= true; + + for (m_pos.set_at(&m_next_pos); + has_more_host; + m_pos.next_host()) + { + PFS_host *pfs_host= global_host_container.get(m_pos.m_index_1, &has_more_host); + + if (m_status_cache.materialize_host(pfs_host) == 0) + { + /* Mark this host as materialized. */ + m_context->set_item(m_pos.m_index_1); + + /* Get the next status variable. */ + const Status_variable *stat_var= m_status_cache.get(m_pos.m_index_2); + if (stat_var != NULL) + { + make_row(pfs_host, stat_var); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + return HA_ERR_END_OF_FILE; +} + +int +table_status_by_host::rnd_pos(const void *pos) +{ + if (show_compatibility_56) + return 0; + + /* If status array changes, exit with warning. */ // TODO: Issue warning + if (!m_context->versions_match()) + return HA_ERR_END_OF_FILE; + + set_position(pos); + DBUG_ASSERT(m_pos.m_index_1 < global_host_container.get_row_count()); + + PFS_host *pfs_host= global_host_container.get(m_pos.m_index_1); + + /* + Only materialize threads that were previously materialized by rnd_next(). + If a host cannot be rematerialized, then do nothing. + */ + if (m_context->is_item_set(m_pos.m_index_1) && + m_status_cache.materialize_host(pfs_host) == 0) + { + const Status_variable *stat_var= m_status_cache.get(m_pos.m_index_2); + if (stat_var != NULL) + { + make_row(pfs_host, stat_var); + return 0; + } + } + return HA_ERR_RECORD_DELETED; +} + +void table_status_by_host +::make_row(PFS_host *pfs_host, const Status_variable *status_var) +{ + pfs_optimistic_state lock; + m_row_exists= false; + pfs_host->m_lock.begin_optimistic_lock(&lock); + + if (m_row.m_host.make_row(pfs_host)) + return; + + m_row.m_variable_name.make_row(status_var->m_name, status_var->m_name_length); + m_row.m_variable_value.make_row(status_var->m_value_str, status_var->m_value_length); + + if (!pfs_host->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; +} + +int table_status_by_host +::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* HOST */ + m_row.m_host.set_field(f); + break; + case 1: /* VARIABLE_NAME */ + set_field_varchar_utf8(f, m_row.m_variable_name.m_str, m_row.m_variable_name.m_length); + break; + case 2: /* VARIABLE_VALUE */ + set_field_varchar_utf8(f, m_row.m_variable_value.m_str, m_row.m_variable_value.m_length); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_status_by_host.h b/storage/perfschema/table_status_by_host.h new file mode 100644 index 00000000000..40639f05373 --- /dev/null +++ b/storage/perfschema/table_status_by_host.h @@ -0,0 +1,147 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_STATUS_BY_HOST_H +#define TABLE_STATUS_BY_HOST_H + +/** + @file storage/perfschema/table_status_by_host.h + Table STATUS_BY_HOST (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_host.h" +#include "table_helper.h" +#include "pfs_variable.h" +#include "pfs_buffer_container.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.STATUS_BY_HOST. +*/ +struct row_status_by_host +{ + /** Column HOST */ + PFS_host_row m_host; + /** Column VARIABLE_NAME. */ + PFS_variable_name_row m_variable_name; + /** Column VARIABLE_VALUE. */ + PFS_variable_value_row m_variable_value; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.STATUS_BY_HOST. + Index 1 on host (0 based) + Index 2 on status variable (0 based) +*/ +struct pos_status_by_host +: public PFS_double_index +{ + pos_status_by_host() + : PFS_double_index(0, 0) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 0; + } + + inline bool has_more_host(void) + { return (m_index_1 < global_host_container.get_row_count()); } + + inline void next_host(void) + { + m_index_1++; + m_index_2= 0; + } +}; + +/** + Store and retrieve table state information for queries that reinstantiate + the table object. +*/ +class table_status_by_host_context : public PFS_table_context +{ +public: + table_status_by_host_context(ulonglong current_version, bool restore) : + PFS_table_context(current_version, global_host_container.get_row_count(), restore, THR_PFS_SBH) { } +}; + +/** Table PERFORMANCE_SCHEMA.STATUS_BY_HOST. */ +class table_status_by_host : public PFS_engine_table +{ + typedef pos_status_by_host pos_t; + +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + table_status_by_host(); + +public: + ~table_status_by_host() + {} + +protected: + int materialize(PFS_thread *thread); + void make_row(PFS_host *pfs_host, const Status_variable *status_var); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Status variable cache for one host. */ + PFS_status_variable_cache m_status_cache; + + /** Current row. */ + row_status_by_host m_row; + /** True if the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_t m_pos; + /** Next position. */ + pos_t m_next_pos; + + /** Table context with global status array version and map of materialized threads. */ + table_status_by_host_context *m_context; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_status_by_thread.cc b/storage/perfschema/table_status_by_thread.cc new file mode 100644 index 00000000000..eb954bb8ea1 --- /dev/null +++ b/storage/perfschema/table_status_by_thread.cc @@ -0,0 +1,253 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_status_by_thread.cc + Table STATUS_BY_THREAD (implementation). +*/ + +#include "my_global.h" +#include "table_status_by_thread.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "pfs_global.h" + +THR_LOCK table_status_by_thread::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("THREAD_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_VALUE") }, + { C_STRING_WITH_LEN("varchar(1024)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_status_by_thread::m_field_def= +{ 3, field_types }; + +PFS_engine_table_share +table_status_by_thread::m_share= +{ + { C_STRING_WITH_LEN("status_by_thread") }, + &pfs_truncatable_acl, + table_status_by_thread::create, + NULL, /* write_row */ + table_status_by_thread::delete_all_rows, + table_status_by_thread::get_row_count, + sizeof(pos_t), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_status_by_thread::create(void) +{ + return new table_status_by_thread(); +} + +int table_status_by_thread::delete_all_rows(void) +{ + /* Lock required to aggregate to global_status_vars. */ + mysql_mutex_lock(&LOCK_status); + + reset_status_by_thread(); + + mysql_mutex_unlock(&LOCK_status); + return 0; +} + +ha_rows table_status_by_thread::get_row_count(void) +{ + mysql_mutex_lock(&LOCK_status); + size_t status_var_count= all_status_vars.size(); + mysql_mutex_unlock(&LOCK_status); + return (global_thread_container.get_row_count() * status_var_count); +} + +table_status_by_thread::table_status_by_thread() + : PFS_engine_table(&m_share, &m_pos), + m_status_cache(true), m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_status_by_thread::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_status_by_thread::rnd_init(bool scan) +{ + if (show_compatibility_56) + return 0; + + /* + Build array of SHOW_VARs from the global status array prior to materializing + threads in rnd_next() or rnd_pos(). + */ + m_status_cache.initialize_session(); + + /* Record the current number of status variables to detect subsequent changes. */ + ulonglong status_version= m_status_cache.get_status_array_version(); + + /* + The table context holds the current version of the global status array + and a record of which threads were materialized. If scan == true, then + allocate a new context from mem_root and store in TLS. If scan == false, + then restore from TLS. + */ + m_context= (table_status_by_thread_context *)current_thd->alloc(sizeof(table_status_by_thread_context)); + new(m_context) table_status_by_thread_context(status_version, !scan); + return 0; +} + +int table_status_by_thread::rnd_next(void) +{ + if (show_compatibility_56) + return HA_ERR_END_OF_FILE; + + /* If global status array changes, exit with warning. */ // TODO: Issue warning + if (!m_context->versions_match()) + return HA_ERR_END_OF_FILE; + + bool has_more_thread= true; + + for (m_pos.set_at(&m_next_pos); + has_more_thread; + m_pos.next_thread()) + { + PFS_thread *pfs_thread= global_thread_container.get(m_pos.m_index_1, &has_more_thread); + if (m_status_cache.materialize_session(pfs_thread) == 0) + { + /* Mark this thread as materialized. */ + m_context->set_item(m_pos.m_index_1); + const Status_variable *stat_var= m_status_cache.get(m_pos.m_index_2); + if (stat_var != NULL) + { + make_row(pfs_thread, stat_var); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + return HA_ERR_END_OF_FILE; +} + +int +table_status_by_thread::rnd_pos(const void *pos) +{ + if (show_compatibility_56) + return HA_ERR_RECORD_DELETED; + + /* If global status array has changed, do nothing. */ + if (!m_context->versions_match()) + return HA_ERR_RECORD_DELETED; + + set_position(pos); + DBUG_ASSERT(m_pos.m_index_1 < global_thread_container.get_row_count()); + + PFS_thread *pfs_thread= global_thread_container.get(m_pos.m_index_1); + /* + Only materialize threads that were previously materialized by rnd_next(). + If a thread cannot be rematerialized, then do nothing. + */ + if (m_context->is_item_set(m_pos.m_index_1) && + m_status_cache.materialize_session(pfs_thread) == 0) + { + const Status_variable *stat_var= m_status_cache.get(m_pos.m_index_2); + if (stat_var != NULL) + { + make_row(pfs_thread, stat_var); + return 0; + } + } + return HA_ERR_RECORD_DELETED; +} + +void table_status_by_thread +::make_row(PFS_thread *thread, const Status_variable *status_var) +{ + pfs_optimistic_state lock; + m_row_exists= false; + if (status_var->is_null()) + return; + + /* Protect this reader against a thread termination */ + thread->m_lock.begin_optimistic_lock(&lock); + + m_row.m_thread_internal_id= thread->m_thread_internal_id; + m_row.m_variable_name.make_row(status_var->m_name, status_var->m_name_length); + m_row.m_variable_value.make_row(status_var->m_value_str, status_var->m_value_length); + + if (!thread->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; +} + +int table_status_by_thread +::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* THREAD_ID */ + set_field_ulonglong(f, m_row.m_thread_internal_id); + break; + case 1: /* VARIABLE_NAME */ + set_field_varchar_utf8(f, m_row.m_variable_name.m_str, m_row.m_variable_name.m_length); + break; + case 2: /* VARIABLE_VALUE */ + set_field_varchar_utf8(f, m_row.m_variable_value.m_str, m_row.m_variable_value.m_length); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_status_by_thread.h b/storage/perfschema/table_status_by_thread.h new file mode 100644 index 00000000000..4c14e3bb101 --- /dev/null +++ b/storage/perfschema/table_status_by_thread.h @@ -0,0 +1,144 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_STATUS_BY_THREAD_H +#define TABLE_STATUS_BY_THREAD_H + +/** + @file storage/perfschema/table_status_by_thread.h + Table STATUS_BY_THREAD (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "table_helper.h" +#include "pfs_variable.h" +#include "pfs_buffer_container.h" +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.STATUS_BY_THREAD. +*/ +struct row_status_by_thread +{ + /** Column THREAD_ID. */ + ulonglong m_thread_internal_id; + /** Column VARIABLE_NAME. */ + PFS_variable_name_row m_variable_name; + /** Column VARIABLE_VALUE. */ + PFS_variable_value_row m_variable_value; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.STATUS_BY_THREAD. + Index 1 on thread (0 based) + Index 2 on status variable (0 based) +*/ +struct pos_status_by_thread +: public PFS_double_index +{ + pos_status_by_thread() + : PFS_double_index(0, 0) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 0; + } + + inline bool has_more_thread(void) + { return (m_index_1 < global_thread_container.get_row_count()); } + + inline void next_thread(void) + { + m_index_1++; + m_index_2= 0; + } +}; + +/** + Store and retrieve table state information for queries that reinstantiate + the table object. +*/ +class table_status_by_thread_context : public PFS_table_context +{ +public: + table_status_by_thread_context(ulonglong current_version, bool restore) : + PFS_table_context(current_version, global_thread_container.get_row_count(), restore, THR_PFS_SBT) { } +}; + +/** Table PERFORMANCE_SCHEMA.STATUS_BY_THREAD. */ +class table_status_by_thread : public PFS_engine_table +{ + typedef pos_status_by_thread pos_t; + +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + table_status_by_thread(); + +public: + ~table_status_by_thread() + {} + +protected: + int materialize(PFS_thread *thread); + void make_row(PFS_thread *thread, const Status_variable *status_var); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current THD variables. */ + PFS_status_variable_cache m_status_cache; + /** Current row. */ + row_status_by_thread m_row; + /** True if the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_t m_pos; + /** Next position. */ + pos_t m_next_pos; + + /** Table context with global status array version and map of materialized threads. */ + table_status_by_thread_context *m_context; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_status_by_user.cc b/storage/perfschema/table_status_by_user.cc new file mode 100644 index 00000000000..462534dafd9 --- /dev/null +++ b/storage/perfschema/table_status_by_user.cc @@ -0,0 +1,260 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_status_by_user.cc + Table STATUS_BY_USER (implementation). +*/ + +#include "my_global.h" +#include "table_status_by_user.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "pfs_global.h" +#include "pfs_account.h" +#include "pfs_visitor.h" + +THR_LOCK table_status_by_user::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("USER") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_VALUE") }, + { C_STRING_WITH_LEN("varchar(1024)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_status_by_user::m_field_def= +{ 3, field_types }; + +PFS_engine_table_share +table_status_by_user::m_share= +{ + { C_STRING_WITH_LEN("status_by_user") }, + &pfs_truncatable_acl, + table_status_by_user::create, + NULL, /* write_row */ + table_status_by_user::delete_all_rows, + table_status_by_user::get_row_count, + sizeof(pos_t), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_status_by_user::create(void) +{ + return new table_status_by_user(); +} + +int table_status_by_user::delete_all_rows(void) +{ + mysql_mutex_lock(&LOCK_status); + reset_status_by_thread(); + reset_status_by_account(); + reset_status_by_user(); + mysql_mutex_unlock(&LOCK_status); + return 0; +} + +ha_rows table_status_by_user::get_row_count(void) +{ + mysql_mutex_lock(&LOCK_status); + size_t status_var_count= all_status_vars.size(); + mysql_mutex_unlock(&LOCK_status); + return (global_user_container.get_row_count() * status_var_count); +} + +table_status_by_user::table_status_by_user() + : PFS_engine_table(&m_share, &m_pos), + m_status_cache(true), m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_status_by_user::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_status_by_user::rnd_init(bool scan) +{ + if (show_compatibility_56) + return 0; + + /* + Build array of SHOW_VARs from the global status array prior to materializing + threads in rnd_next() or rnd_pos(). + */ + m_status_cache.initialize_client_session(); + + /* Use the current number of status variables to detect changes. */ + ulonglong status_version= m_status_cache.get_status_array_version(); + + /* + The table context holds the current version of the global status array + and a record of which users were materialized. If scan == true, then + allocate a new context from mem_root and store in TLS. If scan == false, + then restore from TLS. + */ + m_context= (table_status_by_user_context *)current_thd->alloc(sizeof(table_status_by_user_context)); + new(m_context) table_status_by_user_context(status_version, !scan); + return 0; +} + +int table_status_by_user::rnd_next(void) +{ + if (show_compatibility_56) + return HA_ERR_END_OF_FILE; + + /* If status array changes, exit with warning. */ // TODO: Issue warning + if (!m_context->versions_match()) + return HA_ERR_END_OF_FILE; + + /* + For each user, build a cache of status variables using totals from all + threads associated with the user. + */ + bool has_more_user= true; + + for (m_pos.set_at(&m_next_pos); + has_more_user; + m_pos.next_user()) + { + PFS_user *pfs_user= global_user_container.get(m_pos.m_index_1, &has_more_user); + + if (m_status_cache.materialize_user(pfs_user) == 0) + { + /* Mark this user as materialized. */ + m_context->set_item(m_pos.m_index_1); + + /* Get the next status variable. */ + const Status_variable *stat_var= m_status_cache.get(m_pos.m_index_2); + if (stat_var != NULL) + { + make_row(pfs_user, stat_var); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + return HA_ERR_END_OF_FILE; +} + +int +table_status_by_user::rnd_pos(const void *pos) +{ + if (show_compatibility_56) + return HA_ERR_RECORD_DELETED; + + /* If status array changes, exit with warning. */ // TODO: Issue warning + if (!m_context->versions_match()) + return HA_ERR_END_OF_FILE; + + set_position(pos); + DBUG_ASSERT(m_pos.m_index_1 < global_user_container.get_row_count()); + + PFS_user *pfs_user= global_user_container.get(m_pos.m_index_1); + + /* + Only materialize threads that were previously materialized by rnd_next(). + If a user cannot be rematerialized, then do nothing. + */ + if (m_context->is_item_set(m_pos.m_index_1) && + m_status_cache.materialize_user(pfs_user) == 0) + { + const Status_variable *stat_var= m_status_cache.get(m_pos.m_index_2); + if (stat_var != NULL) + { + make_row(pfs_user, stat_var); + return 0; + } + } + return HA_ERR_RECORD_DELETED; +} + +void table_status_by_user +::make_row(PFS_user *user, const Status_variable *status_var) +{ + pfs_optimistic_state lock; + m_row_exists= false; + user->m_lock.begin_optimistic_lock(&lock); + + if (m_row.m_user.make_row(user)) + return; + + m_row.m_variable_name.make_row(status_var->m_name, status_var->m_name_length); + m_row.m_variable_value.make_row(status_var->m_value_str, status_var->m_value_length); + + if (!user->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; +} + +int table_status_by_user +::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* USER */ + m_row.m_user.set_field(f); + break; + case 1: /* VARIABLE_NAME */ + set_field_varchar_utf8(f, m_row.m_variable_name.m_str, m_row.m_variable_name.m_length); + break; + case 2: /* VARIABLE_VALUE */ + set_field_varchar_utf8(f, m_row.m_variable_value.m_str, m_row.m_variable_value.m_length); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_status_by_user.h b/storage/perfschema/table_status_by_user.h new file mode 100644 index 00000000000..ec96a348c40 --- /dev/null +++ b/storage/perfschema/table_status_by_user.h @@ -0,0 +1,146 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_STATUS_BY_USER_H +#define TABLE_STATUS_BY_USER_H + +/** + @file storage/perfschema/table_status_by_user.h + Table STATUS_BY_USER (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "pfs_user.h" +#include "table_helper.h" +#include "pfs_variable.h" +#include "pfs_buffer_container.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.STATUS_BY_USER. +*/ +struct row_status_by_user +{ + /** Column USER */ + PFS_user_row m_user; + /** Column VARIABLE_NAME. */ + PFS_variable_name_row m_variable_name; + /** Column VARIABLE_VALUE. */ + PFS_variable_value_row m_variable_value; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.STATUS_BY_USER. + Index 1 on user (0 based) + Index 2 on status variable (0 based) +*/ +struct pos_status_by_user +: public PFS_double_index +{ + pos_status_by_user() + : PFS_double_index(0, 0) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 0; + } + + inline bool has_more_user(void) + { return (m_index_1 < global_user_container.get_row_count()); } + + inline void next_user(void) + { + m_index_1++; + m_index_2= 0; + } +}; + +/** + Store and retrieve table state information for queries that reinstantiate + the table object. +*/ +class table_status_by_user_context : public PFS_table_context +{ +public: + table_status_by_user_context(ulonglong current_version, bool restore) : + PFS_table_context(current_version, global_user_container.get_row_count(), restore, THR_PFS_SBU) { } +}; + +/** Table PERFORMANCE_SCHEMA.STATUS_BY_USER. */ +class table_status_by_user : public PFS_engine_table +{ + typedef pos_status_by_user pos_t; + +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static int delete_all_rows(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + table_status_by_user(); + +public: + ~table_status_by_user() { } + +protected: + int materialize(PFS_thread *thread); + void make_row(PFS_user *user, const Status_variable *status_var); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Status variable cache for one user. */ + PFS_status_variable_cache m_status_cache; + + /** Current row. */ + row_status_by_user m_row; + /** True if the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_t m_pos; + /** Next position. */ + pos_t m_next_pos; + + /** Table context with global status array version and map of materialized threads. */ + table_status_by_user_context *m_context; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_sync_instances.cc b/storage/perfschema/table_sync_instances.cc index 4d7c48efdc1..8879712766c 100644 --- a/storage/perfschema/table_sync_instances.cc +++ b/storage/perfschema/table_sync_instances.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,12 +20,14 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_sync_instances.h" #include "pfs_global.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_mutex_instances::m_table_lock; @@ -57,15 +59,15 @@ table_mutex_instances::m_share= { { C_STRING_WITH_LEN("mutex_instances") }, &pfs_readonly_acl, - &table_mutex_instances::create, + table_mutex_instances::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - 1000, /* records */ + table_mutex_instances::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_mutex_instances::create(void) @@ -73,6 +75,12 @@ PFS_engine_table* table_mutex_instances::create(void) return new table_mutex_instances(); } +ha_rows +table_mutex_instances::get_row_count(void) +{ + return global_mutex_container.get_row_count(); +} + table_mutex_instances::table_mutex_instances() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(0), m_next_pos(0) @@ -88,15 +96,14 @@ int table_mutex_instances::rnd_next(void) { PFS_mutex *pfs; - for (m_pos.set_at(&m_next_pos); m_pos.m_index < mutex_max; m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_mutex_iterator it= global_mutex_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &mutex_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -107,9 +114,9 @@ int table_mutex_instances::rnd_pos(const void *pos) PFS_mutex *pfs; set_position(pos); - DBUG_ASSERT(m_pos.m_index < mutex_max); - pfs= &mutex_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) + + pfs= global_mutex_container.get(m_pos.m_index); + if (pfs != NULL) { make_row(pfs); return 0; @@ -120,7 +127,7 @@ int table_mutex_instances::rnd_pos(const void *pos) void table_mutex_instances::make_row(PFS_mutex *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; PFS_mutex_class *safe_class; m_row_exists= false; @@ -226,15 +233,15 @@ table_rwlock_instances::m_share= { { C_STRING_WITH_LEN("rwlock_instances") }, &pfs_readonly_acl, - &table_rwlock_instances::create, + table_rwlock_instances::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - 1000, /* records */ + table_rwlock_instances::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_rwlock_instances::create(void) @@ -242,6 +249,12 @@ PFS_engine_table* table_rwlock_instances::create(void) return new table_rwlock_instances(); } +ha_rows +table_rwlock_instances::get_row_count(void) +{ + return global_rwlock_container.get_row_count(); +} + table_rwlock_instances::table_rwlock_instances() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(0), m_next_pos(0) @@ -257,15 +270,14 @@ int table_rwlock_instances::rnd_next(void) { PFS_rwlock *pfs; - for (m_pos.set_at(&m_next_pos); m_pos.m_index < rwlock_max; m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_rwlock_iterator it= global_rwlock_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &rwlock_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -276,9 +288,9 @@ int table_rwlock_instances::rnd_pos(const void *pos) PFS_rwlock *pfs; set_position(pos); - DBUG_ASSERT(m_pos.m_index < rwlock_max); - pfs= &rwlock_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) + + pfs= global_rwlock_container.get(m_pos.m_index); + if (pfs != NULL) { make_row(pfs); return 0; @@ -289,7 +301,7 @@ int table_rwlock_instances::rnd_pos(const void *pos) void table_rwlock_instances::make_row(PFS_rwlock *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; PFS_rwlock_class *safe_class; m_row_exists= false; @@ -392,15 +404,15 @@ table_cond_instances::m_share= { { C_STRING_WITH_LEN("cond_instances") }, &pfs_readonly_acl, - &table_cond_instances::create, + table_cond_instances::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - 1000, /* records */ + table_cond_instances::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_cond_instances::create(void) @@ -408,6 +420,12 @@ PFS_engine_table* table_cond_instances::create(void) return new table_cond_instances(); } +ha_rows +table_cond_instances::get_row_count(void) +{ + return global_cond_container.get_row_count(); +} + table_cond_instances::table_cond_instances() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(0), m_next_pos(0) @@ -423,15 +441,14 @@ int table_cond_instances::rnd_next(void) { PFS_cond *pfs; - for (m_pos.set_at(&m_next_pos); m_pos.m_index < cond_max; m_pos.next()) + m_pos.set_at(&m_next_pos); + PFS_cond_iterator it= global_cond_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - pfs= &cond_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) - { - make_row(pfs); - m_next_pos.set_after(&m_pos); - return 0; - } + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; } return HA_ERR_END_OF_FILE; @@ -442,9 +459,9 @@ int table_cond_instances::rnd_pos(const void *pos) PFS_cond *pfs; set_position(pos); - DBUG_ASSERT(m_pos.m_index < cond_max); - pfs= &cond_array[m_pos.m_index]; - if (pfs->m_lock.is_populated()) + + pfs= global_cond_container.get(m_pos.m_index); + if (pfs != NULL) { make_row(pfs); return 0; @@ -455,7 +472,7 @@ int table_cond_instances::rnd_pos(const void *pos) void table_cond_instances::make_row(PFS_cond *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; PFS_cond_class *safe_class; m_row_exists= false; diff --git a/storage/perfschema/table_sync_instances.h b/storage/perfschema/table_sync_instances.h index ff7b2765a11..527fd55262f 100644 --- a/storage/perfschema/table_sync_instances.h +++ b/storage/perfschema/table_sync_instances.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -55,6 +55,7 @@ public: /** Table share. */ static PFS_engine_table_share m_share; static PFS_engine_table* create(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); @@ -114,6 +115,7 @@ public: /** Table share */ static PFS_engine_table_share m_share; static PFS_engine_table* create(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); @@ -167,6 +169,7 @@ public: /** Table share. */ static PFS_engine_table_share m_share; static PFS_engine_table* create(); + static ha_rows get_row_count(); virtual int rnd_next(); virtual int rnd_pos(const void *pos); diff --git a/storage/perfschema/table_table_handles.cc b/storage/perfschema/table_table_handles.cc new file mode 100644 index 00000000000..ba8e400d55f --- /dev/null +++ b/storage/perfschema/table_table_handles.cc @@ -0,0 +1,248 @@ +/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +/** + @file storage/perfschema/table_table_handles.cc + Table TABLE_TABLE_HANDLES (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_table_handles.h" +#include "pfs_global.h" +#include "pfs_stat.h" +#include "pfs_buffer_container.h" +#include "field.h" + +THR_LOCK table_table_handles::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("OBJECT_TYPE") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OBJECT_SCHEMA") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OBJECT_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OBJECT_INSTANCE_BEGIN") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OWNER_THREAD_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("OWNER_EVENT_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("INTERNAL_LOCK") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("EXTERNAL_LOCK") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_table_handles::m_field_def= +{ 8, field_types }; + +PFS_engine_table_share +table_table_handles::m_share= +{ + { C_STRING_WITH_LEN("table_handles") }, + &pfs_readonly_acl, + table_table_handles::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_table_handles::get_row_count, + sizeof(PFS_simple_index), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_table_handles::create(void) +{ + return new table_table_handles(); +} + +ha_rows +table_table_handles::get_row_count(void) +{ + return global_table_container.get_row_count(); +} + +table_table_handles::table_table_handles() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(0), m_next_pos(0) +{} + +void table_table_handles::reset_position(void) +{ + m_pos.m_index= 0; + m_next_pos.m_index= 0; +} + +int table_table_handles::rnd_init(bool scan) +{ + return 0; +} + +int table_table_handles::rnd_next(void) +{ + PFS_table *pfs; + + m_pos.set_at(&m_next_pos); + PFS_table_iterator it= global_table_container.iterate(m_pos.m_index); + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; + } + + return HA_ERR_END_OF_FILE; +} + +int +table_table_handles::rnd_pos(const void *pos) +{ + PFS_table *pfs; + + set_position(pos); + + pfs= global_table_container.get(m_pos.m_index); + if (pfs != NULL) + { + make_row(pfs); + return 0; + } + + return HA_ERR_RECORD_DELETED; +} + +void table_table_handles::make_row(PFS_table *table) +{ + pfs_optimistic_state lock; + PFS_table_share *share; + PFS_thread *thread; + + m_row_exists= false; + + table->m_lock.begin_optimistic_lock(&lock); + + share= sanitize_table_share(table->m_share); + if (share == NULL) + return; + + if (m_row.m_object.make_row(share)) + return; + + m_row.m_identity= table->m_identity; + + thread= sanitize_thread(table->m_thread_owner); + if (thread != NULL) + { + m_row.m_owner_thread_id= thread->m_thread_internal_id; + m_row.m_owner_event_id= table->m_owner_event_id; + } + else + { + m_row.m_owner_thread_id= 0; + m_row.m_owner_event_id= 0; + } + + m_row.m_internal_lock= table->m_internal_lock; + m_row.m_external_lock= table->m_external_lock; + + if (! table->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; +} + +int table_table_handles::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* OBJECT_TYPE */ + case 1: /* SCHEMA_NAME */ + case 2: /* OBJECT_NAME */ + m_row.m_object.set_field(f->field_index, f); + break; + case 3: /* OBJECT_INSTANCE_BEGIN */ + set_field_ulonglong(f, (intptr) m_row.m_identity); + break; + case 4: /* OWNER_THREAD_ID */ + set_field_ulonglong(f, m_row.m_owner_thread_id); + break; + case 5: /* OWNER_EVENT_ID */ + set_field_ulonglong(f, m_row.m_owner_event_id); + break; + case 6: /* INTERNAL_LOCK */ + set_field_lock_type(f, m_row.m_internal_lock); + break; + case 7: /* EXTERNAL_LOCK */ + set_field_lock_type(f, m_row.m_external_lock); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_table_handles.h b/storage/perfschema/table_table_handles.h new file mode 100644 index 00000000000..11002df63fa --- /dev/null +++ b/storage/perfschema/table_table_handles.h @@ -0,0 +1,101 @@ +/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef TABLE_TABLE_HANDLES_H +#define TABLE_TABLE_HANDLES_H + +/** + @file storage/perfschema/table_table_handles.h + Table TABLE_HANDLES (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.TABLE_HANDLES. +*/ +struct row_table_handles +{ + /** Column OBJECT_TYPE, SCHEMA_NAME, OBJECT_NAME. */ + PFS_object_row m_object; + /** Column OBJECT_INSTANCE_BEGIN. */ + const void *m_identity; + /** Column OWNER_THREAD_ID. */ + ulonglong m_owner_thread_id; + /** Column OWNER_EVENT_ID. */ + ulonglong m_owner_event_id; + /** Column INTERNAL_LOCK. */ + PFS_TL_LOCK_TYPE m_internal_lock; + /** Column EXTERNAL_LOCK. */ + PFS_TL_LOCK_TYPE m_external_lock; +}; + +/** Table PERFORMANCE_SCHEMA.TABLE_HANDLES. */ +class table_table_handles : public PFS_engine_table +{ +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_table_handles(); + +public: + ~table_table_handles() + {} + +protected: + void make_row(PFS_table *table); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current row. */ + row_table_handles m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + PFS_simple_index m_pos; + /** Next position. */ + PFS_simple_index m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_threads.cc b/storage/perfschema/table_threads.cc index 0774858ca92..22335f7e8eb 100644 --- a/storage/perfschema/table_threads.cc +++ b/storage/perfschema/table_threads.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,7 +14,7 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_threads.h" #include "sql_parse.h" #include "pfs_instr_class.h" @@ -46,7 +46,7 @@ static const TABLE_FIELD_TYPE field_types[]= }, { { C_STRING_WITH_LEN("PROCESSLIST_USER") }, - { C_STRING_WITH_LEN("varchar(16)") }, + { C_STRING_WITH_LEN("varchar(" USERNAME_CHAR_LENGTH_STR ")") }, { NULL, 0} }, { @@ -93,27 +93,42 @@ static const TABLE_FIELD_TYPE field_types[]= { C_STRING_WITH_LEN("INSTRUMENTED") }, { C_STRING_WITH_LEN("enum(\'YES\',\'NO\')") }, { NULL, 0} - } + }, + { + { C_STRING_WITH_LEN("HISTORY") }, + { C_STRING_WITH_LEN("enum(\'YES\',\'NO\')") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("CONNECTION_TYPE") }, + { C_STRING_WITH_LEN("varchar(16)") }, + { NULL, 0 } + }, + { + { C_STRING_WITH_LEN("THREAD_OS_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, }; TABLE_FIELD_DEF table_threads::m_field_def= -{ 14, field_types }; +{ 17, field_types }; PFS_engine_table_share table_threads::m_share= { { C_STRING_WITH_LEN("threads") }, &pfs_updatable_acl, - &table_threads::create, + table_threads::create, NULL, /* write_row */ NULL, /* delete_all_rows */ - NULL, /* get_row_count */ - 1000, /* records */ + cursor_by_thread::get_row_count, sizeof(PFS_simple_index), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_threads::create() @@ -128,9 +143,9 @@ table_threads::table_threads() void table_threads::make_row(PFS_thread *pfs) { - pfs_lock lock; - pfs_lock session_lock; - pfs_lock stmt_lock; + pfs_optimistic_state lock; + pfs_optimistic_state session_lock; + pfs_optimistic_state stmt_lock; PFS_stage_class *stage_class; PFS_thread_class *safe_class; @@ -146,6 +161,7 @@ void table_threads::make_row(PFS_thread *pfs) m_row.m_thread_internal_id= pfs->m_thread_internal_id; m_row.m_parent_thread_internal_id= pfs->m_parent_thread_internal_id; m_row.m_processlist_id= pfs->m_processlist_id; + m_row.m_thread_os_id= pfs->m_thread_os_id; m_row.m_name= safe_class->m_name; m_row.m_name_length= safe_class->m_name_length; @@ -223,8 +239,12 @@ void table_threads::make_row(PFS_thread *pfs) { m_row.m_processlist_state_length= 0; } + m_row.m_connection_type = pfs->m_connection_type; - m_row.m_enabled_ptr= &pfs->m_enabled; + + m_row.m_enabled= pfs->m_enabled; + m_row.m_history= pfs->m_history; + m_row.m_psi= pfs; if (pfs->m_lock.end_optimistic_lock(& lock)) m_row_exists= true; @@ -236,6 +256,8 @@ int table_threads::read_row_values(TABLE *table, bool read_all) { Field *f; + const char *str= NULL; + int len= 0; if (unlikely(! m_row_exists)) return HA_ERR_RECORD_DELETED; @@ -308,23 +330,16 @@ int table_threads::read_row_values(TABLE *table, f->set_null(); break; case 9: /* PROCESSLIST_STATE */ + /* This column's datatype is declared as varchar(64). Thread's state + message cannot be more than 64 characters. Otherwise, we will end up + in 'data truncated' warning/error (depends sql_mode setting) when + server is updating this column for those threads. To prevent this + kind of issue, an assert is added. + */ + DBUG_ASSERT(m_row.m_processlist_state_length <= f->char_length()); if (m_row.m_processlist_state_length > 0) - { - /* This column's datatype is declared as varchar(64). But in current - code, there are few process state messages which are greater than - 64 characters(Eg:stage_slave_has_read_all_relay_log). - In those cases, we will end up in 'data truncated' - warning/error (depends sql_mode setting) when server is updating - this column for those threads. Since 5.6 is GAed, neither the - metadata of this column can be changed, nor those state messages. - So server will silently truncate the state message to 64 characters - if it is longer. In Upper versions(5.7+), these state messages are - changed to less than or equal to 64 characters. - */ set_field_varchar_utf8(f, m_row.m_processlist_state_ptr, - std::min<uint>(m_row.m_processlist_state_length, - f->char_length())); - } + m_row.m_processlist_state_length); else f->set_null(); break; @@ -345,7 +360,23 @@ int table_threads::read_row_values(TABLE *table, f->set_null(); break; case 13: /* INSTRUMENTED */ - set_field_enum(f, (*m_row.m_enabled_ptr) ? ENUM_YES : ENUM_NO); + set_field_enum(f, m_row.m_enabled ? ENUM_YES : ENUM_NO); + break; + case 14: /* HISTORY */ + set_field_enum(f, m_row.m_history ? ENUM_YES : ENUM_NO); + break; + case 15: /* CONNECTION_TYPE */ + get_vio_type_name(m_row.m_connection_type, & str, & len); + if (len > 0) + set_field_varchar_utf8(f, str, len); + else + f->set_null(); + break; + case 16: /* THREAD_OS_ID */ + if (m_row.m_thread_os_id > 0) + set_field_ulonglong(f, m_row.m_thread_os_id); + else + f->set_null(); break; default: DBUG_ASSERT(false); @@ -385,8 +416,15 @@ int table_threads::update_row_values(TABLE *table, return HA_ERR_WRONG_COMMAND; case 13: /* INSTRUMENTED */ value= (enum_yes_no) get_field_enum(f); - *m_row.m_enabled_ptr= (value == ENUM_YES) ? true : false; + m_row.m_psi->set_enabled((value == ENUM_YES) ? true : false); break; + case 14: /* HISTORY */ + value= (enum_yes_no) get_field_enum(f); + m_row.m_psi->set_history((value == ENUM_YES) ? true : false); + break; + case 15: /* CONNECTION_TYPE */ + case 16: /* THREAD_OS_ID */ + return HA_ERR_WRONG_COMMAND; default: DBUG_ASSERT(false); } diff --git a/storage/perfschema/table_threads.h b/storage/perfschema/table_threads.h index bce45c0cbce..50e2fc8842e 100644 --- a/storage/perfschema/table_threads.h +++ b/storage/perfschema/table_threads.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -63,10 +63,18 @@ struct row_threads const char* m_processlist_info_ptr; /** Length in bytes of @c m_processlist_info_ptr. */ uint m_processlist_info_length; - /** Column INSTRUMENTED. */ - bool *m_enabled_ptr; + /** Column INSTRUMENTED (read). */ + bool m_enabled; + /** Column HISTORY (read). */ + bool m_history; + /** INSTRUMENTED and HISTORY (write). */ + PFS_thread *m_psi; /** Column PARENT_THREAD_ID. */ ulonglong m_parent_thread_internal_id; + /** Column CONNECTION_TYPE. */ + enum_vio_type m_connection_type; + /** Column THREAD_OS_ID. */ + my_thread_os_id_t m_thread_os_id; }; /** Table PERFORMANCE_SCHEMA.THREADS. */ diff --git a/storage/perfschema/table_tiws_by_index_usage.cc b/storage/perfschema/table_tiws_by_index_usage.cc index 71455793516..2ab235208b1 100644 --- a/storage/perfschema/table_tiws_by_index_usage.cc +++ b/storage/perfschema/table_tiws_by_index_usage.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,13 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_tiws_by_index_usage.h" #include "pfs_global.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_tiws_by_index_usage::m_table_lock; @@ -240,12 +242,12 @@ table_tiws_by_index_usage::m_share= table_tiws_by_index_usage::create, NULL, /* write_row */ table_tiws_by_index_usage::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_tiws_by_index_usage::get_row_count, sizeof(pos_tiws_by_index_usage), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -262,6 +264,12 @@ table_tiws_by_index_usage::delete_all_rows(void) return 0; } +ha_rows +table_tiws_by_index_usage::get_row_count(void) +{ + return global_table_share_index_container.get_row_count(); +} + table_tiws_by_index_usage::table_tiws_by_index_usage() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(), m_next_pos() @@ -282,27 +290,31 @@ int table_tiws_by_index_usage::rnd_init(bool scan) int table_tiws_by_index_usage::rnd_next(void) { PFS_table_share *table_share; + bool has_more_table= true; for (m_pos.set_at(&m_next_pos); - m_pos.has_more_table(); + has_more_table; m_pos.next_table()) { - table_share= &table_share_array[m_pos.m_index_1]; - if (table_share->m_lock.is_populated()) + table_share= global_table_share_container.get(m_pos.m_index_1, & has_more_table); + if (table_share != NULL) { - uint safe_key_count= sanitize_index_count(table_share->m_key_count); - if (m_pos.m_index_2 < safe_key_count) + if (table_share->m_enabled) { - make_row(table_share, m_pos.m_index_2); - m_next_pos.set_after(&m_pos); - return 0; - } - if (m_pos.m_index_2 <= MAX_INDEXES) - { - m_pos.m_index_2= MAX_INDEXES; - make_row(table_share, m_pos.m_index_2); - m_next_pos.set_after(&m_pos); - return 0; + uint safe_key_count= sanitize_index_count(table_share->m_key_count); + if (m_pos.m_index_2 < safe_key_count) + { + make_row(table_share, m_pos.m_index_2); + m_next_pos.set_after(&m_pos); + return 0; + } + if (m_pos.m_index_2 <= MAX_INDEXES) + { + m_pos.m_index_2= MAX_INDEXES; + make_row(table_share, m_pos.m_index_2); + m_next_pos.set_after(&m_pos); + return 0; + } } } } @@ -317,40 +329,58 @@ table_tiws_by_index_usage::rnd_pos(const void *pos) set_position(pos); - table_share= &table_share_array[m_pos.m_index_1]; - if (table_share->m_lock.is_populated()) + table_share= global_table_share_container.get(m_pos.m_index_1); + if (table_share != NULL) { - uint safe_key_count= sanitize_index_count(table_share->m_key_count); - if (m_pos.m_index_2 < safe_key_count) - { - make_row(table_share, m_pos.m_index_2); - return 0; - } - if (m_pos.m_index_2 == MAX_INDEXES) + if (table_share->m_enabled) { - make_row(table_share, m_pos.m_index_2); - return 0; + uint safe_key_count= sanitize_index_count(table_share->m_key_count); + if (m_pos.m_index_2 < safe_key_count) + { + make_row(table_share, m_pos.m_index_2); + return 0; + } + if (m_pos.m_index_2 == MAX_INDEXES) + { + make_row(table_share, m_pos.m_index_2); + return 0; + } } } return HA_ERR_RECORD_DELETED; } -void table_tiws_by_index_usage::make_row(PFS_table_share *share, uint index) +void table_tiws_by_index_usage::make_row(PFS_table_share *pfs_share, + uint index) { - pfs_lock lock; + PFS_table_share_index *pfs_index; + pfs_optimistic_state lock; - m_row_exists= false; + DBUG_ASSERT(index <= MAX_INDEXES); - share->m_lock.begin_optimistic_lock(&lock); + m_row_exists= false; - if (m_row.m_index.make_row(share, index)) - return; + pfs_share->m_lock.begin_optimistic_lock(&lock); PFS_index_io_stat_visitor visitor; - PFS_object_iterator::visit_table_indexes(share, index, & visitor); + PFS_object_iterator::visit_table_indexes(pfs_share, index, & visitor); + + if (! visitor.m_stat.m_has_data) + { + pfs_index= pfs_share->find_index_stat(index); + if (pfs_index == NULL) + return; + } + else + { + pfs_index= pfs_share->find_index_stat(index); + } + + if (m_row.m_index.make_row(pfs_share, pfs_index, index)) + return; - if (! share->m_lock.end_optimistic_lock(&lock)) + if (! pfs_share->m_lock.end_optimistic_lock(&lock)) return; m_row_exists= true; diff --git a/storage/perfschema/table_tiws_by_index_usage.h b/storage/perfschema/table_tiws_by_index_usage.h index b5f589d0cea..5d1b8bc9d65 100644 --- a/storage/perfschema/table_tiws_by_index_usage.h +++ b/storage/perfschema/table_tiws_by_index_usage.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,7 +47,7 @@ struct row_tiws_by_index_usage /** Position of a cursor on PERFORMANCE_SCHEMA.TABLE_IO_WAIT_SUMMARY_BY_INDEX. - Index 1 on table_share_array (0 based) + Index 1 on global_table_share_container (0 based) Index 2 on index (0 based) */ struct pos_tiws_by_index_usage : public PFS_double_index @@ -62,11 +62,6 @@ struct pos_tiws_by_index_usage : public PFS_double_index m_index_2= 0; } - inline bool has_more_table(void) - { - return (m_index_1 < table_share_max); - } - inline void next_table(void) { m_index_1++; @@ -82,6 +77,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_tiws_by_table.cc b/storage/perfschema/table_tiws_by_table.cc index ab6ad3f5e3f..59905b3e540 100644 --- a/storage/perfschema/table_tiws_by_table.cc +++ b/storage/perfschema/table_tiws_by_table.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,13 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_tiws_by_table.h" #include "pfs_global.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_tiws_by_table::m_table_lock; @@ -235,12 +237,12 @@ table_tiws_by_table::m_share= table_tiws_by_table::create, NULL, /* write_row */ table_tiws_by_table::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_tiws_by_table::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -257,6 +259,12 @@ table_tiws_by_table::delete_all_rows(void) return 0; } +ha_rows +table_tiws_by_table::get_row_count(void) +{ + return global_table_share_container.get_row_count(); +} + table_tiws_by_table::table_tiws_by_table() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(0), m_next_pos(0) @@ -276,20 +284,23 @@ int table_tiws_by_table::rnd_init(bool scan) int table_tiws_by_table::rnd_next(void) { - PFS_table_share *table_share; + PFS_table_share *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < table_share_max; - m_pos.m_index++) + m_pos.set_at(&m_next_pos); + PFS_table_share_iterator it= global_table_share_container.iterate(m_pos.m_index); + do { - table_share= &table_share_array[m_pos.m_index]; - if (table_share->m_lock.is_populated()) + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - make_row(table_share); - m_next_pos.set_after(&m_pos); - return 0; + if (pfs->m_enabled) + { + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; + } } - } + } while (pfs != NULL); return HA_ERR_END_OF_FILE; } @@ -297,15 +308,18 @@ int table_tiws_by_table::rnd_next(void) int table_tiws_by_table::rnd_pos(const void *pos) { - PFS_table_share *table_share; + PFS_table_share *pfs; set_position(pos); - table_share= &table_share_array[m_pos.m_index]; - if (table_share->m_lock.is_populated()) + pfs= global_table_share_container.get(m_pos.m_index); + if (pfs != NULL) { - make_row(table_share); - return 0; + if (pfs->m_enabled) + { + make_row(pfs); + return 0; + } } return HA_ERR_RECORD_DELETED; @@ -313,7 +327,7 @@ table_tiws_by_table::rnd_pos(const void *pos) void table_tiws_by_table::make_row(PFS_table_share *share) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; diff --git a/storage/perfschema/table_tiws_by_table.h b/storage/perfschema/table_tiws_by_table.h index ea52b5297d7..0951f7c1a1b 100644 --- a/storage/perfschema/table_tiws_by_table.h +++ b/storage/perfschema/table_tiws_by_table.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,6 +52,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_tlws_by_table.cc b/storage/perfschema/table_tlws_by_table.cc index 7d33b42648e..8cd85e45f43 100644 --- a/storage/perfschema/table_tlws_by_table.cc +++ b/storage/perfschema/table_tlws_by_table.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,13 +19,15 @@ */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "pfs_instr_class.h" #include "pfs_column_types.h" #include "pfs_column_values.h" #include "table_tlws_by_table.h" #include "pfs_global.h" #include "pfs_visitor.h" +#include "pfs_buffer_container.h" +#include "field.h" THR_LOCK table_tlws_by_table::m_table_lock; @@ -297,31 +299,6 @@ static const TABLE_FIELD_TYPE field_types[]= { NULL, 0} }, { - { C_STRING_WITH_LEN("COUNT_WRITE_DELAYED") }, - { C_STRING_WITH_LEN("bigint(20)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("SUM_TIMER_WRITE_DELAYED") }, - { C_STRING_WITH_LEN("bigint(20)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("MIN_TIMER_WRITE_DELAYED") }, - { C_STRING_WITH_LEN("bigint(20)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("AVG_TIMER_WRITE_DELAYED") }, - { C_STRING_WITH_LEN("bigint(20)") }, - { NULL, 0} - }, - { - { C_STRING_WITH_LEN("MAX_TIMER_WRITE_DELAYED") }, - { C_STRING_WITH_LEN("bigint(20)") }, - { NULL, 0} - }, - { { C_STRING_WITH_LEN("COUNT_WRITE_LOW_PRIORITY") }, { C_STRING_WITH_LEN("bigint(20)") }, { NULL, 0} @@ -400,7 +377,7 @@ static const TABLE_FIELD_TYPE field_types[]= TABLE_FIELD_DEF table_tlws_by_table::m_field_def= -{ 73, field_types }; +{ sizeof(field_types) / sizeof(TABLE_FIELD_TYPE), field_types }; PFS_engine_table_share table_tlws_by_table::m_share= @@ -410,12 +387,12 @@ table_tlws_by_table::m_share= table_tlws_by_table::create, NULL, /* write_row */ table_tlws_by_table::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + table_tlws_by_table::get_row_count, sizeof(PFS_simple_index), &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* @@ -432,6 +409,12 @@ table_tlws_by_table::delete_all_rows(void) return 0; } +ha_rows +table_tlws_by_table::get_row_count(void) +{ + return global_table_share_container.get_row_count(); +} + table_tlws_by_table::table_tlws_by_table() : PFS_engine_table(&m_share, &m_pos), m_row_exists(false), m_pos(0), m_next_pos(0) @@ -451,20 +434,23 @@ int table_tlws_by_table::rnd_init(bool scan) int table_tlws_by_table::rnd_next(void) { - PFS_table_share *table_share; + PFS_table_share *pfs; - for (m_pos.set_at(&m_next_pos); - m_pos.m_index < table_share_max; - m_pos.m_index++) + m_pos.set_at(&m_next_pos); + PFS_table_share_iterator it= global_table_share_container.iterate(m_pos.m_index); + do { - table_share= &table_share_array[m_pos.m_index]; - if (table_share->m_lock.is_populated()) + pfs= it.scan_next(& m_pos.m_index); + if (pfs != NULL) { - make_row(table_share); - m_next_pos.set_after(&m_pos); - return 0; + if (pfs->m_enabled) + { + make_row(pfs); + m_next_pos.set_after(&m_pos); + return 0; + } } - } + } while (pfs != NULL); return HA_ERR_END_OF_FILE; } @@ -472,15 +458,18 @@ int table_tlws_by_table::rnd_next(void) int table_tlws_by_table::rnd_pos(const void *pos) { - PFS_table_share *table_share; + PFS_table_share *pfs; set_position(pos); - table_share= &table_share_array[m_pos.m_index]; - if (table_share->m_lock.is_populated()) + pfs= global_table_share_container.get(m_pos.m_index); + if (pfs != NULL) { - make_row(table_share); - return 0; + if (pfs->m_enabled) + { + make_row(pfs); + return 0; + } } return HA_ERR_RECORD_DELETED; @@ -488,7 +477,7 @@ table_tlws_by_table::rnd_pos(const void *pos) void table_tlws_by_table::make_row(PFS_table_share *share) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; @@ -690,67 +679,51 @@ int table_tlws_by_table::read_row_values(TABLE *table, set_field_ulonglong(f, m_row.m_stat.m_write_concurrent_insert.m_max); break; - case 53: /* COUNT_WRITE_DELAYED */ - set_field_ulonglong(f, m_row.m_stat.m_write_delayed.m_count); - break; - case 54: /* SUM_TIMER_WRITE_DELAYED */ - set_field_ulonglong(f, m_row.m_stat.m_write_delayed.m_sum); - break; - case 55: /* MIN_TIMER_WRITE_DELAYED */ - set_field_ulonglong(f, m_row.m_stat.m_write_delayed.m_min); - break; - case 56: /* AVG_TIMER_WRITE_DELAYED */ - set_field_ulonglong(f, m_row.m_stat.m_write_delayed.m_avg); - break; - case 57: /* MAX_TIMER_WRITE_DELAYED */ - set_field_ulonglong(f, m_row.m_stat.m_write_delayed.m_max); - break; - - case 58: /* COUNT_WRITE_LOW_PRIORITY */ + case 53: /* COUNT_WRITE_LOW_PRIORITY */ set_field_ulonglong(f, m_row.m_stat.m_write_low_priority.m_count); break; - case 59: /* SUM_TIMER_WRITE_LOW_PRIORITY */ + case 54: /* SUM_TIMER_WRITE_LOW_PRIORITY */ set_field_ulonglong(f, m_row.m_stat.m_write_low_priority.m_sum); break; - case 60: /* MIN_TIMER_WRITE_LOW_PRIORITY */ + case 55: /* MIN_TIMER_WRITE_LOW_PRIORITY */ set_field_ulonglong(f, m_row.m_stat.m_write_low_priority.m_min); break; - case 61: /* AVG_TIMER_WRITE_LOW_PRIORITY */ + case 56: /* AVG_TIMER_WRITE_LOW_PRIORITY */ set_field_ulonglong(f, m_row.m_stat.m_write_low_priority.m_avg); break; - case 62: /* MAX_TIMER_WRITE_LOW_PRIORITY */ + case 57: /* MAX_TIMER_WRITE_LOW_PRIORITY */ set_field_ulonglong(f, m_row.m_stat.m_write_low_priority.m_max); break; - case 63: /* COUNT_WRITE_NORMAL */ + case 58: /* COUNT_WRITE_NORMAL */ set_field_ulonglong(f, m_row.m_stat.m_write_normal.m_count); break; - case 64: /* SUM_TIMER_WRITE_NORMAL */ + case 59: /* SUM_TIMER_WRITE_NORMAL */ set_field_ulonglong(f, m_row.m_stat.m_write_normal.m_sum); break; - case 65: /* MIN_TIMER_WRITE_NORMAL */ + case 60: /* MIN_TIMER_WRITE_NORMAL */ set_field_ulonglong(f, m_row.m_stat.m_write_normal.m_min); break; - case 66: /* AVG_TIMER_WRITE_NORMAL */ + case 61: /* AVG_TIMER_WRITE_NORMAL */ set_field_ulonglong(f, m_row.m_stat.m_write_normal.m_avg); break; - case 67: /* MAX_TIMER_WRITE_NORMAL */ + case 62: /* MAX_TIMER_WRITE_NORMAL */ set_field_ulonglong(f, m_row.m_stat.m_write_normal.m_max); break; - case 68: /* COUNT_WRITE_EXTERNAL */ + case 63: /* COUNT_WRITE_EXTERNAL */ set_field_ulonglong(f, m_row.m_stat.m_write_external.m_count); break; - case 69: /* SUM_TIMER_WRITE_EXTERNAL */ + case 64: /* SUM_TIMER_WRITE_EXTERNAL */ set_field_ulonglong(f, m_row.m_stat.m_write_external.m_sum); break; - case 70: /* MIN_TIMER_WRITE_EXTERNAL */ + case 65: /* MIN_TIMER_WRITE_EXTERNAL */ set_field_ulonglong(f, m_row.m_stat.m_write_external.m_min); break; - case 71: /* AVG_TIMER_WRITE_EXTERNAL */ + case 66: /* AVG_TIMER_WRITE_EXTERNAL */ set_field_ulonglong(f, m_row.m_stat.m_write_external.m_avg); break; - case 72: /* MAX_TIMER_WRITE_EXTERNAL */ + case 67: /* MAX_TIMER_WRITE_EXTERNAL */ set_field_ulonglong(f, m_row.m_stat.m_write_external.m_max); break; diff --git a/storage/perfschema/table_tlws_by_table.h b/storage/perfschema/table_tlws_by_table.h index fc396447bcf..827d39bd562 100644 --- a/storage/perfschema/table_tlws_by_table.h +++ b/storage/perfschema/table_tlws_by_table.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,6 +52,7 @@ public: static PFS_engine_table_share m_share; static PFS_engine_table* create(); static int delete_all_rows(); + static ha_rows get_row_count(); virtual int rnd_init(bool scan); virtual int rnd_next(); diff --git a/storage/perfschema/table_users.cc b/storage/perfschema/table_users.cc index c0d85017ebc..d481f6ef49f 100644 --- a/storage/perfschema/table_users.cc +++ b/storage/perfschema/table_users.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,13 +14,16 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include "my_global.h" -#include "my_pthread.h" +#include "my_thread.h" #include "table_users.h" #include "pfs_instr_class.h" #include "pfs_instr.h" #include "pfs_account.h" #include "pfs_user.h" #include "pfs_visitor.h" +#include "pfs_memory.h" +#include "pfs_status.h" +#include "field.h" THR_LOCK table_users::m_table_lock; @@ -28,7 +31,7 @@ static const TABLE_FIELD_TYPE field_types[]= { { { C_STRING_WITH_LEN("USER") }, - { C_STRING_WITH_LEN("char(16)") }, + { C_STRING_WITH_LEN("char(" USERNAME_CHAR_LENGTH_STR ")") }, { NULL, 0} }, { @@ -52,15 +55,15 @@ table_users::m_share= { { C_STRING_WITH_LEN("users") }, &pfs_truncatable_acl, - &table_users::create, + table_users::create, NULL, /* write_row */ table_users::delete_all_rows, - NULL, /* get_row_count */ - 1000, /* records */ + cursor_by_user::get_row_count, sizeof(PFS_simple_index), /* ref length */ &m_table_lock, &m_field_def, - false /* checked */ + false, /* checked */ + false /* perpetual */ }; PFS_engine_table* table_users::create() @@ -80,6 +83,15 @@ table_users::delete_all_rows(void) reset_events_statements_by_thread(); reset_events_statements_by_account(); reset_events_statements_by_user(); + reset_events_transactions_by_thread(); + reset_events_transactions_by_account(); + reset_events_transactions_by_user(); + reset_memory_by_thread(); + reset_memory_by_account(); + reset_memory_by_user(); + reset_status_by_thread(); + reset_status_by_account(); + reset_status_by_user(); purge_all_account(); purge_all_user(); return 0; @@ -92,7 +104,7 @@ table_users::table_users() void table_users::make_row(PFS_user *pfs) { - pfs_lock lock; + pfs_optimistic_state lock; m_row_exists= false; pfs->m_lock.begin_optimistic_lock(&lock); @@ -101,7 +113,11 @@ void table_users::make_row(PFS_user *pfs) return; PFS_connection_stat_visitor visitor; - PFS_connection_iterator::visit_user(pfs, true, true, & visitor); + PFS_connection_iterator::visit_user(pfs, + true, /* accounts */ + true, /* threads */ + false, /* THDs */ + & visitor); if (! pfs->m_lock.end_optimistic_lock(& lock)) return; diff --git a/storage/perfschema/table_users.h b/storage/perfschema/table_users.h index 94ea44832d1..490775b2ca2 100644 --- a/storage/perfschema/table_users.h +++ b/storage/perfschema/table_users.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/storage/perfschema/table_uvar_by_thread.cc b/storage/perfschema/table_uvar_by_thread.cc new file mode 100644 index 00000000000..8c21d975a02 --- /dev/null +++ b/storage/perfschema/table_uvar_by_thread.cc @@ -0,0 +1,343 @@ +/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_uvar_by_thread.cc + Table USER_VARIABLES_BY_THREAD (implementation). +*/ + +#include "my_global.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "table_uvar_by_thread.h" +#include "pfs_global.h" +#include "pfs_visitor.h" +#include "pfs_buffer_container.h" + +/* Iteration on THD from the sql layer. */ +#include "sql_class.h" +#include "mysqld_thd_manager.h" + +class Find_thd_user_var : public Find_THD_Impl +{ +public: + Find_thd_user_var(THD *unsafe_thd) + : m_unsafe_thd(unsafe_thd) + {} + + virtual bool operator()(THD *thd) + { + if (thd != m_unsafe_thd) + return false; + + if (thd->user_vars.records == 0) + return false; + + mysql_mutex_lock(&thd->LOCK_thd_data); + return true; + } + +private: + THD *m_unsafe_thd; +}; + +void User_variables::materialize(PFS_thread *pfs, THD *thd) +{ + reset(); + + m_pfs= pfs; + m_thread_internal_id= pfs->m_thread_internal_id; + m_array.reserve(thd->user_vars.records); + + user_var_entry *sql_uvar; + + uint index= 0; + User_variable empty; + + /* Protects thd->user_vars. */ + mysql_mutex_assert_owner(&thd->LOCK_thd_data); + + for (;;) + { + sql_uvar= reinterpret_cast<user_var_entry*> (my_hash_element(& thd->user_vars, index)); + if (sql_uvar == NULL) + break; + + /* + m_array is a container of objects (not pointers) + + Naive code can: + - build locally a new entry + - add it to the container + but this causes useless object construction, destruction, and deep copies. + + What we do here: + - add a dummy (empty) entry + - the container does a deep copy on something empty, + so that there is nothing to copy. + - get a reference to the entry added in the container + - complete -- in place -- the entry initialization + */ + m_array.push_back(empty); + User_variable & pfs_uvar= m_array.back(); + + /* Copy VARIABLE_NAME */ + const char *name= sql_uvar->entry_name.ptr(); + size_t name_length= sql_uvar->entry_name.length(); + DBUG_ASSERT(name_length <= sizeof(pfs_uvar.m_name)); + pfs_uvar.m_name.make_row(name, name_length); + + /* Copy VARIABLE_VALUE */ + my_bool null_value; + String *str_value; + String str_buffer; + uint decimals= 0; + str_value= sql_uvar->val_str(& null_value, & str_buffer, decimals); + if (str_value != NULL) + { + pfs_uvar.m_value.make_row(str_value->ptr(), str_value->length()); + } + else + { + pfs_uvar.m_value.make_row(NULL, 0); + } + + index++; + } +} + +THR_LOCK table_uvar_by_thread::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("THREAD_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_VALUE") }, + { C_STRING_WITH_LEN("longblob") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_uvar_by_thread::m_field_def= +{ 3, field_types }; + +PFS_engine_table_share +table_uvar_by_thread::m_share= +{ + { C_STRING_WITH_LEN("user_variables_by_thread") }, + &pfs_readonly_acl, + table_uvar_by_thread::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_uvar_by_thread::get_row_count, + sizeof(pos_t), + &m_table_lock, + &m_field_def, + false, /* checked */ + false /* perpetual */ +}; + +PFS_engine_table* +table_uvar_by_thread::create(void) +{ + return new table_uvar_by_thread(); +} + +ha_rows +table_uvar_by_thread::get_row_count(void) +{ + /* + This is an estimate only, not a hard limit. + The row count is given as a multiple of thread_max, + so that a join between: + - table performance_schema.threads + - table performance_schema.user_variables_by_thread + will still evaluate relative table sizes correctly + when deciding a join order. + */ + return global_thread_container.get_row_count() * 10; +} + +table_uvar_by_thread::table_uvar_by_thread() + : PFS_engine_table(&m_share, &m_pos), + m_row_exists(false), m_pos(), m_next_pos() +{} + +void table_uvar_by_thread::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_uvar_by_thread::rnd_next(void) +{ + PFS_thread *thread; + bool has_more_thread= true; + + for (m_pos.set_at(&m_next_pos); + has_more_thread; + m_pos.next_thread()) + { + thread= global_thread_container.get(m_pos.m_index_1, & has_more_thread); + if (thread != NULL) + { + if (materialize(thread) == 0) + { + const User_variable *uvar= m_THD_cache.get(m_pos.m_index_2); + if (uvar != NULL) + { + make_row(thread, uvar); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + } + + return HA_ERR_END_OF_FILE; +} + +int +table_uvar_by_thread::rnd_pos(const void *pos) +{ + PFS_thread *thread; + + set_position(pos); + + thread= global_thread_container.get(m_pos.m_index_1); + if (thread != NULL) + { + if (materialize(thread) == 0) + { + const User_variable *uvar= m_THD_cache.get(m_pos.m_index_2); + if (uvar != NULL) + { + make_row(thread, uvar); + return 0; + } + } + } + + return HA_ERR_RECORD_DELETED; +} + +int table_uvar_by_thread::materialize(PFS_thread *thread) +{ + if (m_THD_cache.is_materialized(thread)) + return 0; + + if (! thread->m_lock.is_populated()) + return 1; + + THD *unsafe_thd= thread->m_thd; + if (unsafe_thd == NULL) + return 1; + + Find_thd_user_var finder(unsafe_thd); + THD *safe_thd= Global_THD_manager::get_instance()->find_thd(&finder); + if (safe_thd == NULL) + return 1; + + m_THD_cache.materialize(thread, safe_thd); + mysql_mutex_unlock(&safe_thd->LOCK_thd_data); + return 0; +} + +void table_uvar_by_thread +::make_row(PFS_thread *thread, const User_variable *uvar) +{ + pfs_optimistic_state lock; + m_row_exists= false; + + /* Protect this reader against a thread termination */ + thread->m_lock.begin_optimistic_lock(&lock); + + m_row.m_thread_internal_id= thread->m_thread_internal_id; + + /* uvar is materialized, pointing to it directly. */ + m_row.m_variable_name= & uvar->m_name; + m_row.m_variable_value= & uvar->m_value; + + if (! thread->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; +} + +int table_uvar_by_thread +::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + DBUG_ASSERT(m_row.m_variable_name != NULL); + DBUG_ASSERT(m_row.m_variable_value != NULL); + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* THREAD_ID */ + set_field_ulonglong(f, m_row.m_thread_internal_id); + break; + case 1: /* VARIABLE_NAME */ + set_field_varchar_utf8(f, + m_row.m_variable_name->m_str, + m_row.m_variable_name->m_length); + break; + case 2: /* VARIABLE_VALUE */ + if (m_row.m_variable_value->get_value_length() > 0) + { + set_field_blob(f, + m_row.m_variable_value->get_value(), + m_row.m_variable_value->get_value_length()); + } + else + { + f->set_null(); + } + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_uvar_by_thread.h b/storage/perfschema/table_uvar_by_thread.h new file mode 100644 index 00000000000..8ff3dbacb16 --- /dev/null +++ b/storage/perfschema/table_uvar_by_thread.h @@ -0,0 +1,186 @@ +/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_UVAR_BY_THREAD_H +#define TABLE_UVAR_BY_THREAD_H + +/** + @file storage/perfschema/table_uvar_by_thread.h + Table USER_VARIABLES_BY_THREAD (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "table_helper.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +struct User_variable +{ +public: + User_variable() + {} + + User_variable(const User_variable& uv) + : m_name(uv.m_name), m_value(uv.m_value) + {} + + ~User_variable() + {} + + PFS_variable_name_row m_name; + PFS_user_variable_value_row m_value; +}; + +class User_variables +{ + typedef Prealloced_array<User_variable, 100, false> User_variable_array; + +public: + User_variables() + : m_pfs(NULL), m_thread_internal_id(0), m_array(PSI_INSTRUMENT_ME) + { + } + + void reset() + { + m_pfs= NULL; + m_thread_internal_id= 0; + m_array.clear(); + } + + void materialize(PFS_thread *pfs, THD *thd); + + bool is_materialized(PFS_thread *pfs) + { + DBUG_ASSERT(pfs != NULL); + if (m_pfs != pfs) + return false; + if (m_thread_internal_id != pfs->m_thread_internal_id) + return false; + return true; + } + + const User_variable *get(uint index) const + { + if (index >= m_array.size()) + return NULL; + + const User_variable *p= & m_array.at(index); + return p; + } + +private: + PFS_thread *m_pfs; + ulonglong m_thread_internal_id; + User_variable_array m_array; +}; + +/** + A row of table + PERFORMANCE_SCHEMA.USER_VARIABLES_BY_THREAD. +*/ +struct row_uvar_by_thread +{ + /** Column THREAD_ID. */ + ulonglong m_thread_internal_id; + /** Column VARIABLE_NAME. */ + const PFS_variable_name_row *m_variable_name; + /** Column VARIABLE_VALUE. */ + const PFS_user_variable_value_row *m_variable_value; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.USER_VARIABLES_BY_THREAD. + Index 1 on thread (0 based) + Index 2 on user variable (0 based) +*/ +struct pos_uvar_by_thread +: public PFS_double_index +{ + pos_uvar_by_thread() + : PFS_double_index(0, 0) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 0; + } + + inline void next_thread(void) + { + m_index_1++; + m_index_2= 0; + } +}; + +/** Table PERFORMANCE_SCHEMA.USER_VARIABLES_BY_THREAD. */ +class table_uvar_by_thread : public PFS_engine_table +{ + typedef pos_uvar_by_thread pos_t; + +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + + table_uvar_by_thread(); + +public: + ~table_uvar_by_thread() + { m_THD_cache.reset(); } + +protected: + int materialize(PFS_thread *thread); + void make_row(PFS_thread *thread, const User_variable *uvar); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current THD user variables. */ + User_variables m_THD_cache; + /** Current row. */ + row_uvar_by_thread m_row; + /** True is the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_t m_pos; + /** Next position. */ + pos_t m_next_pos; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/table_variables_by_thread.cc b/storage/perfschema/table_variables_by_thread.cc new file mode 100644 index 00000000000..41eb5f3111e --- /dev/null +++ b/storage/perfschema/table_variables_by_thread.cc @@ -0,0 +1,243 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +/** + @file storage/perfschema/table_variables_by_thread.cc + Table VARIABLES_BY_THREAD (implementation). +*/ + +#include "my_global.h" +#include "table_variables_by_thread.h" +#include "my_thread.h" +#include "pfs_instr_class.h" +#include "pfs_column_types.h" +#include "pfs_column_values.h" +#include "pfs_global.h" + +THR_LOCK table_variables_by_thread::m_table_lock; + +static const TABLE_FIELD_TYPE field_types[]= +{ + { + { C_STRING_WITH_LEN("THREAD_ID") }, + { C_STRING_WITH_LEN("bigint(20)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_NAME") }, + { C_STRING_WITH_LEN("varchar(64)") }, + { NULL, 0} + }, + { + { C_STRING_WITH_LEN("VARIABLE_VALUE") }, + { C_STRING_WITH_LEN("varchar(1024)") }, + { NULL, 0} + } +}; + +TABLE_FIELD_DEF +table_variables_by_thread::m_field_def= +{ 3, field_types }; + +PFS_engine_table_share +table_variables_by_thread::m_share= +{ + { C_STRING_WITH_LEN("variables_by_thread") }, + &pfs_readonly_acl, + table_variables_by_thread::create, + NULL, /* write_row */ + NULL, /* delete_all_rows */ + table_variables_by_thread::get_row_count, + sizeof(pos_t), + &m_table_lock, + &m_field_def, + false, /* checked */ + true /* perpetual */ +}; + +PFS_engine_table* +table_variables_by_thread::create(void) +{ + return new table_variables_by_thread(); +} + +ha_rows table_variables_by_thread::get_row_count(void) +{ + mysql_mutex_lock(&LOCK_plugin_delete); + mysql_rwlock_rdlock(&LOCK_system_variables_hash); + ulong system_var_count= get_system_variable_hash_records(); + mysql_rwlock_unlock(&LOCK_system_variables_hash); + mysql_mutex_unlock(&LOCK_plugin_delete); + return (global_thread_container.get_row_count() * system_var_count); +} + +table_variables_by_thread::table_variables_by_thread() + : PFS_engine_table(&m_share, &m_pos), + m_sysvar_cache(true), m_row_exists(false), m_pos(), m_next_pos(), m_context(NULL) +{} + +void table_variables_by_thread::reset_position(void) +{ + m_pos.reset(); + m_next_pos.reset(); +} + +int table_variables_by_thread::rnd_init(bool scan) +{ + /* + Build array of SHOW_VARs from system variable hash prior to materializing + threads in rnd_next() or rnd_pos(). + */ + m_sysvar_cache.initialize_session(); + + /* Record the version of the system variable hash. */ + ulonglong hash_version= m_sysvar_cache.get_sysvar_hash_version(); + + /* + The table context holds the current version of the system variable hash and + a record of which threads were materialized. + If scan == true, then allocate a new context from mem_root and store in TLS. + If scan == false, then restore from TLS. + */ + m_context= (table_variables_by_thread_context *)current_thd->alloc(sizeof(table_variables_by_thread_context)); + new(m_context) table_variables_by_thread_context(hash_version, !scan); + return 0; +} + +int table_variables_by_thread::rnd_next(void) +{ + /* If system variable hash changes, exit with warning. */ // TODO: Issue warning + if (!m_context->versions_match()) + return HA_ERR_END_OF_FILE; + + bool has_more_thread= true; + + for (m_pos.set_at(&m_next_pos); + has_more_thread; + m_pos.next_thread()) + { + PFS_thread *pfs_thread= global_thread_container.get(m_pos.m_index_1, &has_more_thread); + + /* Materialize all variables for the current thread. Assign a dedicated mem_root. */ + if (m_sysvar_cache.materialize_session(pfs_thread, true) == 0) + { + /* Mark this thread as materialized. */ + m_context->set_item(m_pos.m_index_1); + + const System_variable *system_var= m_sysvar_cache.get(m_pos.m_index_2); + if (system_var != NULL) + { + make_row(pfs_thread, system_var); + m_next_pos.set_after(&m_pos); + return 0; + } + } + } + return HA_ERR_END_OF_FILE; +} + +int +table_variables_by_thread::rnd_pos(const void *pos) +{ + /* If system variable hash changes, do nothing. */ + if (!m_context->versions_match()) + return HA_ERR_RECORD_DELETED; + + set_position(pos); + DBUG_ASSERT(m_pos.m_index_1 < global_thread_container.get_row_count()); + + PFS_thread *pfs_thread= global_thread_container.get(m_pos.m_index_1); + /* + Only materialize threads that were previously materialized by rnd_next(). + If a thread cannot be rematerialized, then do nothing. + Only materialize the requested system variable to avoid repeated + materialization of each thread, such as with ORDER BY variable_name. + */ + if (m_context->is_item_set(m_pos.m_index_1) && + /* Materialize only the requested variable. */ + m_sysvar_cache.materialize_session(pfs_thread, m_pos.m_index_2) == 0) + { + /* Get the first (and only) element from the cache. */ + const System_variable *system_var= m_sysvar_cache.get(); + if (system_var != NULL) + { + make_row(pfs_thread, system_var); + m_next_pos.set_after(&m_pos); + return 0; + } + } + return HA_ERR_RECORD_DELETED; +} + +void table_variables_by_thread +::make_row(PFS_thread *thread, const System_variable *system_var) +{ + pfs_optimistic_state lock; + m_row_exists= false; + if (system_var->is_null()) + return; + + /* Protect this reader against a thread termination */ + thread->m_lock.begin_optimistic_lock(&lock); + + m_row.m_thread_internal_id= thread->m_thread_internal_id; + m_row.m_variable_name.make_row(system_var->m_name, system_var->m_name_length); + m_row.m_variable_value.make_row(system_var->m_value_str, system_var->m_value_length); + + if (!thread->m_lock.end_optimistic_lock(&lock)) + return; + + m_row_exists= true; +} + +int table_variables_by_thread +::read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all) +{ + Field *f; + + if (unlikely(! m_row_exists)) + return HA_ERR_RECORD_DELETED; + + /* Set the null bits */ + DBUG_ASSERT(table->s->null_bytes == 1); + buf[0]= 0; + + for (; (f= *fields) ; fields++) + { + if (read_all || bitmap_is_set(table->read_set, f->field_index)) + { + switch(f->field_index) + { + case 0: /* THREAD_ID */ + set_field_ulonglong(f, m_row.m_thread_internal_id); + break; + case 1: /* VARIABLE_NAME */ + set_field_varchar_utf8(f, m_row.m_variable_name.m_str, m_row.m_variable_name.m_length); + break; + case 2: /* VARIABLE_VALUE */ + set_field_varchar_utf8(f, m_row.m_variable_value.m_str, m_row.m_variable_value.m_length); + break; + default: + DBUG_ASSERT(false); + } + } + } + + return 0; +} + diff --git a/storage/perfschema/table_variables_by_thread.h b/storage/perfschema/table_variables_by_thread.h new file mode 100644 index 00000000000..90d9b4df7e6 --- /dev/null +++ b/storage/perfschema/table_variables_by_thread.h @@ -0,0 +1,144 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef TABLE_VARIABLES_BY_THREAD_H +#define TABLE_VARIABLES_BY_THREAD_H + +/** + @file storage/perfschema/table_variables_by_thread.h + Table VARIABLES_BY_THREAD (declarations). +*/ + +#include "pfs_column_types.h" +#include "pfs_engine_table.h" +#include "pfs_instr_class.h" +#include "pfs_instr.h" +#include "table_helper.h" +#include "pfs_variable.h" +#include "pfs_buffer_container.h" + +/** + @addtogroup Performance_schema_tables + @{ +*/ + +/** + A row of table + PERFORMANCE_SCHEMA.VARIABLES_BY_THREAD. +*/ +struct row_variables_by_thread +{ + /** Column THREAD_ID. */ + ulonglong m_thread_internal_id; + /** Column VARIABLE_NAME. */ + PFS_variable_name_row m_variable_name; + /** Column VARIABLE_VALUE. */ + PFS_variable_value_row m_variable_value; +}; + +/** + Position of a cursor on + PERFORMANCE_SCHEMA.VARIABLES_BY_THREAD. + Index 1 on thread (0 based) + Index 2 on system variable (0 based) +*/ +struct pos_variables_by_thread +: public PFS_double_index +{ + pos_variables_by_thread() + : PFS_double_index(0, 0) + {} + + inline void reset(void) + { + m_index_1= 0; + m_index_2= 0; + } + + inline bool has_more_thread(void) + { return (m_index_1 < global_thread_container.get_row_count()); } + + inline void next_thread(void) + { + m_index_1++; + m_index_2= 0; + } +}; + +/** + Store and retrieve table state information during queries that reinstantiate + the table object. +*/ +class table_variables_by_thread_context : public PFS_table_context +{ +public: + table_variables_by_thread_context(ulonglong hash_version, bool restore) : + PFS_table_context(hash_version, global_thread_container.get_row_count(), restore, THR_PFS_VBT) { } +}; + +/** Table PERFORMANCE_SCHEMA.VARIABLES_BY_THREAD. */ +class table_variables_by_thread : public PFS_engine_table +{ + typedef pos_variables_by_thread pos_t; + +public: + /** Table share */ + static PFS_engine_table_share m_share; + static PFS_engine_table* create(); + static ha_rows get_row_count(); + + virtual int rnd_init(bool scan); + virtual int rnd_next(); + virtual int rnd_pos(const void *pos); + virtual void reset_position(void); + +protected: + virtual int read_row_values(TABLE *table, + unsigned char *buf, + Field **fields, + bool read_all); + table_variables_by_thread(); + +public: + ~table_variables_by_thread() + {} + +protected: + int materialize(PFS_thread *thread); + void make_row(PFS_thread *thread, const System_variable *system_var); + +private: + /** Table share lock. */ + static THR_LOCK m_table_lock; + /** Fields definition. */ + static TABLE_FIELD_DEF m_field_def; + + /** Current THD variables. */ + PFS_system_variable_cache m_sysvar_cache; + /** Current row. */ + row_variables_by_thread m_row; + /** True if the current row exists. */ + bool m_row_exists; + /** Current position. */ + pos_t m_pos; + /** Next position. */ + pos_t m_next_pos; + + /** Table context with system variable hash version and map of materialized threads. */ + table_variables_by_thread_context *m_context; +}; + +/** @} */ +#endif diff --git a/storage/perfschema/unittest/CMakeLists.txt b/storage/perfschema/unittest/CMakeLists.txt index 22e4aad3f36..ef01904de37 100644 --- a/storage/perfschema/unittest/CMakeLists.txt +++ b/storage/perfschema/unittest/CMakeLists.txt @@ -41,6 +41,7 @@ SET(tests pfs_account-oom pfs_host-oom pfs_user-oom + pfs_noop pfs pfs_misc ) @@ -71,5 +72,9 @@ TARGET_LINK_LIBRARIES(pfs_connect_attr-t vio ${SSL_LIBRARIES}) TARGET_LINK_LIBRARIES(pfs_connect_attr-t strings dbug regex mysys ${ZLIB_LIBRARY}) ADD_TEST(pfs_connect_attr pfs_connect_attr-t) +# ADD_EXECUTABLE(pfs_benchmark-t pfs_benchmark-t.cc pfs_benchmark_helper.cc) +# TARGET_LINK_LIBRARIES(pfs_benchmark-t mytap perfschema mysys pfs_server_stubs) +# ADD_TEST(pfs_benchmark pfs_benchmark-t) + # On windows, pfs_connect_attr-t may depend on openssl dlls. COPY_OPENSSL_DLLS(copy_openssl_pfs_unittest) diff --git a/storage/perfschema/unittest/pfs-t.cc b/storage/perfschema/unittest/pfs-t.cc index 8b24cee9eaf..cce43eebd1e 100644 --- a/storage/perfschema/unittest/pfs-t.cc +++ b/storage/perfschema/unittest/pfs-t.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,11 +14,12 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include <my_global.h> -#include <my_pthread.h> +#include <my_thread.h> #include <pfs_server.h> #include <pfs_instr_class.h> #include <pfs_instr.h> #include <pfs_global.h> +#include <pfs_buffer_container.h> #include <tap.h> #include <string.h> @@ -26,6 +27,7 @@ #include "stub_print_error.h" #include "stub_pfs_defaults.h" +#include "stub_global_status_var.h" /* test helpers, to simulate the setup */ @@ -39,30 +41,30 @@ void setup_thread(PSI_thread *t, bool enabled) PFS_file* lookup_file_by_name(const char* name) { - uint i; PFS_file *pfs; - uint len= strlen(name); + size_t len= strlen(name); size_t dirlen; const char *filename; - uint filename_length;; + size_t filename_length; - for (i= 0; i < file_max; i++) + PFS_file_iterator it= global_file_container.iterate(); + pfs= it.scan_next(); + + while (pfs != NULL) { - pfs= & file_array[i]; - if (pfs->m_lock.is_populated()) - { - /* - When a file "foo" is instrumented, the name is normalized - to "/path/to/current/directory/foo", so we remove the - directory name here to find it back. - */ - dirlen= dirname_length(pfs->m_filename); - filename= pfs->m_filename + dirlen; - filename_length= pfs->m_filename_length - dirlen; - if ((len == filename_length) && - (strncmp(name, filename, filename_length) == 0)) - return pfs; - } + /* + When a file "foo" is instrumented, the name is normalized + to "/path/to/current/directory/foo", so we remove the + directory name here to find it back. + */ + dirlen= dirname_length(pfs->m_filename); + filename= pfs->m_filename + dirlen; + filename_length= pfs->m_filename_length - dirlen; + if ((len == filename_length) && + (strncmp(name, filename, filename_length) == 0)) + return pfs; + + pfs= it.scan_next(); } return NULL; @@ -109,10 +111,24 @@ void test_bootstrap() param.m_statement_class_sizing= 0; param.m_events_statements_history_sizing= 0; param.m_events_statements_history_long_sizing= 0; + param.m_events_transactions_history_sizing= 0; + param.m_events_transactions_history_long_sizing= 0; param.m_digest_sizing= 0; param.m_session_connect_attrs_sizing= 0; + param.m_program_sizing= 0; + param.m_statement_stack_sizing= 0; + param.m_memory_class_sizing= 0; + param.m_metadata_lock_sizing= 0; param.m_max_digest_length= 0; + param.m_max_sql_text_length= 0; + + param.m_hints.m_table_definition_cache = 100; + param.m_hints.m_table_open_cache = 100; + param.m_hints.m_max_connections = 100; + param.m_hints.m_open_files_limit = 100; + param.m_hints.m_max_prepared_stmt_count= 100; + pre_initialize_performance_schema(); boot= initialize_performance_schema(& param); ok(boot != NULL, "boot"); ok(boot->get_interface != NULL, "boot->get_interface"); @@ -134,7 +150,7 @@ void test_bootstrap() */ PSI * load_perfschema() { - void *psi; + PSI *psi; PSI_bootstrap *boot; PFS_global_param param; @@ -168,13 +184,27 @@ PSI * load_perfschema() param.m_statement_class_sizing= 0; param.m_events_statements_history_sizing= 0; param.m_events_statements_history_long_sizing= 0; + param.m_events_transactions_history_sizing= 0; + param.m_events_transactions_history_long_sizing= 0; param.m_digest_sizing= 0; param.m_session_connect_attrs_sizing= 0; + param.m_program_sizing= 0; + param.m_statement_stack_sizing= 10; + param.m_memory_class_sizing= 10; + param.m_metadata_lock_sizing= 10; param.m_max_digest_length= 0; + param.m_max_sql_text_length= 1000; + + param.m_hints.m_table_definition_cache = 100; + param.m_hints.m_table_open_cache = 100; + param.m_hints.m_max_connections = 100; + param.m_hints.m_open_files_limit = 100; + param.m_hints.m_max_prepared_stmt_count= 100; + pre_initialize_performance_schema(); /* test_bootstrap() covered this, assuming it just works */ boot= initialize_performance_schema(& param); - psi= boot->get_interface(PSI_VERSION_1); + psi= (PSI *)boot->get_interface(PSI_VERSION_1); /* Reset every consumer to a known state */ flag_global_instrumentation= true; @@ -305,6 +335,20 @@ void test_bad_registration() ok(dummy_rwlock_key == 0, "zero key"); dummy_rwlock_key= 9999; + PSI_rwlock_info bad_rwlock_2_sx[]= + { + { & dummy_rwlock_key, + /* 109 chars name */ + "12345678901234567890123456789012345678901234567890" + "12345678901234567890123456789012345678901234567890" + "123456789", + PSI_RWLOCK_FLAG_SX} + }; + + psi->register_rwlock("Y", bad_rwlock_2_sx, 1); + ok(dummy_rwlock_key == 0, "zero key SX"); + + dummy_rwlock_key= 9999; PSI_rwlock_info bad_rwlock_3[]= { { & dummy_rwlock_key, @@ -321,6 +365,23 @@ void test_bad_registration() psi->register_rwlock("X", bad_rwlock_3, 1); ok(dummy_rwlock_key == 2, "assigned key"); + dummy_rwlock_key= 9999; + PSI_rwlock_info bad_rwlock_3_sx[]= + { + { & dummy_rwlock_key, + /* 108 chars name */ + "12345678901234567890123456789012345678901234567890" + "12345678901234567890123456789012345678901234567890" + "12345678", + PSI_RWLOCK_FLAG_SX} + }; + + psi->register_rwlock("YY", bad_rwlock_3_sx, 1); + ok(dummy_rwlock_key == 0, "zero key SX"); + + psi->register_rwlock("Y", bad_rwlock_3_sx, 1); + ok(dummy_rwlock_key == 3, "assigned key SX"); + /* Test that length('wait/synch/cond/' (16) + category + '/' (1)) < 32 --> category can be up to 14 chars for a cond. @@ -669,23 +730,27 @@ void test_init_disabled() socket_class_A= find_socket_class(socket_key_A); ok(socket_class_A != NULL, "socket class A"); - /* Pretend thread T-1 is running, and disabled, with thread_instrumentation */ + /* + Pretend thread T-1 is running, and disabled, with thread_instrumentation. + Disabled instruments are still created so they can be enabled later. + */ + /* ------------------------------------------------------------------------ */ psi->set_thread(thread_1); setup_thread(thread_1, false); - /* disabled M-A + disabled T-1: no instrumentation */ + /* disabled M-A + disabled T-1: instrumentation */ mutex_class_A->m_enabled= false; mutex_A1= psi->init_mutex(mutex_key_A, NULL); - ok(mutex_A1 == NULL, "mutex_A1 not instrumented"); + ok(mutex_A1 != NULL, "mutex_A1 disabled, instrumented"); /* enabled M-A + disabled T-1: instrumentation (for later) */ mutex_class_A->m_enabled= true; mutex_A1= psi->init_mutex(mutex_key_A, NULL); - ok(mutex_A1 != NULL, "mutex_A1 instrumented"); + ok(mutex_A1 != NULL, "mutex_A1 enabled, instrumented"); /* broken key + disabled T-1: no instrumentation */ @@ -699,13 +764,13 @@ void test_init_disabled() rwlock_class_A->m_enabled= false; rwlock_A1= psi->init_rwlock(rwlock_key_A, NULL); - ok(rwlock_A1 == NULL, "rwlock_A1 not instrumented"); + ok(rwlock_A1 != NULL, "rwlock_A1 disabled, instrumented"); /* enabled RW-A + disabled T-1: instrumentation (for later) */ rwlock_class_A->m_enabled= true; rwlock_A1= psi->init_rwlock(rwlock_key_A, NULL); - ok(rwlock_A1 != NULL, "rwlock_A1 instrumented"); + ok(rwlock_A1 != NULL, "rwlock_A1 enabled, instrumented"); /* broken key + disabled T-1: no instrumentation */ @@ -719,13 +784,13 @@ void test_init_disabled() cond_class_A->m_enabled= false; cond_A1= psi->init_cond(cond_key_A, NULL); - ok(cond_A1 == NULL, "cond_A1 not instrumented"); + ok(cond_A1 != NULL, "cond_A1 disabled, instrumented"); /* enabled C-A + disabled T-1: instrumentation (for later) */ cond_class_A->m_enabled= true; cond_A1= psi->init_cond(cond_key_A, NULL); - ok(cond_A1 != NULL, "cond_A1 instrumented"); + ok(cond_A1 != NULL, "cond_A1 enabled, instrumented"); /* broken key + disabled T-1: no instrumentation */ @@ -754,22 +819,22 @@ void test_init_disabled() file_class_A->m_enabled= true; psi->create_file(0, "foo", (File) 12); file_A1= lookup_file_by_name("foo"); - ok(file_A1 == NULL, "not instrumented"); + ok(file_A1 == NULL, "file_A1 not instrumented"); psi->create_file(99, "foo", (File) 12); file_A1= lookup_file_by_name("foo"); - ok(file_A1 == NULL, "not instrumented"); + ok(file_A1 == NULL, "file_A1 not instrumented"); /* disabled S-A + disabled T-1: no instrumentation */ socket_class_A->m_enabled= false; socket_A1= psi->init_socket(socket_key_A, NULL, NULL, 0); - ok(socket_A1 == NULL, "socket_A1 not instrumented"); + ok(socket_A1 != NULL, "socket_A1 disabled, instrumented"); /* enabled S-A + disabled T-1: instrumentation (for later) */ socket_class_A->m_enabled= true; socket_A1= psi->init_socket(socket_key_A, NULL, NULL, 0); - ok(socket_A1 != NULL, "socket_A1 instrumented"); + ok(socket_A1 != NULL, "socket_A1 enabled, instrumented"); /* broken key + disabled T-1: no instrumentation */ @@ -778,7 +843,7 @@ void test_init_disabled() ok(socket_A1 == NULL, "socket key 0 not instrumented"); socket_A1= psi->init_socket(99, NULL, NULL, 0); ok(socket_A1 == NULL, "broken socket key not instrumented"); - + /* Pretend thread T-1 is enabled */ /* ----------------------------- */ @@ -788,85 +853,85 @@ void test_init_disabled() mutex_class_A->m_enabled= false; mutex_A1= psi->init_mutex(mutex_key_A, NULL); - ok(mutex_A1 == NULL, "not instrumented"); + ok(mutex_A1 != NULL, "mutex_A1 disabled, instrumented"); /* enabled M-A + enabled T-1: instrumentation */ mutex_class_A->m_enabled= true; mutex_A1= psi->init_mutex(mutex_key_A, NULL); - ok(mutex_A1 != NULL, "instrumented"); + ok(mutex_A1 != NULL, "mutex_A1 enabled, instrumented"); psi->destroy_mutex(mutex_A1); /* broken key + enabled T-1: no instrumentation */ mutex_class_A->m_enabled= true; mutex_A1= psi->init_mutex(0, NULL); - ok(mutex_A1 == NULL, "not instrumented"); + ok(mutex_A1 == NULL, "mutex_A1 not instrumented"); mutex_A1= psi->init_mutex(99, NULL); - ok(mutex_A1 == NULL, "not instrumented"); + ok(mutex_A1 == NULL, "mutex_A1 not instrumented"); /* disabled RW-A + enabled T-1: no instrumentation */ rwlock_class_A->m_enabled= false; rwlock_A1= psi->init_rwlock(rwlock_key_A, NULL); - ok(rwlock_A1 == NULL, "not instrumented"); + ok(rwlock_A1 != NULL, "rwlock_A1 disabled, instrumented"); /* enabled RW-A + enabled T-1: instrumentation */ rwlock_class_A->m_enabled= true; rwlock_A1= psi->init_rwlock(rwlock_key_A, NULL); - ok(rwlock_A1 != NULL, "instrumented"); + ok(rwlock_A1 != NULL, "rwlock_A1 enabled, instrumented"); psi->destroy_rwlock(rwlock_A1); /* broken key + enabled T-1: no instrumentation */ rwlock_class_A->m_enabled= true; rwlock_A1= psi->init_rwlock(0, NULL); - ok(rwlock_A1 == NULL, "not instrumented"); + ok(rwlock_A1 == NULL, "rwlock_A1 not instrumented"); rwlock_A1= psi->init_rwlock(99, NULL); - ok(rwlock_A1 == NULL, "not instrumented"); + ok(rwlock_A1 == NULL, "rwlock_A1 not instrumented"); /* disabled C-A + enabled T-1: no instrumentation */ cond_class_A->m_enabled= false; cond_A1= psi->init_cond(cond_key_A, NULL); - ok(cond_A1 == NULL, "not instrumented"); + ok(cond_A1 != NULL, "cond_A1 disabled, instrumented"); /* enabled C-A + enabled T-1: instrumentation */ cond_class_A->m_enabled= true; cond_A1= psi->init_cond(cond_key_A, NULL); - ok(cond_A1 != NULL, "instrumented"); + ok(cond_A1 != NULL, "cond_A1 enabled, instrumented"); psi->destroy_cond(cond_A1); /* broken key + enabled T-1: no instrumentation */ cond_class_A->m_enabled= true; cond_A1= psi->init_cond(0, NULL); - ok(cond_A1 == NULL, "not instrumented"); + ok(cond_A1 == NULL, "cond_A1 not instrumented"); cond_A1= psi->init_cond(99, NULL); - ok(cond_A1 == NULL, "not instrumented"); + ok(cond_A1 == NULL, "cond_A1 not instrumented"); /* disabled F-A + enabled T-1: no instrumentation */ file_class_A->m_enabled= false; psi->create_file(file_key_A, "foo", (File) 12); file_A1= lookup_file_by_name("foo"); - ok(file_A1 == NULL, "not instrumented"); + ok(file_A1 == NULL, "file_A1 not instrumented"); /* enabled F-A + open failed + enabled T-1: no instrumentation */ file_class_A->m_enabled= true; psi->create_file(file_key_A, "foo", (File) -1); file_A1= lookup_file_by_name("foo"); - ok(file_A1 == NULL, "not instrumented"); + ok(file_A1 == NULL, "file_A1 not instrumented"); /* enabled F-A + out-of-descriptors + enabled T-1: no instrumentation */ file_class_A->m_enabled= true; psi->create_file(file_key_A, "foo", (File) 65000); file_A1= lookup_file_by_name("foo"); - ok(file_A1 == NULL, "not instrumented"); + ok(file_A1 == NULL, "file_A1 not instrumented"); ok(file_handle_lost == 1, "lost a file handle"); file_handle_lost= 0; @@ -890,22 +955,22 @@ void test_init_disabled() /* disabled S-A + enabled T-1: no instrumentation */ socket_class_A->m_enabled= false; - ok(socket_A1 == NULL, "not instrumented"); + ok(socket_A1 == NULL, "socket_A1 not instrumented"); /* enabled S-A + enabled T-1: instrumentation */ socket_class_A->m_enabled= true; socket_A1= psi->init_socket(socket_key_A, NULL, NULL, 0); - ok(socket_A1 != NULL, "instrumented"); + ok(socket_A1 != NULL, "socket_A1 instrumented"); psi->destroy_socket(socket_A1); /* broken key + enabled T-1: no instrumentation */ socket_class_A->m_enabled= true; socket_A1= psi->init_socket(0, NULL, NULL, 0); - ok(socket_A1 == NULL, "not instrumented"); + ok(socket_A1 == NULL, "socket_A1 not instrumented"); socket_A1= psi->init_socket(99, NULL, NULL, 0); - ok(socket_A1 == NULL, "not instrumented"); + ok(socket_A1 == NULL, "socket_A1 not instrumented"); /* Pretend the running thread is not instrumented */ /* ---------------------------------------------- */ @@ -916,13 +981,13 @@ void test_init_disabled() mutex_class_A->m_enabled= false; mutex_A1= psi->init_mutex(mutex_key_A, NULL); - ok(mutex_A1 == NULL, "mutex_A1 not instrumented"); + ok(mutex_A1 != NULL, "mutex_A1 disabled, instrumented"); /* enabled M-A + unknown thread: instrumentation (for later) */ mutex_class_A->m_enabled= true; mutex_A1= psi->init_mutex(mutex_key_A, NULL); - ok(mutex_A1 != NULL, "mutex_A1 instrumented"); + ok(mutex_A1 != NULL, "mutex_A1 enabled, instrumented"); /* broken key + unknown thread: no instrumentation */ @@ -936,13 +1001,13 @@ void test_init_disabled() rwlock_class_A->m_enabled= false; rwlock_A1= psi->init_rwlock(rwlock_key_A, NULL); - ok(rwlock_A1 == NULL, "rwlock_A1 not instrumented"); + ok(rwlock_A1 != NULL, "rwlock_A1 disabled, instrumented"); /* enabled RW-A + unknown thread: instrumentation (for later) */ rwlock_class_A->m_enabled= true; rwlock_A1= psi->init_rwlock(rwlock_key_A, NULL); - ok(rwlock_A1 != NULL, "rwlock_A1 instrumented"); + ok(rwlock_A1 != NULL, "rwlock_A1 enabled, instrumented"); /* broken key + unknown thread: no instrumentation */ @@ -956,13 +1021,13 @@ void test_init_disabled() cond_class_A->m_enabled= false; cond_A1= psi->init_cond(cond_key_A, NULL); - ok(cond_A1 == NULL, "cond_A1 not instrumented"); + ok(cond_A1 != NULL, "cond_A1 disabled, instrumented"); /* enabled C-A + unknown thread: instrumentation (for later) */ cond_class_A->m_enabled= true; cond_A1= psi->init_cond(cond_key_A, NULL); - ok(cond_A1 != NULL, "cond_A1 instrumented"); + ok(cond_A1 != NULL, "cond_A1 enabled, instrumented"); /* broken key + unknown thread: no instrumentation */ @@ -977,14 +1042,14 @@ void test_init_disabled() file_class_A->m_enabled= false; psi->create_file(file_key_A, "foo", (File) 12); file_A1= lookup_file_by_name("foo"); - ok(file_A1 == NULL, "not instrumented"); + ok(file_A1 == NULL, "file_A1 not instrumented"); /* enabled F-A + unknown thread: no instrumentation */ file_class_A->m_enabled= true; psi->create_file(file_key_A, "foo", (File) 12); file_A1= lookup_file_by_name("foo"); - ok(file_A1 == NULL, "not instrumented"); + ok(file_A1 == NULL, "file_A1 not instrumented"); /* broken key + unknown thread: no instrumentation */ @@ -1000,13 +1065,13 @@ void test_init_disabled() socket_class_A->m_enabled= false; socket_A1= psi->init_socket(socket_key_A, NULL, NULL, 0); - ok(socket_A1 == NULL, "socket_A1 not instrumented"); + ok(socket_A1 != NULL, "socket_A1 disabled, instrumented"); /* enabled S-A + unknown thread: instrumentation (for later) */ socket_class_A->m_enabled= true; socket_A1= psi->init_socket(socket_key_A, NULL, NULL, 0); - ok(socket_A1 != NULL, "socket_A1 instrumented"); + ok(socket_A1 != NULL, "socket_A1 enabled, instrumented"); /* broken key + unknown thread: no instrumentation */ @@ -1015,7 +1080,7 @@ void test_init_disabled() ok(socket_A1 == NULL, "socket key 0 not instrumented"); socket_A1= psi->init_socket(99, NULL, NULL, 0); ok(socket_A1 == NULL, "broken socket key not instrumented"); - + shutdown_performance_schema(); } @@ -1322,7 +1387,7 @@ void test_locker_disabled() /* Socket thread owner has not been set */ socket_locker= psi->start_socket_wait(&socket_state, socket_A1, PSI_SOCKET_SEND, 12, "foo.cc", 12); ok(socket_locker == NULL, "no locker (no thread owner)"); - + /* Pretend the running thread is not instrumented */ /* ---------------------------------------------- */ @@ -1488,7 +1553,7 @@ void test_event_name_index() memset(& param, 0xFF, sizeof(param)); param.m_enabled= true; - /* NOTE: Need to add 3 to each index: table io, table lock, idle */ + /* NOTE: Need to add 4 to each index: table io, table lock, idle, metadata lock */ /* Per mutex info waits should be at [0..9] */ param.m_mutex_class_sizing= 10; @@ -1513,9 +1578,16 @@ void test_event_name_index() param.m_statement_class_sizing= 0; param.m_events_statements_history_sizing= 0; param.m_events_statements_history_long_sizing= 0; + param.m_events_transactions_history_sizing= 0; + param.m_events_transactions_history_long_sizing= 0; param.m_digest_sizing= 0; param.m_session_connect_attrs_sizing= 0; + param.m_program_sizing= 0; + param.m_statement_stack_sizing= 10; + param.m_memory_class_sizing= 12; + param.m_metadata_lock_sizing= 10; param.m_max_digest_length= 0; + param.m_max_sql_text_length= 1000; param.m_mutex_sizing= 0; param.m_rwlock_sizing= 0; @@ -1530,6 +1602,13 @@ void test_event_name_index() param.m_setup_actor_sizing= 0; param.m_setup_object_sizing= 0; + param.m_hints.m_table_definition_cache = 100; + param.m_hints.m_table_open_cache = 100; + param.m_hints.m_max_connections = 100; + param.m_hints.m_open_files_limit = 100; + param.m_hints.m_max_prepared_stmt_count= 100; + + pre_initialize_performance_schema(); boot= initialize_performance_schema(& param); ok(boot != NULL, "bootstrap"); psi= (PSI*) boot->get_interface(PSI_VERSION_1); @@ -1547,10 +1626,10 @@ void test_event_name_index() psi->register_mutex("X", dummy_mutexes, 2); mutex_class= find_mutex_class(dummy_mutex_key_1); ok(mutex_class != NULL, "mutex class 1"); - ok(mutex_class->m_event_name_index == 3, "index 3"); + ok(mutex_class->m_event_name_index == 4, "index 4"); mutex_class= find_mutex_class(dummy_mutex_key_2); ok(mutex_class != NULL, "mutex class 2"); - ok(mutex_class->m_event_name_index == 4, "index 4"); + ok(mutex_class->m_event_name_index == 5, "index 5"); PFS_rwlock_class *rwlock_class; PSI_rwlock_key dummy_rwlock_key_1; @@ -1564,10 +1643,10 @@ void test_event_name_index() psi->register_rwlock("X", dummy_rwlocks, 2); rwlock_class= find_rwlock_class(dummy_rwlock_key_1); ok(rwlock_class != NULL, "rwlock class 1"); - ok(rwlock_class->m_event_name_index == 13, "index 13"); + ok(rwlock_class->m_event_name_index == 14, "index 14"); rwlock_class= find_rwlock_class(dummy_rwlock_key_2); ok(rwlock_class != NULL, "rwlock class 2"); - ok(rwlock_class->m_event_name_index == 14, "index 14"); + ok(rwlock_class->m_event_name_index == 15, "index 15"); PFS_cond_class *cond_class; PSI_cond_key dummy_cond_key_1; @@ -1581,10 +1660,10 @@ void test_event_name_index() psi->register_cond("X", dummy_conds, 2); cond_class= find_cond_class(dummy_cond_key_1); ok(cond_class != NULL, "cond class 1"); - ok(cond_class->m_event_name_index == 33, "index 33"); + ok(cond_class->m_event_name_index == 34, "index 34"); cond_class= find_cond_class(dummy_cond_key_2); ok(cond_class != NULL, "cond class 2"); - ok(cond_class->m_event_name_index == 34, "index 34"); + ok(cond_class->m_event_name_index == 35, "index 35"); PFS_file_class *file_class; PSI_file_key dummy_file_key_1; @@ -1598,10 +1677,10 @@ void test_event_name_index() psi->register_file("X", dummy_files, 2); file_class= find_file_class(dummy_file_key_1); ok(file_class != NULL, "file class 1"); - ok(file_class->m_event_name_index == 73, "index 73"); + ok(file_class->m_event_name_index == 74, "index 74"); file_class= find_file_class(dummy_file_key_2); ok(file_class != NULL, "file class 2"); - ok(file_class->m_event_name_index == 74, "index 74"); + ok(file_class->m_event_name_index == 75, "index 75"); PFS_socket_class *socket_class; PSI_socket_key dummy_socket_key_1; @@ -1615,14 +1694,162 @@ void test_event_name_index() psi->register_socket("X", dummy_sockets, 2); socket_class= find_socket_class(dummy_socket_key_1); ok(socket_class != NULL, "socket class 1"); - ok(socket_class->m_event_name_index == 153, "index 153"); + ok(socket_class->m_event_name_index == 154, "index 154"); socket_class= find_socket_class(dummy_socket_key_2); ok(socket_class != NULL, "socket class 2"); - ok(socket_class->m_event_name_index == 154, "index 154"); + ok(socket_class->m_event_name_index == 155, "index 155"); ok(global_table_io_class.m_event_name_index == 0, "index 0"); ok(global_table_lock_class.m_event_name_index == 1, "index 1"); - ok(wait_class_max= 313, "313 event names"); // 3 global classes + ok(wait_class_max= 314, "314 event names"); // 4 global classes + + shutdown_performance_schema(); +} + +void test_memory_instruments() +{ + PSI *psi; + PSI_thread *owner; + + diag("test_memory_instruments"); + + psi= load_perfschema(); + + PSI_memory_key memory_key_A; + PSI_memory_info all_memory[]= + { + { & memory_key_A, "M-A", 0} + }; + + PSI_thread_key thread_key_1; + PSI_thread_info all_thread[]= + { + { & thread_key_1, "T-1", 0} + }; + + psi->register_memory("test", all_memory, 1); + psi->register_thread("test", all_thread, 1); + + PFS_memory_class *memory_class_A; + PSI_thread *thread_1; + PSI_memory_key key; + + /* Preparation */ + + thread_1= psi->new_thread(thread_key_1, NULL, 0); + ok(thread_1 != NULL, "T-1"); + psi->set_thread_id(thread_1, 1); + + memory_class_A= find_memory_class(memory_key_A); + ok(memory_class_A != NULL, "memory info A"); + + /* Pretend thread T-1 is running, and enabled */ + /* ------------------------------------------ */ + + psi->set_thread(thread_1); + setup_thread(thread_1, true); + + /* Enable all instruments */ + + memory_class_A->m_enabled= true; + + /* for coverage, need to print stats collected. */ + + key= psi->memory_alloc(memory_key_A, 100, & owner); + ok(key == memory_key_A, "alloc memory info A"); + key= psi->memory_realloc(memory_key_A, 100, 200, & owner); + ok(key == memory_key_A, "realloc memory info A"); + key= psi->memory_realloc(memory_key_A, 200, 300, & owner); + ok(key == memory_key_A, "realloc up memory info A"); + key= psi->memory_realloc(memory_key_A, 300, 50, & owner); + ok(key == memory_key_A, "realloc down memory info A"); + psi->memory_free(memory_key_A, 50, owner); + + /* Use global instrumentation only */ + /* ------------------------------- */ + + flag_thread_instrumentation= false; + + key= psi->memory_alloc(memory_key_A, 100, & owner); + ok(key == memory_key_A, "alloc memory info A"); + key= psi->memory_realloc(memory_key_A, 100, 200, & owner); + ok(key == memory_key_A, "realloc memory info A"); + key= psi->memory_realloc(memory_key_A, 200, 300, & owner); + ok(key == memory_key_A, "realloc up memory info A"); + key= psi->memory_realloc(memory_key_A, 300, 50, & owner); + ok(key == memory_key_A, "realloc down memory info A"); + psi->memory_free(memory_key_A, 50, owner); + + /* Garbage, for robustness */ + /* ----------------------- */ + + key= psi->memory_alloc(9999, 100, & owner); + ok(key == PSI_NOT_INSTRUMENTED, "alloc with unknown key"); + key= psi->memory_realloc(PSI_NOT_INSTRUMENTED, 100, 200, & owner); + ok(key == PSI_NOT_INSTRUMENTED, "realloc with unknown key"); + psi->memory_free(PSI_NOT_INSTRUMENTED, 200, owner); + + shutdown_performance_schema(); +} + +void test_leaks() +{ + PSI_bootstrap *boot; + PFS_global_param param; + + /* Allocate everything, to make sure cleanup does not forget anything. */ + + memset(& param, 0xFF, sizeof(param)); + param.m_enabled= true; + param.m_mutex_class_sizing= 10; + param.m_rwlock_class_sizing= 10; + param.m_cond_class_sizing= 10; + param.m_thread_class_sizing= 10; + param.m_table_share_sizing= 10; + param.m_file_class_sizing= 10; + param.m_socket_class_sizing= 10; + param.m_mutex_sizing= 1000; + param.m_rwlock_sizing= 1000; + param.m_cond_sizing= 1000; + param.m_thread_sizing= 1000; + param.m_table_sizing= 1000; + param.m_file_sizing= 1000; + param.m_file_handle_sizing= 1000; + param.m_socket_sizing= 1000; + param.m_events_waits_history_sizing= 10; + param.m_events_waits_history_long_sizing= 1000; + param.m_setup_actor_sizing= 1000; + param.m_setup_object_sizing= 1000; + param.m_host_sizing= 1000; + param.m_user_sizing= 1000; + param.m_account_sizing= 1000; + param.m_stage_class_sizing= 10; + param.m_events_stages_history_sizing= 10; + param.m_events_stages_history_long_sizing= 1000; + param.m_statement_class_sizing= 10; + param.m_events_statements_history_sizing= 10; + param.m_events_statements_history_long_sizing= 1000; + param.m_session_connect_attrs_sizing= 1000; + param.m_memory_class_sizing= 10; + param.m_metadata_lock_sizing= 1000; + param.m_digest_sizing= 1000; + param.m_program_sizing= 1000; + param.m_statement_stack_sizing= 10; + param.m_max_digest_length= 1000; + param.m_max_sql_text_length= 1000; + + param.m_hints.m_table_definition_cache = 100; + param.m_hints.m_table_open_cache = 100; + param.m_hints.m_max_connections = 100; + param.m_hints.m_open_files_limit = 100; + param.m_hints.m_max_prepared_stmt_count= 100; + + pre_initialize_performance_schema(); + boot= initialize_performance_schema(& param); + ok(boot != NULL, "bootstrap"); + shutdown_performance_schema(); + + /* Leaks will be reported with valgrind */ } void do_all_tests() @@ -1635,11 +1862,14 @@ void do_all_tests() test_locker_disabled(); test_file_instrumentation_leak(); test_event_name_index(); + test_memory_instruments(); + test_leaks(); } int main(int, char **) { - plan(216); + plan(232); + MY_INIT("pfs-t"); do_all_tests(); return 0; diff --git a/storage/perfschema/unittest/pfs_account-oom-t.cc b/storage/perfschema/unittest/pfs_account-oom-t.cc index ef8a7c195e0..6d9967d1947 100644 --- a/storage/perfschema/unittest/pfs_account-oom-t.cc +++ b/storage/perfschema/unittest/pfs_account-oom-t.cc @@ -14,103 +14,153 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include <my_global.h> -#include <my_pthread.h> +#include <my_thread.h> #include <pfs_instr.h> #include <pfs_stat.h> #include <pfs_global.h> +#include <pfs_defaults.h> +#include <pfs_user.h> +#include <pfs_host.h> #include <pfs_account.h> +#include <pfs_buffer_container.h> #include <tap.h> #include "stub_pfs_global.h" +#include "stub_global_status_var.h" #include <string.h> /* memset */ -void test_oom() -{ - int rc; - PFS_global_param param; - - memset(& param, 0xFF, sizeof(param)); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 10; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 1000; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_events_waits_history_sizing= 10; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 1000; - param.m_stage_class_sizing= 50; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 50; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - - /* Setup */ +PFS_thread pfs_thread; +void initialize_performance_schema_helper(PFS_global_param *param) +{ stub_alloc_always_fails= false; stub_alloc_fails_after_count= 1000; - init_event_name_sizing(& param); - rc= init_stage_class(param.m_stage_class_sizing); - ok(rc == 0, "init stage class"); - rc= init_statement_class(param.m_statement_class_sizing); - ok(rc == 0, "init statement class"); + param->m_enabled= true; + param->m_thread_class_sizing= 10; + param->m_thread_sizing= 1000; + param->m_account_sizing= 1000; + transaction_class_max= 0; + + pfs_thread.m_account_hash_pins= NULL; + + init_event_name_sizing(param); + init_sync_class(param->m_mutex_class_sizing, param->m_rwlock_class_sizing, param->m_cond_class_sizing); + init_thread_class(param->m_thread_class_sizing); + init_table_share(param->m_table_share_sizing); + init_table_share_lock_stat(param->m_table_lock_stat_sizing); + init_table_share_index_stat(param->m_index_stat_sizing); + init_file_class(param->m_file_class_sizing); + init_stage_class(param->m_stage_class_sizing); + init_statement_class(param->m_statement_class_sizing); + init_socket_class(param->m_socket_class_sizing); + init_memory_class(param->m_memory_class_sizing); + init_instruments(param); + init_events_waits_history_long(param->m_events_waits_history_long_sizing); + init_events_stages_history_long(param->m_events_stages_history_long_sizing); + init_events_statements_history_long(param->m_events_statements_history_long_sizing); + init_events_transactions_history_long(param->m_events_transactions_history_long_sizing); + init_file_hash(param); + init_table_share_hash(param); + init_setup_actor(param); + init_setup_actor_hash(param); + init_setup_object(param); + init_setup_object_hash(param); + init_host(param); + init_host_hash(param); + init_user(param); + init_user_hash(param); + init_account(param); + init_account_hash(param); + init_digest(param); + init_digest_hash(param); + init_program(param); + init_program_hash(param); + init_prepared_stmt(param); + pfs_initialized= true; +} - /* Tests */ +void test_oom() +{ + PFS_global_param param; + PFS_account *pfs_account; + const char *username= "username"; + const char *hostname= "hostname"; - stub_alloc_fails_after_count= 1; - rc= init_account(& param); - ok(rc == 1, "oom (account)"); - cleanup_account(); + uint user_len= (uint)strlen(username); + uint host_len= (uint)strlen(hostname); + /* Account. */ + memset(¶m, 0, sizeof(param)); + initialize_performance_schema_helper(¶m); + stub_alloc_fails_after_count= 1; + pfs_account= find_or_create_account(&pfs_thread, username, user_len, hostname, host_len); + ok(pfs_account == NULL, "oom (account)"); + ok(global_account_container.m_lost == 1, "lost (account)"); + shutdown_performance_schema(); + + /* Account waits. */ + memset(¶m, 0, sizeof(param)); + param.m_mutex_class_sizing= 10; + initialize_performance_schema_helper(¶m); stub_alloc_fails_after_count= 2; - rc= init_account(& param); - ok(rc == 1, "oom (account waits)"); - cleanup_account(); - - stub_alloc_fails_after_count= 3; - rc= init_account(& param); - ok(rc == 1, "oom (account stages)"); - cleanup_account(); + pfs_account= find_or_create_account(&pfs_thread, username, user_len, hostname, host_len); + ok(pfs_account == NULL, "oom (account waits)"); + ok(global_account_container.m_lost == 1, "lost (account waits)"); + shutdown_performance_schema(); - stub_alloc_fails_after_count= 4; - rc= init_account(& param); - ok(rc == 1, "oom (account statements)"); - cleanup_account(); - cleanup_statement_class(); - cleanup_stage_class(); + /* Account stages. */ + memset(¶m, 0, sizeof(param)); + param.m_stage_class_sizing= 10; + initialize_performance_schema_helper(¶m); + stub_alloc_fails_after_count= 3; + pfs_account= find_or_create_account(&pfs_thread, username, user_len, hostname, host_len); + ok(pfs_account == NULL, "oom (account stages)"); + ok(global_account_container.m_lost == 1, "lost (account stages)"); + shutdown_performance_schema(); + + /* Account statements. */ + memset(¶m, 0, sizeof(param)); + param.m_statement_class_sizing= 10; + initialize_performance_schema_helper(¶m); + stub_alloc_fails_after_count= 3; + pfs_account= find_or_create_account(&pfs_thread, username, user_len, hostname, host_len); + ok(pfs_account == NULL, "oom (account statements)"); + ok(global_account_container.m_lost == 1, "lost (account statements)"); + shutdown_performance_schema(); + + /* Account transactions. */ + memset(¶m, 0, sizeof(param)); + initialize_performance_schema_helper(¶m); + transaction_class_max= 1; + stub_alloc_fails_after_count= 3; + pfs_account= find_or_create_account(&pfs_thread, username, user_len, hostname, host_len); + ok(pfs_account == NULL, "oom (account transactions)"); + ok(global_account_container.m_lost == 1, "lost (account transactions)"); + shutdown_performance_schema(); + + /* Account memory. */ + memset(¶m, 0, sizeof(param)); + param.m_memory_class_sizing= 10; + initialize_performance_schema_helper(¶m); + stub_alloc_fails_after_count= 3; + pfs_account= find_or_create_account(&pfs_thread, username, user_len, hostname, host_len); + ok(pfs_account == NULL, "oom (account memory)"); + ok(global_account_container.m_lost == 1, "lost (account memory)"); + shutdown_performance_schema(); } void do_all_tests() { - PFS_atomic::init(); - test_oom(); - - PFS_atomic::cleanup(); } int main(int, char **) { - plan(6); + plan(12); MY_INIT("pfs_account-oom-t"); do_all_tests(); return 0; } - diff --git a/storage/perfschema/unittest/pfs_connect_attr-t.cc b/storage/perfschema/unittest/pfs_connect_attr-t.cc index 7bee1d063a1..346a8158d12 100644 --- a/storage/perfschema/unittest/pfs_connect_attr-t.cc +++ b/storage/perfschema/unittest/pfs_connect_attr-t.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,7 +14,7 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include <my_global.h> -#include <my_pthread.h> +#include <my_thread.h> #include <pfs_server.h> #include <pfs_instr_class.h> #include <pfs_instr.h> @@ -251,7 +251,7 @@ void test_utf8_parser_bad_encoding() ptr= packet; *ptr++= strlen(attr); memcpy(ptr, attr, strlen(attr)); - ptr[0]= 0xFA; // invalid UTF-8 char + ptr[0]= (char)0xFA; // invalid UTF-8 char ptr+= strlen(attr); *ptr++= strlen(val); memcpy(ptr, val, strlen(val)); diff --git a/storage/perfschema/unittest/pfs_host-oom-t.cc b/storage/perfschema/unittest/pfs_host-oom-t.cc index 6627dd48df2..fa27f8722bd 100644 --- a/storage/perfschema/unittest/pfs_host-oom-t.cc +++ b/storage/perfschema/unittest/pfs_host-oom-t.cc @@ -14,21 +14,26 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include <my_global.h> -#include <my_pthread.h> +#include <my_thread.h> #include <pfs_instr.h> #include <pfs_stat.h> #include <pfs_global.h> #include <pfs_host.h> +#include <pfs_buffer_container.h> #include <tap.h> #include "stub_pfs_global.h" +#include "stub_global_status_var.h" #include <string.h> /* memset */ +extern struct PSI_bootstrap PFS_bootstrap; + void test_oom() { - int rc; + PSI *psi; PFS_global_param param; + PSI_bootstrap *boot; memset(& param, 0xFF, sizeof(param)); param.m_enabled= true; @@ -38,6 +43,7 @@ void test_oom() param.m_thread_class_sizing= 10; param.m_table_share_sizing= 0; param.m_file_class_sizing= 0; + param.m_socket_class_sizing= 0; param.m_mutex_sizing= 0; param.m_rwlock_sizing= 0; param.m_cond_sizing= 0; @@ -45,12 +51,13 @@ void test_oom() param.m_table_sizing= 0; param.m_file_sizing= 0; param.m_file_handle_sizing= 0; + param.m_socket_sizing= 0; param.m_events_waits_history_sizing= 10; param.m_events_waits_history_long_sizing= 0; param.m_setup_actor_sizing= 0; param.m_setup_object_sizing= 0; - param.m_host_sizing= 1000; param.m_user_sizing= 0; + param.m_host_sizing= 1000; param.m_account_sizing= 0; param.m_stage_class_sizing= 50; param.m_events_stages_history_sizing= 0; @@ -58,52 +65,69 @@ void test_oom() param.m_statement_class_sizing= 50; param.m_events_statements_history_sizing= 0; param.m_events_statements_history_long_sizing= 0; + param.m_events_transactions_history_sizing= 0; + param.m_events_transactions_history_long_sizing= 0; + param.m_digest_sizing= 0; param.m_session_connect_attrs_sizing= 0; + param.m_program_sizing= 0; + param.m_statement_stack_sizing= 0; + param.m_memory_class_sizing= 10; + param.m_metadata_lock_sizing= 0; + param.m_max_digest_length= 0; + param.m_max_sql_text_length= 0; /* Setup */ stub_alloc_always_fails= false; stub_alloc_fails_after_count= 1000; - init_event_name_sizing(& param); - rc= init_stage_class(param.m_stage_class_sizing); - ok(rc == 0, "init stage class"); - rc= init_statement_class(param.m_statement_class_sizing); - ok(rc == 0, "init statement class"); + pre_initialize_performance_schema(); + boot= initialize_performance_schema(¶m); + psi= (PSI *)boot->get_interface(PSI_VERSION_1); + + PSI_thread_key thread_key_1; + PSI_thread_info all_thread[]= + { + {&thread_key_1, "T-1", 0} + }; + psi->register_thread("test", all_thread, 1); + + PSI_thread *thread_1= psi->new_thread(thread_key_1, NULL, 0); + psi->set_thread(thread_1); /* Tests */ - stub_alloc_fails_after_count= 1; - rc= init_host(& param); - ok(rc == 1, "oom (host)"); - cleanup_host(); + int first_fail= 1; + stub_alloc_fails_after_count= first_fail; + psi->set_thread_account("", 0, "host1", 5); + ok(global_host_container.m_lost == 1, "oom (host)"); - stub_alloc_fails_after_count= 2; - rc= init_host(& param); - ok(rc == 1, "oom (host waits)"); - cleanup_host(); + stub_alloc_fails_after_count= first_fail + 1; + psi->set_thread_account("", 0, "host2", 5); + ok(global_host_container.m_lost == 2, "oom (host waits)"); - stub_alloc_fails_after_count= 3; - rc= init_host(& param); - ok(rc == 1, "oom (host stages)"); - cleanup_host(); + stub_alloc_fails_after_count= first_fail + 2; + psi->set_thread_account("", 0, "host3", 5); + ok(global_host_container.m_lost == 3, "oom (host stages)"); - stub_alloc_fails_after_count= 4; - rc= init_host(& param); - ok(rc == 1, "oom (host statements)"); - cleanup_host(); + stub_alloc_fails_after_count= first_fail + 3; + psi->set_thread_account("", 0, "host4", 5); + ok(global_host_container.m_lost == 4, "oom (host statements)"); - cleanup_statement_class(); - cleanup_stage_class(); + stub_alloc_fails_after_count= first_fail + 4; + psi->set_thread_account("", 0, "host5", 5); + ok(global_host_container.m_lost == 5, "oom (host transactions)"); + + stub_alloc_fails_after_count= first_fail + 5; + psi->set_thread_account("", 0, "host6", 5); + ok(global_host_container.m_lost == 6, "oom (host memory)"); + + shutdown_performance_schema(); } void do_all_tests() { - PFS_atomic::init(); - test_oom(); - - PFS_atomic::cleanup(); } int main(int, char **) diff --git a/storage/perfschema/unittest/pfs_instr-oom-t.cc b/storage/perfschema/unittest/pfs_instr-oom-t.cc index 161060aa6bf..db74c9cf2d3 100644 --- a/storage/perfschema/unittest/pfs_instr-oom-t.cc +++ b/storage/perfschema/unittest/pfs_instr-oom-t.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,43 +14,136 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include <my_global.h> -#include <my_pthread.h> +#include <my_thread.h> #include <pfs_instr.h> #include <pfs_stat.h> #include <pfs_global.h> +#include <pfs_user.h> +#include <pfs_host.h> +#include <pfs_account.h> #include <pfs_instr_class.h> +#include <pfs_buffer_container.h> #include <tap.h> #include "stub_pfs_global.h" +#include "stub_global_status_var.h" #include <string.h> /* memset */ +extern struct PSI_bootstrap PFS_bootstrap; + +PSI_thread_key thread_key_1; +PSI_thread_info all_thread[]= +{ + {&thread_key_1, "T-1", 0} +}; + +/** Simulate initialize_performance_schema(). */ + +PSI * initialize_performance_schema_helper(PFS_global_param *param) +{ + PSI *psi; + + stub_alloc_always_fails= false; + stub_alloc_fails_after_count= 1000; + + param->m_enabled= true; + param->m_thread_class_sizing= 10; + param->m_thread_sizing= 1000; + + pre_initialize_performance_schema(); + + init_event_name_sizing(param); + init_sync_class(param->m_mutex_class_sizing, param->m_rwlock_class_sizing, param->m_cond_class_sizing); + init_thread_class(param->m_thread_class_sizing); + init_table_share(param->m_table_share_sizing); + init_table_share_lock_stat(param->m_table_lock_stat_sizing); + init_table_share_index_stat(param->m_index_stat_sizing); + init_file_class(param->m_file_class_sizing); + init_stage_class(param->m_stage_class_sizing); + init_statement_class(param->m_statement_class_sizing); + init_socket_class(param->m_socket_class_sizing); + init_memory_class(param->m_memory_class_sizing); + init_instruments(param); + init_events_waits_history_long(param->m_events_waits_history_long_sizing); + init_events_stages_history_long(param->m_events_stages_history_long_sizing); + init_events_statements_history_long(param->m_events_statements_history_long_sizing); + init_events_transactions_history_long(param->m_events_transactions_history_long_sizing); + init_file_hash(param); + init_table_share_hash(param); + init_setup_actor(param); + init_setup_actor_hash(param); + init_setup_object(param); + init_setup_object_hash(param); + init_host(param); + init_host_hash(param); + init_user(param); + init_user_hash(param); + init_account(param); + init_account_hash(param); + init_digest(param); + init_digest_hash(param); + init_program(param); + init_program_hash(param); + init_prepared_stmt(param); + pfs_initialized= true; + + PSI_bootstrap *boot= &PFS_bootstrap; + psi= (PSI *)boot->get_interface(PSI_VERSION_1); + psi->register_thread("test", all_thread, 1); + return (psi); +} + void test_oom() { int rc; + PSI *psi; PFS_global_param param; - stub_alloc_always_fails= true; + stub_alloc_always_fails= false; + stub_alloc_fails_after_count= 1000; + + PFS_mutex_class dummy_mutex_class; + PFS_rwlock_class dummy_rwlock_class; + PFS_cond_class dummy_cond_class; + PFS_thread_class dummy_thread_class; + PFS_file_class dummy_file_class; + PFS_socket_class dummy_socket_class; + PFS_table_share dummy_table_share; + PFS_mutex *mutex_1; + PFS_mutex *mutex_2; + PFS_rwlock *rwlock_1; + PFS_rwlock *rwlock_2; + PFS_cond *cond_1; + PFS_cond *cond_2; + PFS_thread *thread_1; + PFS_thread *thread_2; + PFS_file *file_1; + PFS_file *file_2; + PFS_socket *socket_1; + PFS_socket *socket_2; + PFS_table *table_1; + PFS_table *table_2; memset(& param, 0xFF, sizeof(param)); param.m_enabled= true; - param.m_mutex_class_sizing= 10; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 0; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_socket_class_sizing= 0; - param.m_mutex_sizing= 1000; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 0; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_socket_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; + param.m_mutex_class_sizing= 1; + param.m_rwlock_class_sizing= 1; + param.m_cond_class_sizing= 1; + param.m_thread_class_sizing= 1; + param.m_table_share_sizing= 1; + param.m_file_class_sizing= 1; + param.m_socket_class_sizing= 1; + param.m_mutex_sizing= 1; + param.m_rwlock_sizing= 1; + param.m_cond_sizing= 1; + param.m_thread_sizing= 1; + param.m_table_sizing= 1; + param.m_file_sizing= 1; + param.m_file_handle_sizing= 100; + param.m_socket_sizing= 2; + param.m_events_waits_history_sizing= 10; + param.m_events_waits_history_long_sizing= 10000; param.m_setup_actor_sizing= 0; param.m_setup_object_sizing= 0; param.m_host_sizing= 0; @@ -62,549 +155,228 @@ void test_oom() param.m_statement_class_sizing= 0; param.m_events_statements_history_sizing= 0; param.m_events_statements_history_long_sizing= 0; + param.m_events_transactions_history_sizing= 0; + param.m_events_transactions_history_long_sizing= 0; + param.m_digest_sizing= 0; param.m_session_connect_attrs_sizing= 0; - - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (mutex)"); + param.m_program_sizing= 0; + param.m_prepared_stmt_sizing= 0; + param.m_statement_stack_sizing= 0; + param.m_memory_class_sizing= 1; + param.m_metadata_lock_sizing= 0; + param.m_max_digest_length= 0; + param.m_max_sql_text_length= 0; + + init_event_name_sizing(¶m); + rc= init_instruments(¶m); + ok(rc == 0, "instances init"); + + dummy_mutex_class.m_event_name_index= 0; + dummy_mutex_class.m_flags= 0; + dummy_mutex_class.m_enabled= true; + dummy_mutex_class.m_volatility= PSI_VOLATILITY_UNKNOWN; + dummy_rwlock_class.m_event_name_index= 1; + dummy_rwlock_class.m_flags= 0; + dummy_rwlock_class.m_enabled= true; + dummy_rwlock_class.m_volatility= PSI_VOLATILITY_UNKNOWN; + dummy_cond_class.m_event_name_index= 2; + dummy_cond_class.m_flags= 0; + dummy_cond_class.m_enabled= true; + dummy_cond_class.m_volatility = PSI_VOLATILITY_UNKNOWN; + dummy_file_class.m_event_name_index= 3; + dummy_file_class.m_flags= 0; + dummy_file_class.m_enabled= true; + dummy_file_class.m_volatility = PSI_VOLATILITY_UNKNOWN; + dummy_socket_class.m_event_name_index= 4; + dummy_socket_class.m_flags= 0; + dummy_socket_class.m_enabled= true; + dummy_socket_class.m_volatility = PSI_VOLATILITY_UNKNOWN; + dummy_table_share.m_enabled= true; + dummy_table_share.m_timed= true; + + /* Create mutex. */ + stub_alloc_always_fails= false; + mutex_1= create_mutex(&dummy_mutex_class, NULL); + ok(mutex_1 != NULL, "create mutex"); + destroy_mutex(mutex_1); cleanup_instruments(); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 10; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 0; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_socket_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 1000; - param.m_cond_sizing= 0; - param.m_thread_sizing= 0; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_socket_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (rwlock)"); + stub_alloc_always_fails= true; + mutex_2= create_mutex(&dummy_mutex_class, NULL); + ok(mutex_2 == NULL, "oom (create mutex)"); + + /* Create rwlock. */ + stub_alloc_always_fails = false; + rc = init_instruments(¶m); + ok(rc == 0, "instances init"); + rwlock_1= create_rwlock(&dummy_rwlock_class, NULL); + ok(rwlock_1 != NULL, "create rwlock"); + destroy_rwlock(rwlock_1); cleanup_instruments(); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 10; - param.m_thread_class_sizing= 0; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_socket_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 1000; - param.m_thread_sizing= 0; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_socket_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (cond)"); + stub_alloc_always_fails= true; + rwlock_2= create_rwlock(&dummy_rwlock_class, NULL); + ok(rwlock_2 == NULL, "oom (create rwlock)"); + + /* Create cond. */ + stub_alloc_always_fails = false; + rc = init_instruments(¶m); + ok(rc == 0, "instances init"); + cond_1= create_cond(&dummy_cond_class, NULL); + ok(cond_1 != NULL, "create cond"); + destroy_cond(cond_1); cleanup_instruments(); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 0; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 10; - param.m_socket_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 0; - param.m_table_sizing= 0; - param.m_file_sizing= 1000; - param.m_file_handle_sizing= 1000; - param.m_socket_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (file)"); - cleanup_instruments(); + stub_alloc_always_fails= true; + cond_2= create_cond(&dummy_cond_class, NULL); + ok(cond_2 == NULL, "oom (create cond)"); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 0; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 0; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 1000; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; + /* Create file. */ + stub_alloc_always_fails = false; + PFS_thread fake_thread; + fake_thread.m_filename_hash_pins= NULL; + init_file_hash(¶m); + rc = init_instruments(¶m); + ok(rc == 0, "instances init"); - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (file handle)"); + stub_alloc_always_fails= false; + file_1= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); + ok(file_1 != NULL, "create file"); + release_file(file_1); cleanup_instruments(); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 0; - param.m_table_share_sizing= 10; - param.m_file_class_sizing= 0; - param.m_socket_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 0; - param.m_table_sizing= 1000; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_socket_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (table)"); + stub_alloc_always_fails= true; + file_2= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); + ok(file_2 == NULL, "oom (create file)"); + + /* Create socket. */ + stub_alloc_always_fails = false; + rc = init_instruments(¶m); + ok(rc == 0, "instances init"); + socket_1= create_socket(&dummy_socket_class, NULL, NULL, 0); + ok(socket_1 != NULL, "create socket"); + destroy_socket(socket_1); cleanup_instruments(); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 10; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_socket_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 1000; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_socket_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; + stub_alloc_always_fails= true; + socket_2= create_socket(&dummy_socket_class, NULL, NULL, 0); + ok(socket_2 == NULL, "oom (create socket)"); - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (thread)"); + /* Create table. */ + stub_alloc_always_fails= false; + rc = init_instruments(¶m); + table_1= create_table(&dummy_table_share, &fake_thread, NULL); + ok(table_1 != NULL, "create table"); + destroy_table(table_1); cleanup_instruments(); + stub_alloc_always_fails= true; + table_2= create_table(&dummy_table_share, &fake_thread, NULL); + ok(table_2 == NULL, "oom (create table)"); + + /* Create thread. */ stub_alloc_always_fails= false; + rc = init_instruments(¶m); + thread_1= create_thread(&dummy_thread_class, NULL, 0); + ok(thread_1 != NULL, "create thread"); + destroy_thread(thread_1); + cleanup_instruments(); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 10; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_socket_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 1000; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_socket_sizing= 0; - param.m_events_waits_history_sizing= 10; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; + stub_alloc_always_fails= true; + thread_2= create_thread(&dummy_thread_class, NULL, 0); + ok(thread_2 == NULL, "oom (create thread)"); - stub_alloc_fails_after_count= 2; - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (thread waits history sizing)"); - cleanup_instruments(); + PSI_thread *thread; - param.m_enabled= true; + /* Per thread wait. */ + memset(¶m, 0, sizeof(param)); param.m_mutex_class_sizing= 50; param.m_rwlock_class_sizing= 50; param.m_cond_class_sizing= 50; - param.m_thread_class_sizing= 10; - param.m_table_share_sizing= 0; param.m_file_class_sizing= 50; param.m_socket_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 1000; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_socket_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - + psi= initialize_performance_schema_helper(¶m); stub_alloc_fails_after_count= 2; - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (per thread wait)"); + thread= psi->new_thread(thread_key_1, NULL, 0); + ok(thread == NULL, "oom (per thread wait)"); + cleanup_instruments(); + /* Thread waits history sizing. */ + memset(¶m, 0, sizeof(param)); param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 0; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_socket_class_sizing= 10; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 0; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_socket_sizing= 1000; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (socket)"); - + param.m_events_waits_history_sizing= 10; + psi= initialize_performance_schema_helper(¶m); + stub_alloc_fails_after_count= 3; + thread= psi->new_thread(thread_key_1, NULL, 0); + ok(thread == NULL, "oom (thread waits history sizing)"); cleanup_instruments(); - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - - stub_alloc_fails_after_count= 1; - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (per thread waits)"); + /* Per thread stages. */ + memset(¶m, 0, sizeof(param)); + param.m_stage_class_sizing= 50; + psi= initialize_performance_schema_helper(¶m); + stub_alloc_fails_after_count= 3; + thread= psi->new_thread(thread_key_1, NULL, 0); + ok(thread == NULL, "oom (per thread stages)"); cleanup_instruments(); + cleanup_stage_class(); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 10; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 1000; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; + /* Thread stages history sizing. */ + memset(¶m, 0, sizeof(param)); param.m_events_stages_history_sizing= 10; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - + psi= initialize_performance_schema_helper(¶m); stub_alloc_fails_after_count= 3; - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (thread stages history sizing)"); + thread= psi->new_thread(thread_key_1, NULL, 0); + ok(thread == NULL, "oom (thread stages history sizing)"); cleanup_instruments(); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 10; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 1000; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; + /* Per thread statements. */ + memset(¶m, 0, sizeof(param)); param.m_stage_class_sizing= 50; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - - stub_alloc_fails_after_count= 2; - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (per thread stages)"); + psi= initialize_performance_schema_helper(¶m); + init_statement_class(param.m_statement_class_sizing); + stub_alloc_fails_after_count= 3; + thread= psi->new_thread(thread_key_1, NULL, 0); + ok(thread == NULL, "oom (per thread statements)"); cleanup_instruments(); + cleanup_statement_class(); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 10; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 1000; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; + /* Thread statements history sizing. */ + memset(¶m, 0, sizeof(param)); param.m_events_statements_history_sizing= 10; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - - stub_alloc_fails_after_count= 2; - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (thread statements history sizing)"); + psi= initialize_performance_schema_helper(¶m); + stub_alloc_fails_after_count= 3; + thread= psi->new_thread(thread_key_1, NULL, 0); + ok(thread == NULL, "oom (thread statements history sizing)"); cleanup_instruments(); - param.m_enabled= true; - param.m_mutex_class_sizing= 0; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 10; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 1000; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 50; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - - stub_alloc_fails_after_count= 2; - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (per thread statements)"); + /* Per thread transactions. */ + memset(¶m, 0, sizeof(param)); + psi= initialize_performance_schema_helper(¶m); + transaction_class_max= 1; // set by register_global_classes(); + stub_alloc_fails_after_count= 3; + thread= psi->new_thread(thread_key_1, NULL, 0); + ok(thread == NULL, "oom (per thread transactions)"); + transaction_class_max= 0; cleanup_instruments(); - param.m_enabled= true; - param.m_mutex_class_sizing= 10; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 0; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 0; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - - stub_alloc_fails_after_count= 1; - init_event_name_sizing(& param); - rc= init_instruments(& param); - ok(rc == 1, "oom (global waits)"); + /* Thread transactions history sizing. */ + memset(¶m, 0, sizeof(param)); + param.m_events_transactions_history_sizing= 10; + psi= initialize_performance_schema_helper(¶m); + stub_alloc_fails_after_count= 3; + thread= psi->new_thread(thread_key_1, NULL, 0); + ok(thread == NULL, "oom (thread transactions history sizing)"); cleanup_instruments(); + /* Global stages. */ + memset(¶m, 0, sizeof(param)); param.m_enabled= true; param.m_mutex_class_sizing= 10; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 0; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 0; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; param.m_stage_class_sizing= 20; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; - param.m_statement_class_sizing= 0; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - stub_alloc_fails_after_count= 3; - init_event_name_sizing(& param); + stub_alloc_fails_after_count= 2; + init_event_name_sizing(¶m); rc= init_stage_class(param.m_stage_class_sizing); ok(rc == 0, "init stage class"); rc= init_instruments(& param); @@ -612,57 +384,45 @@ void test_oom() cleanup_instruments(); cleanup_stage_class(); + /* Global statements. */ + memset(¶m, 0, sizeof(param)); param.m_enabled= true; param.m_mutex_class_sizing= 10; - param.m_rwlock_class_sizing= 0; - param.m_cond_class_sizing= 0; - param.m_thread_class_sizing= 0; - param.m_table_share_sizing= 0; - param.m_file_class_sizing= 0; - param.m_mutex_sizing= 0; - param.m_rwlock_sizing= 0; - param.m_cond_sizing= 0; - param.m_thread_sizing= 0; - param.m_table_sizing= 0; - param.m_file_sizing= 0; - param.m_file_handle_sizing= 0; - param.m_events_waits_history_sizing= 0; - param.m_events_waits_history_long_sizing= 0; - param.m_setup_actor_sizing= 0; - param.m_setup_object_sizing= 0; - param.m_host_sizing= 0; - param.m_user_sizing= 0; - param.m_account_sizing= 0; - param.m_stage_class_sizing= 0; - param.m_events_stages_history_sizing= 0; - param.m_events_stages_history_long_sizing= 0; param.m_statement_class_sizing= 20; - param.m_events_statements_history_sizing= 0; - param.m_events_statements_history_long_sizing= 0; - param.m_session_connect_attrs_sizing= 0; - stub_alloc_fails_after_count= 3; - init_event_name_sizing(& param); + stub_alloc_fails_after_count= 2; + init_event_name_sizing(¶m); rc= init_statement_class(param.m_statement_class_sizing); ok(rc == 0, "init statement class"); - rc= init_instruments(& param); + rc= init_instruments(¶m); ok(rc == 1, "oom (global statements)"); cleanup_instruments(); cleanup_statement_class(); + + /* Global memory. */ + memset(¶m, 0, sizeof(param)); + param.m_enabled= true; + param.m_mutex_class_sizing= 10; + param.m_memory_class_sizing= 20; + + stub_alloc_fails_after_count= 2; + init_event_name_sizing(¶m); + rc= init_memory_class(param.m_memory_class_sizing); + ok(rc == 0, "init memory class"); + rc= init_instruments(& param); + ok(rc == 1, "oom (global memory)"); + cleanup_instruments(); + cleanup_memory_class(); } void do_all_tests() { - PFS_atomic::init(); - test_oom(); - - PFS_atomic::cleanup(); } int main(int, char **) { - plan(20); + plan(28); MY_INIT("pfs_instr-oom-t"); do_all_tests(); return 0; diff --git a/storage/perfschema/unittest/pfs_instr-t.cc b/storage/perfschema/unittest/pfs_instr-t.cc index 3cc4c48388d..55a7ed1549f 100644 --- a/storage/perfschema/unittest/pfs_instr-t.cc +++ b/storage/perfschema/unittest/pfs_instr-t.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,13 +14,16 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include <my_global.h> -#include <my_pthread.h> +#include <my_thread.h> #include <pfs_instr.h> #include <pfs_stat.h> #include <pfs_global.h> #include <pfs_instr_class.h> +#include <pfs_buffer_container.h> #include <tap.h> +#include "stub_global_status_var.h" + #include <memory.h> void test_no_instruments() @@ -58,9 +61,15 @@ void test_no_instruments() param.m_statement_class_sizing= 0; param.m_events_statements_history_sizing= 0; param.m_events_statements_history_long_sizing= 0; + param.m_events_transactions_history_sizing= 0; + param.m_events_transactions_history_long_sizing= 0; param.m_digest_sizing= 0; param.m_session_connect_attrs_sizing= 0; - param.m_max_digest_length= 0; + param.m_program_sizing= 0; + param.m_prepared_stmt_sizing= 0; + param.m_statement_stack_sizing= 0; + param.m_memory_class_sizing= 0; + param.m_metadata_lock_sizing= 0; init_event_name_sizing(& param); rc= init_instruments(& param); @@ -88,6 +97,27 @@ void test_no_instances() PFS_table *table; PFS_global_param param; + dummy_mutex_class.m_event_name_index = 0; + dummy_mutex_class.m_flags = 0; + dummy_mutex_class.m_enabled = true; + dummy_mutex_class.m_volatility = PSI_VOLATILITY_UNKNOWN; + dummy_rwlock_class.m_event_name_index = 1; + dummy_rwlock_class.m_flags = 0; + dummy_rwlock_class.m_enabled = true; + dummy_rwlock_class.m_volatility = PSI_VOLATILITY_UNKNOWN; + dummy_cond_class.m_event_name_index = 2; + dummy_cond_class.m_flags = 0; + dummy_cond_class.m_enabled = true; + dummy_cond_class.m_volatility = PSI_VOLATILITY_UNKNOWN; + dummy_file_class.m_event_name_index = 3; + dummy_file_class.m_flags = 0; + dummy_file_class.m_enabled = true; + dummy_file_class.m_volatility = PSI_VOLATILITY_UNKNOWN; + dummy_socket_class.m_event_name_index = 4; + dummy_socket_class.m_flags = 0; + dummy_socket_class.m_enabled = true; + dummy_socket_class.m_volatility = PSI_VOLATILITY_UNKNOWN; + memset(& param, 0xFF, sizeof(param)); param.m_enabled= true; param.m_mutex_class_sizing= 1; @@ -118,9 +148,15 @@ void test_no_instances() param.m_statement_class_sizing= 0; param.m_events_statements_history_sizing= 0; param.m_events_statements_history_long_sizing= 0; + param.m_events_transactions_history_sizing= 0; + param.m_events_transactions_history_long_sizing= 0; param.m_digest_sizing= 0; param.m_session_connect_attrs_sizing= 0; - param.m_max_digest_length= 0; + param.m_program_sizing= 0; + param.m_prepared_stmt_sizing= 0; + param.m_statement_stack_sizing= 0; + param.m_memory_class_sizing= 1; + param.m_metadata_lock_sizing= 0; init_event_name_sizing(& param); rc= init_instruments(& param); @@ -128,50 +164,50 @@ void test_no_instances() mutex= create_mutex(& dummy_mutex_class, NULL); ok(mutex == NULL, "no mutex"); - ok(mutex_lost == 1, "lost 1"); + ok(global_mutex_container.get_lost_counter() == 1, "lost 1"); mutex= create_mutex(& dummy_mutex_class, NULL); ok(mutex == NULL, "no mutex"); - ok(mutex_lost == 2, "lost 2"); + ok(global_mutex_container.get_lost_counter() == 2, "lost 2"); rwlock= create_rwlock(& dummy_rwlock_class, NULL); ok(rwlock == NULL, "no rwlock"); - ok(rwlock_lost == 1, "lost 1"); + ok(global_rwlock_container.m_lost == 1, "lost 1"); rwlock= create_rwlock(& dummy_rwlock_class, NULL); ok(rwlock == NULL, "no rwlock"); - ok(rwlock_lost == 2, "lost 2"); + ok(global_rwlock_container.m_lost == 2, "lost 2"); cond= create_cond(& dummy_cond_class, NULL); ok(cond == NULL, "no cond"); - ok(cond_lost == 1, "lost 1"); + ok(global_cond_container.m_lost == 1, "lost 1"); cond= create_cond(& dummy_cond_class, NULL); ok(cond == NULL, "no cond"); - ok(cond_lost == 2, "lost 2"); + ok(global_cond_container.m_lost == 2, "lost 2"); thread= create_thread(& dummy_thread_class, NULL, 0); ok(thread == NULL, "no thread"); - ok(thread_lost == 1, "lost 1"); + ok(global_thread_container.m_lost == 1, "lost 1"); thread= create_thread(& dummy_thread_class, NULL, 0); ok(thread == NULL, "no thread"); - ok(thread_lost == 2, "lost 2"); + ok(global_thread_container.m_lost == 2, "lost 2"); PFS_thread fake_thread; fake_thread.m_filename_hash_pins= NULL; file= find_or_create_file(& fake_thread, & dummy_file_class, "dummy", 5, true); ok(file == NULL, "no file"); - ok(file_lost == 1, "lost 1"); + ok(global_file_container.m_lost == 1, "lost 1"); file= find_or_create_file(& fake_thread, & dummy_file_class, "dummy", 5, true); ok(file == NULL, "no file"); - ok(file_lost == 2, "lost 2"); + ok(global_file_container.m_lost == 2, "lost 2"); - init_file_hash(); + init_file_hash(& param); file= find_or_create_file(& fake_thread, & dummy_file_class, "dummy", 5, true); ok(file == NULL, "no file"); - ok(file_lost == 3, "lost 3"); + ok(global_file_container.m_lost == 3, "lost 3"); file= find_or_create_file(& fake_thread, & dummy_file_class, "dummy", 5, true); ok(file == NULL, "no file"); - ok(file_lost == 4, "lost 4"); + ok(global_file_container.m_lost == 4, "lost 4"); char long_file_name[10000]; int size= sizeof(long_file_name); @@ -179,21 +215,21 @@ void test_no_instances() file= find_or_create_file(& fake_thread, & dummy_file_class, long_file_name, size, true); ok(file == NULL, "no file"); - ok(file_lost == 5, "lost 5"); + ok(global_file_container.m_lost == 5, "lost 5"); table= create_table(& dummy_table_share, & fake_thread, NULL); ok(table == NULL, "no table"); - ok(table_lost == 1, "lost 1"); + ok(global_table_container.m_lost == 1, "lost 1"); table= create_table(& dummy_table_share, & fake_thread, NULL); ok(table == NULL, "no table"); - ok(table_lost == 2, "lost 2"); + ok(global_table_container.m_lost == 2, "lost 2"); socket= create_socket(& dummy_socket_class, NULL, NULL, 0); ok(socket == NULL, "no socket"); - ok(socket_lost == 1, "lost 1"); + ok(global_socket_container.m_lost == 1, "lost 1"); socket= create_socket(& dummy_socket_class, NULL, NULL, 0); ok(socket == NULL, "no socket"); - ok(socket_lost == 2, "lost 2"); + ok(global_socket_container.m_lost == 2, "lost 2"); /* No result to test, just make sure it does not crash */ reset_events_waits_by_instance(); @@ -259,139 +295,163 @@ void test_with_instances() param.m_statement_class_sizing= 0; param.m_events_statements_history_sizing= 0; param.m_events_statements_history_long_sizing= 0; + param.m_events_transactions_history_sizing= 0; + param.m_events_transactions_history_long_sizing= 0; param.m_digest_sizing= 0; param.m_session_connect_attrs_sizing= 0; - param.m_max_digest_length= 0; + param.m_program_sizing= 0; + param.m_prepared_stmt_sizing= 0; + param.m_statement_stack_sizing= 0; + param.m_memory_class_sizing= 1; + param.m_metadata_lock_sizing= 0; init_event_name_sizing(& param); rc= init_instruments(& param); ok(rc == 0, "instances init"); dummy_mutex_class.m_event_name_index= 0; + dummy_mutex_class.m_flags= 0; + dummy_mutex_class.m_enabled= true; + dummy_mutex_class.m_volatility = PSI_VOLATILITY_UNKNOWN; dummy_rwlock_class.m_event_name_index= 1; + dummy_rwlock_class.m_flags= 0; + dummy_rwlock_class.m_enabled= true; + dummy_rwlock_class.m_volatility = PSI_VOLATILITY_UNKNOWN; dummy_cond_class.m_event_name_index= 2; + dummy_cond_class.m_flags= 0; + dummy_cond_class.m_enabled= true; + dummy_cond_class.m_volatility = PSI_VOLATILITY_UNKNOWN; dummy_file_class.m_event_name_index= 3; + dummy_file_class.m_flags= 0; + dummy_file_class.m_enabled= true; + dummy_file_class.m_volatility = PSI_VOLATILITY_UNKNOWN; dummy_socket_class.m_event_name_index= 4; + dummy_socket_class.m_flags= 0; + dummy_socket_class.m_enabled= true; + dummy_socket_class.m_volatility = PSI_VOLATILITY_UNKNOWN; + + dummy_table_share.m_enabled= true; + dummy_table_share.m_timed= true; mutex_1= create_mutex(& dummy_mutex_class, NULL); ok(mutex_1 != NULL, "mutex"); - ok(mutex_lost == 0, "not lost"); + ok(global_mutex_container.get_lost_counter() == 0, "not lost"); mutex_2= create_mutex(& dummy_mutex_class, NULL); ok(mutex_2 != NULL, "mutex"); - ok(mutex_lost == 0, "not lost"); + ok(global_mutex_container.get_lost_counter() == 0, "not lost"); mutex_2= create_mutex(& dummy_mutex_class, NULL); ok(mutex_2 == NULL, "no mutex"); - ok(mutex_lost == 1, "lost 1"); + ok(global_mutex_container.get_lost_counter() == 1, "lost 1"); destroy_mutex(mutex_1); mutex_2= create_mutex(& dummy_mutex_class, NULL); ok(mutex_2 != NULL, "mutex"); - ok(mutex_lost == 1, "no new loss"); + ok(global_mutex_container.get_lost_counter() == 1, "no new loss"); rwlock_1= create_rwlock(& dummy_rwlock_class, NULL); ok(rwlock_1 != NULL, "rwlock"); - ok(rwlock_lost == 0, "not lost"); + ok(global_rwlock_container.m_lost == 0, "not lost"); rwlock_2= create_rwlock(& dummy_rwlock_class, NULL); ok(rwlock_2 != NULL, "rwlock"); - ok(rwlock_lost == 0, "not lost"); + ok(global_rwlock_container.m_lost == 0, "not lost"); rwlock_2= create_rwlock(& dummy_rwlock_class, NULL); ok(rwlock_2 == NULL, "no rwlock"); - ok(rwlock_lost == 1, "lost 1"); + ok(global_rwlock_container.m_lost == 1, "lost 1"); destroy_rwlock(rwlock_1); rwlock_2= create_rwlock(& dummy_rwlock_class, NULL); ok(rwlock_2 != NULL, "rwlock"); - ok(rwlock_lost == 1, "no new loss"); + ok(global_rwlock_container.m_lost == 1, "no new loss"); cond_1= create_cond(& dummy_cond_class, NULL); ok(cond_1 != NULL, "cond"); - ok(cond_lost == 0, "not lost"); + ok(global_cond_container.m_lost == 0, "not lost"); cond_2= create_cond(& dummy_cond_class, NULL); ok(cond_2 != NULL, "cond"); - ok(cond_lost == 0, "not lost"); + ok(global_cond_container.m_lost == 0, "not lost"); cond_2= create_cond(& dummy_cond_class, NULL); ok(cond_2 == NULL, "no cond"); - ok(cond_lost == 1, "lost 1"); + ok(global_cond_container.m_lost == 1, "lost 1"); destroy_cond(cond_1); cond_2= create_cond(& dummy_cond_class, NULL); ok(cond_2 != NULL, "cond"); - ok(cond_lost == 1, "no new loss"); + ok(global_cond_container.m_lost == 1, "no new loss"); thread_1= create_thread(& dummy_thread_class, NULL, 0); ok(thread_1 != NULL, "thread"); - ok(thread_lost == 0, "not lost"); + ok(global_thread_container.m_lost == 0, "not lost"); thread_2= create_thread(& dummy_thread_class, NULL, 0); ok(thread_2 != NULL, "thread"); - ok(thread_lost == 0, "not lost"); + ok(global_thread_container.m_lost == 0, "not lost"); thread_2= create_thread(& dummy_thread_class, NULL, 0); ok(thread_2 == NULL, "no thread"); - ok(thread_lost == 1, "lost 1"); + ok(global_thread_container.m_lost == 1, "lost 1"); destroy_thread(thread_1); thread_2= create_thread(& dummy_thread_class, NULL, 0); ok(thread_2 != NULL, "thread"); - ok(thread_lost == 1, "no new loss"); + ok(global_thread_container.m_lost == 1, "no new loss"); PFS_thread fake_thread; fake_thread.m_filename_hash_pins= NULL; file_1= find_or_create_file(& fake_thread, & dummy_file_class, "dummy", 5, true); ok(file_1 == NULL, "no file"); - ok(file_lost == 1, "lost 1"); + ok(global_file_container.m_lost == 1, "lost 1"); file_1= find_or_create_file(& fake_thread, & dummy_file_class, "dummy", 5, true); ok(file_1 == NULL, "no file"); - ok(file_lost == 2, "lost 2"); + ok(global_file_container.m_lost == 2, "lost 2"); - init_file_hash(); - file_lost= 0; + init_file_hash(& param); + global_file_container.m_lost= 0; file_1= find_or_create_file(& fake_thread, & dummy_file_class, "dummy_A", 7, true); ok(file_1 != NULL, "file"); ok(file_1->m_file_stat.m_open_count == 1, "open count 1"); - ok(file_lost == 0, "not lost"); + ok(global_file_container.m_lost == 0, "not lost"); file_2= find_or_create_file(& fake_thread, & dummy_file_class, "dummy_A", 7, true); ok(file_1 == file_2, "same file"); ok(file_1->m_file_stat.m_open_count == 2, "open count 2"); - ok(file_lost == 0, "not lost"); + ok(global_file_container.m_lost == 0, "not lost"); release_file(file_2); ok(file_1->m_file_stat.m_open_count == 1, "open count 1"); file_2= find_or_create_file(& fake_thread, & dummy_file_class, "dummy_B", 7, true); ok(file_2 != NULL, "file"); - ok(file_lost == 0, "not lost"); + ok(global_file_container.m_lost == 0, "not lost"); file_2= find_or_create_file(& fake_thread, & dummy_file_class, "dummy_C", 7, true); ok(file_2 == NULL, "no file"); - ok(file_lost == 1, "lost"); + ok(global_file_container.m_lost == 1, "lost"); release_file(file_1); /* the file still exists, not destroyed */ ok(file_1->m_file_stat.m_open_count == 0, "open count 0"); file_2= find_or_create_file(& fake_thread, & dummy_file_class, "dummy_D", 7, true); ok(file_2 == NULL, "no file"); - ok(file_lost == 2, "lost"); + ok(global_file_container.m_lost == 2, "lost"); socket_1= create_socket(& dummy_socket_class, NULL, NULL, 0); ok(socket_1 != NULL, "socket"); - ok(socket_lost == 0, "not lost"); + ok(global_socket_container.m_lost == 0, "not lost"); socket_2= create_socket(& dummy_socket_class, NULL, NULL, 0); ok(socket_2 != NULL, "socket"); - ok(socket_lost == 0, "not lost"); + ok(global_socket_container.m_lost == 0, "not lost"); socket_2= create_socket(& dummy_socket_class, NULL, NULL, 0); ok(socket_2 == NULL, "no socket"); - ok(socket_lost == 1, "lost 1"); + ok(global_socket_container.m_lost == 1, "lost 1"); destroy_socket(socket_1); socket_2= create_socket(& dummy_socket_class, NULL, NULL, 0); ok(socket_2 != NULL, "socket"); - ok(socket_lost == 1, "no new loss"); + ok(global_socket_container.m_lost == 1, "no new loss"); table_1= create_table(& dummy_table_share, & fake_thread, NULL); ok(table_1 != NULL, "table"); - ok(table_lost == 0, "not lost"); + ok(global_table_container.m_lost == 0, "not lost"); table_2= create_table(& dummy_table_share, & fake_thread, NULL); ok(table_2 != NULL, "table"); - ok(table_lost == 0, "not lost"); + ok(global_table_container.m_lost == 0, "not lost"); table_2= create_table(& dummy_table_share, & fake_thread, NULL); ok(table_2 == NULL, "no table"); - ok(table_lost == 1, "lost 1"); + ok(global_table_container.m_lost == 1, "lost 1"); destroy_table(table_1); table_2= create_table(& dummy_table_share, & fake_thread, NULL); ok(table_2 != NULL, "table"); - ok(table_lost == 1, "no new loss"); + ok(global_table_container.m_lost == 1, "no new loss"); //TODO: test that cleanup works reset_events_waits_by_instance(); @@ -403,13 +463,12 @@ void test_with_instances() void do_all_tests() { - PFS_atomic::init(); + flag_global_instrumentation= true; + flag_thread_instrumentation= true; test_no_instruments(); test_no_instances(); test_with_instances(); - - PFS_atomic::cleanup(); } int main(int, char **) diff --git a/storage/perfschema/unittest/pfs_instr_class-oom-t.cc b/storage/perfschema/unittest/pfs_instr_class-oom-t.cc index e98250d8567..ee8f589d9f8 100644 --- a/storage/perfschema/unittest/pfs_instr_class-oom-t.cc +++ b/storage/perfschema/unittest/pfs_instr_class-oom-t.cc @@ -14,16 +14,24 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include <my_global.h> -#include <my_pthread.h> +#include <my_thread.h> #include <pfs_instr_class.h> +#include <pfs_instr.h> #include <pfs_global.h> #include <tap.h> +#include <sql_class.h> +#include <pfs_buffer_container.h> #include "stub_pfs_global.h" +#include "stub_global_status_var.h" void test_oom() { int rc; + PFS_global_param param; + TABLE_SHARE table_share; + PFS_thread pfs_thread; + PFS_table_share *pfs_table_share; rc= init_sync_class(1000, 0, 0); ok(rc == 1, "oom (mutex)"); @@ -35,14 +43,14 @@ void test_oom() ok(rc == 1, "oom (thread)"); rc= init_file_class(1000); ok(rc == 1, "oom (file)"); - rc= init_table_share(1000); - ok(rc == 1, "oom (cond)"); rc= init_socket_class(1000); ok(rc == 1, "oom (socket)"); rc= init_stage_class(1000); ok(rc == 1, "oom (stage)"); rc= init_statement_class(1000); ok(rc == 1, "oom (statement)"); + rc= init_memory_class(1000); + ok(rc == 1, "oom (memory)"); cleanup_sync_class(); cleanup_thread_class(); @@ -51,20 +59,46 @@ void test_oom() cleanup_socket_class(); cleanup_stage_class(); cleanup_statement_class(); + cleanup_memory_class(); + + /* Table share classes. */ + memset(¶m, 0, sizeof(param)); + param.m_enabled= true; + param.m_table_share_sizing= 100; + param.m_setup_object_sizing= 100; + + pfs_thread.m_table_share_hash_pins= NULL; + pfs_thread.m_setup_object_hash_pins= NULL; + + char db_name[]= "schema 1"; + char table_name[]= "table 1"; + table_share.db.str= db_name; + table_share.db.length= strlen(db_name); + table_share.table_name.str= table_name; + table_share.table_name.length= strlen(table_name); + + init_table_share(param.m_table_share_sizing); + init_table_share_hash(¶m); + init_setup_object_hash(¶m); + + stub_alloc_always_fails= false; + pfs_table_share= find_or_create_table_share(&pfs_thread, false, &table_share); + ok(pfs_table_share == NULL, "oom (pfs table share)"); + ok(global_table_share_container.m_lost == 1, "oom (table share)"); + + cleanup_table_share(); + cleanup_table_share_hash(); + cleanup_setup_object_hash(); } void do_all_tests() { - PFS_atomic::init(); - test_oom(); - - PFS_atomic::cleanup(); } int main(int, char **) { - plan(9); + plan(11); MY_INIT("pfs_instr_info-oom-t"); do_all_tests(); return 0; diff --git a/storage/perfschema/unittest/pfs_instr_class-t.cc b/storage/perfschema/unittest/pfs_instr_class-t.cc index ee483312e3c..3e7a6bb6c1f 100644 --- a/storage/perfschema/unittest/pfs_instr_class-t.cc +++ b/storage/perfschema/unittest/pfs_instr_class-t.cc @@ -14,13 +14,15 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include <my_global.h> -#include <my_pthread.h> +#include <my_thread.h> #include <string.h> // strncpy #include <pfs_instr_class.h> #include <pfs_instr.h> #include <pfs_global.h> #include <tap.h> +#include "stub_global_status_var.h" + void test_no_registration() { int rc; @@ -28,12 +30,14 @@ void test_no_registration() PFS_thread_key thread_key; PFS_file_key file_key; PFS_socket_key socket_key; + PFS_memory_key memory_key; PFS_mutex_class *mutex; PFS_rwlock_class *rwlock; PFS_cond_class *cond; PFS_thread_class *thread; PFS_file_class *file; PFS_socket_class *socket; + PFS_memory_class *memory; /* PFS_table_share *table; */ rc= init_sync_class(0, 0, 0); @@ -46,6 +50,8 @@ void test_no_registration() ok(rc == 0, "zero init (socket)"); rc= init_table_share(0); ok(rc == 0, "zero init (table)"); + rc= init_memory_class(0); + ok(rc == 0, "zero init (memory)"); key= register_mutex_class("FOO", 3, 0); ok(key == 0, "no mutex registered"); @@ -89,6 +95,13 @@ void test_no_registration() socket_key= register_socket_class("FOO", 3, 0); ok(socket_key == 0, "no socket registered"); + memory_key= register_memory_class("FOO", 3, 0); + ok(memory_key == 0, "no memory registered"); + memory_key= register_memory_class("BAR", 3, 0); + ok(memory_key == 0, "no memory registered"); + memory_key= register_memory_class("FOO", 3, 0); + ok(memory_key == 0, "no memory registered"); + #ifdef LATER PFS_thread fake_thread; fake_thread.m_table_share_hash_pins= NULL; @@ -143,11 +156,19 @@ void test_no_registration() socket= find_socket_class(9999); ok(socket == NULL, "no socket key 9999"); + memory= find_memory_class(0); + ok(memory == NULL, "no memory key 0"); + memory= find_memory_class(1); + ok(memory == NULL, "no memory key 1"); + memory= find_memory_class(9999); + ok(memory == NULL, "no memory key 9999"); + cleanup_sync_class(); cleanup_thread_class(); cleanup_file_class(); cleanup_socket_class(); cleanup_table_share(); + cleanup_memory_class(); } void test_mutex_registration() @@ -473,6 +494,53 @@ void test_table_registration() #endif } +void test_memory_registration() +{ + int rc; + PFS_memory_key key; + PFS_memory_class *memory; + + rc= init_memory_class(5); + ok(rc == 0, "room for 5 memory"); + + key= register_memory_class("FOO", 3, 0); + ok(key == 1, "foo registered"); + key= register_memory_class("BAR", 3, 0); + ok(key == 2, "bar registered"); + key= register_memory_class("FOO", 3, 0); + ok(key == 1, "foo re registered"); + key= register_memory_class("Memory-3", 8, 0); + ok(key == 3, "Memory-3 registered"); + key= register_memory_class("Memory-4", 8, 0); + ok(key == 4, "Memory-4 registered"); + key= register_memory_class("Memory-5", 8, 0); + ok(key == 5, "Memory-5 registered"); + ok(memory_class_lost == 0, "lost nothing"); + key= register_memory_class("Memory-6", 8, 0); + ok(key == 0, "Memory-6 not registered"); + ok(memory_class_lost == 1, "lost 1 memory"); + key= register_memory_class("Memory-7", 8, 0); + ok(key == 0, "Memory-7 not registered"); + ok(memory_class_lost == 2, "lost 2 memory"); + key= register_memory_class("Memory-3", 8, 0); + ok(key == 3, "Memory-3 re registered"); + ok(memory_class_lost == 2, "lost 2 memory"); + key= register_memory_class("Memory-5", 8, 0); + ok(key == 5, "Memory-5 re registered"); + ok(memory_class_lost == 2, "lost 2 memory"); + + memory= find_memory_class(0); + ok(memory == NULL, "no key 0"); + memory= find_memory_class(3); + ok(memory != NULL, "found key 3"); + ok(strncmp(memory->m_name, "Memory-3", 8) == 0, "key 3 is Memory-3"); + ok(memory->m_name_length == 8, "name length 3"); + memory= find_memory_class(9999); + ok(memory == NULL, "no key 9999"); + + cleanup_memory_class(); +} + #ifdef LATER void set_wait_stat(PFS_instr_class *klass) { @@ -653,8 +721,6 @@ void test_instruments_reset() void do_all_tests() { - PFS_atomic::init(); - test_no_registration(); test_mutex_registration(); test_rwlock_registration(); @@ -663,14 +729,13 @@ void do_all_tests() test_file_registration(); test_socket_registration(); test_table_registration(); + test_memory_registration(); test_instruments_reset(); - - PFS_atomic::cleanup(); } int main(int, char **) { - plan(181); + plan(209); MY_INIT("pfs_instr_info-t"); do_all_tests(); return 0; diff --git a/storage/perfschema/unittest/pfs_misc-t.cc b/storage/perfschema/unittest/pfs_misc-t.cc index a0fff2f593c..adf6446f3f7 100644 --- a/storage/perfschema/unittest/pfs_misc-t.cc +++ b/storage/perfschema/unittest/pfs_misc-t.cc @@ -14,22 +14,26 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include <my_global.h> +#include <my_thread.h> #include <pfs_instr.h> #include <pfs_stat.h> #include <pfs_global.h> #include <pfs_instr_class.h> +#include <pfs_buffer_container.h> #include <tap.h> +#include "stub_global_status_var.h" + #include <memory.h> void test_digest_length_overflow() { if (sizeof(size_t) != 4) { - skip(2, "digest length overflow requires a 32-bit environment"); + skip(3, "digest length overflow requires a 32-bit environment"); return; } - + PFS_global_param param; memset(¶m, 0, sizeof(param)); param.m_enabled= true; @@ -38,19 +42,32 @@ void test_digest_length_overflow() parameters. The Performance Schema should detect the overflow, free allocated memory and abort initialization with a warning. */ - + /* Max digest length, events_statements_history_long. */ param.m_events_statements_history_long_sizing= 10000; param.m_digest_sizing= 1000; param.m_max_digest_length= (1024 * 1024); + param.m_max_sql_text_length= 0; pfs_max_digest_length= param.m_max_digest_length; + pfs_max_sqltext= param.m_max_sql_text_length; int rc = init_events_statements_history_long(param.m_events_statements_history_long_sizing); ok(rc == 1, "digest length overflow (init_events_statements_history_long"); + /* Max sql text length, events_statements_history_long. */ + param.m_max_sql_text_length= (1024 * 1024); + param.m_max_digest_length= 0; + pfs_max_digest_length= param.m_max_digest_length; + pfs_max_sqltext= param.m_max_sql_text_length; + + rc = init_events_statements_history_long(param.m_events_statements_history_long_sizing); + ok(rc == 1, "sql text length overflow (init_events_statements_history_long"); + /* Max digest length, events_statements_summary_by_digest. */ param.m_max_digest_length= (1024 * 1024); param.m_digest_sizing= 10000; + pfs_max_digest_length= param.m_max_digest_length; + pfs_max_sqltext= param.m_max_sql_text_length; rc = init_digest(¶m); ok(rc == 1, "digest length overflow (init_digest)"); @@ -63,9 +80,8 @@ void do_all_tests() int main(int, char **) { - plan(2); + plan(3); MY_INIT("pfs_misc-t"); do_all_tests(); return exit_status(); } - diff --git a/storage/perfschema/unittest/pfs_noop-t.cc b/storage/perfschema/unittest/pfs_noop-t.cc new file mode 100644 index 00000000000..6894798f588 --- /dev/null +++ b/storage/perfschema/unittest/pfs_noop-t.cc @@ -0,0 +1,234 @@ +/* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#include <my_global.h> +#include <my_thread.h> +#include <pfs_server.h> +#include <pfs_instr_class.h> +#include <pfs_instr.h> +#include <pfs_global.h> +#include <tap.h> + +#include <string.h> +#include <memory.h> + +#include "stub_print_error.h" +#include "stub_pfs_defaults.h" + +void test_noop() +{ + PSI_mutex *mutex; + PSI_rwlock *rwlock; + PSI_cond *cond; + PSI_socket *socket; + PSI_table_share *table_share; + PSI_table *table; + PSI_file *file; + PSI_thread *thread; + PSI_file_locker *file_locker; + PSI_idle_locker *idle_locker; + PSI_mutex_locker *mutex_locker; + PSI_rwlock_locker *rwlock_locker; + PSI_cond_locker *cond_locker; + PSI_table_locker *table_locker; + PSI_statement_locker *statement_locker; + PSI_transaction_locker *transaction_locker; + PSI_socket_locker *socket_locker; + PSI_digest_locker *digest_locker; + PSI_sp_locker *sp_locker; + PSI_sp_share *sp_share; + PSI_memory_key memory_key; + PSI_metadata_lock *metadata_lock; + PSI_metadata_locker *metadata_locker; + PSI_thread *owner; + + diag("test_noop"); + + PSI_server->register_mutex(NULL, NULL, 0); + PSI_server->register_rwlock(NULL, NULL, 0); + PSI_server->register_cond(NULL, NULL, 0); + PSI_server->register_thread(NULL, NULL, 0); + PSI_server->register_file(NULL, NULL, 0); + PSI_server->register_stage(NULL, NULL, 0); + PSI_server->register_statement(NULL, NULL, 0); + PSI_server->register_socket(NULL, NULL, 0); + + ok(true, "register"); + mutex= PSI_server->init_mutex(1, NULL); + ok(mutex == NULL, "no mutex"); + PSI_server->destroy_mutex(NULL); + rwlock= PSI_server->init_rwlock(1, NULL); + ok(rwlock == NULL, "no rwlock"); + PSI_server->destroy_rwlock(NULL); + cond= PSI_server->init_cond(1, NULL); + ok(cond == NULL, "no cond"); + PSI_server->destroy_cond(NULL); + socket= PSI_server->init_socket(1, NULL, NULL, 0); + ok(socket == NULL, "no socket"); + PSI_server->destroy_socket(NULL); + table_share= PSI_server->get_table_share(false, NULL); + ok(table_share == NULL, "no table_share"); + PSI_server->release_table_share(NULL); + PSI_server->drop_table_share(false, NULL, 0, NULL, 0); + table= PSI_server->open_table(NULL, NULL); + ok(table == NULL, "no table"); + PSI_server->unbind_table(NULL); + table= PSI_server->rebind_table(NULL, NULL, NULL); + ok(table == NULL, "no table"); + PSI_server->close_table(NULL, NULL); + PSI_server->create_file(1, NULL, 2); + /* TODO: spawn thread */ + thread= PSI_server->new_thread(1, NULL, 2); + ok(thread == NULL, "no thread"); + PSI_server->set_thread_id(NULL, 1); + thread= PSI_server->get_thread(); + ok(thread == NULL, "no thread"); + PSI_server->set_thread_user(NULL, 0); + PSI_server->set_thread_account(NULL, 0, NULL, 0); + PSI_server->set_thread_db(NULL, 0); + PSI_server->set_thread_command(1); + PSI_server->set_thread_start_time(1); + PSI_server->set_thread_state(NULL); + PSI_server->set_thread_info(NULL, 0); + PSI_server->set_thread(NULL); + PSI_server->delete_current_thread(); + PSI_server->delete_thread(NULL); + file_locker= PSI_server->get_thread_file_name_locker(NULL, 1, PSI_FILE_OPEN, NULL, NULL); + ok(file_locker == NULL, "no file_locker"); + file_locker= PSI_server->get_thread_file_stream_locker(NULL, NULL, PSI_FILE_OPEN); + ok(file_locker == NULL, "no file_locker"); + file_locker= PSI_server->get_thread_file_descriptor_locker(NULL, 0, PSI_FILE_OPEN); + ok(file_locker == NULL, "no file_locker"); + PSI_server->unlock_mutex(NULL); + PSI_server->unlock_rwlock(NULL); + PSI_server->signal_cond(NULL); + PSI_server->broadcast_cond(NULL); + idle_locker= PSI_server->start_idle_wait(NULL, NULL, 0); + ok(idle_locker == NULL, "no idle_locker"); + PSI_server->end_idle_wait(NULL); + mutex_locker= PSI_server->start_mutex_wait(NULL, NULL, PSI_MUTEX_LOCK, NULL, 0); + ok(mutex_locker == NULL, "no mutex_locker"); + PSI_server->end_mutex_wait(NULL, 0); + rwlock_locker= PSI_server->start_rwlock_rdwait(NULL, NULL, PSI_RWLOCK_READLOCK, NULL, 0); + ok(rwlock_locker == NULL, "no rwlock_locker"); + PSI_server->end_rwlock_rdwait(NULL, 0); + rwlock_locker= PSI_server->start_rwlock_wrwait(NULL, NULL, PSI_RWLOCK_WRITELOCK, NULL, 0); + ok(rwlock_locker == NULL, "no rwlock_locker"); + PSI_server->end_rwlock_wrwait(NULL, 0); + cond_locker= PSI_server->start_cond_wait(NULL, NULL, NULL, PSI_COND_WAIT, NULL, 0); + ok(cond_locker == NULL, "no cond_locker"); + PSI_server->end_cond_wait(NULL, 0); + table_locker= PSI_server->start_table_io_wait(NULL, NULL, PSI_TABLE_FETCH_ROW, 0, NULL, 0); + ok(table_locker == NULL, "no table_locker"); + PSI_server->end_table_io_wait(NULL, 0); + table_locker= PSI_server->start_table_lock_wait(NULL, NULL, PSI_TABLE_LOCK, 0, NULL, 0); + ok(table_locker == NULL, "no table_locker"); + PSI_server->end_table_lock_wait(NULL); + PSI_server->start_file_open_wait(NULL, NULL, 0); + file= PSI_server->end_file_open_wait(NULL, NULL); + ok(file == NULL, "no file"); + PSI_server->end_file_open_wait_and_bind_to_descriptor(NULL, 0); + PSI_server->start_file_wait(NULL, 0, NULL, 0); + PSI_server->end_file_wait(NULL, 0); + PSI_server->start_file_close_wait(NULL, NULL, 0); + PSI_server->end_file_close_wait(NULL, 0); + PSI_server->start_stage(1, NULL, 0); + + PSI_stage_progress *progress; + progress= PSI_server->get_current_stage_progress(); + ok(progress == NULL, "no progress"); + + PSI_server->end_stage(); + statement_locker= PSI_server->get_thread_statement_locker(NULL, 1, NULL, NULL); + ok(statement_locker == NULL, "no statement_locker"); + statement_locker= PSI_server->refine_statement(NULL, 1); + ok(statement_locker == NULL, "no statement_locker"); + PSI_server->start_statement(NULL, NULL, 0, NULL, 0); + PSI_server->set_statement_text(NULL, NULL, 0); + PSI_server->set_statement_lock_time(NULL, 0); + PSI_server->set_statement_rows_sent(NULL, 0); + PSI_server->set_statement_rows_examined(NULL, 0); + PSI_server->inc_statement_created_tmp_disk_tables(NULL, 0); + PSI_server->inc_statement_created_tmp_tables(NULL, 0); + PSI_server->inc_statement_select_full_join(NULL, 0); + PSI_server->inc_statement_select_full_range_join(NULL, 0); + PSI_server->inc_statement_select_range(NULL, 0); + PSI_server->inc_statement_select_range_check(NULL, 0); + PSI_server->inc_statement_select_scan(NULL, 0); + PSI_server->inc_statement_sort_merge_passes(NULL, 0); + PSI_server->inc_statement_sort_range(NULL, 0); + PSI_server->inc_statement_sort_rows(NULL, 0); + PSI_server->inc_statement_sort_scan(NULL, 0); + PSI_server->set_statement_no_index_used(NULL); + PSI_server->set_statement_no_good_index_used(NULL); + PSI_server->end_statement(NULL, NULL); + socket_locker= PSI_server->start_socket_wait(NULL, NULL, PSI_SOCKET_SEND, 1, NULL, 0); + ok(socket_locker == NULL, "no socket_locker"); + PSI_server->end_socket_wait(NULL, 0); + PSI_server->set_socket_state(NULL, PSI_SOCKET_STATE_IDLE); + PSI_server->set_socket_info(NULL, NULL, NULL, 0); + PSI_server->set_socket_thread_owner(NULL); + digest_locker= PSI_server->digest_start(NULL); + ok(digest_locker == NULL, "no digest_locker"); + PSI_server->digest_end(NULL, NULL); + sp_locker= PSI_server->start_sp(NULL, NULL); + ok(sp_locker == NULL, "no sp_locker"); + PSI_server->end_sp(NULL); + PSI_server->drop_sp(0, NULL, 0, NULL, 0); + sp_share= PSI_server->get_sp_share(0, NULL, 0, NULL, 0); + ok(sp_share == NULL, "no sp_share"); + PSI_server->release_sp_share(NULL); + PSI_server->register_memory(NULL, NULL, 0); + memory_key= PSI_server->memory_alloc(0, 0, & owner); + ok(memory_key == PSI_NOT_INSTRUMENTED, "no memory_key"); + memory_key= PSI_server->memory_realloc(0, 0, 0, & owner); + ok(memory_key == PSI_NOT_INSTRUMENTED, "no memory_key"); + PSI_server->memory_free(0, 0, NULL); + PSI_server->unlock_table(NULL); + metadata_lock= PSI_server->create_metadata_lock(NULL, NULL, 1, 2, 3, NULL, 0); + ok(metadata_lock == NULL, "no metadata_lock"); + PSI_server->set_metadata_lock_status(NULL, 0); + PSI_server->destroy_metadata_lock(NULL); + metadata_locker= PSI_server->start_metadata_wait(NULL, NULL, NULL, 0); + ok(metadata_locker == NULL, "no metadata_locker"); + PSI_server->end_metadata_wait(NULL, 0); + + transaction_locker= PSI_server->get_thread_transaction_locker(NULL, NULL, NULL, 1, false, 1); + ok(transaction_locker == NULL, "no transaction_locker"); + PSI_server->start_transaction(NULL, NULL, 0); + PSI_server->end_transaction(NULL, true); + + PSI_server->set_transaction_gtid(NULL, NULL, NULL); + PSI_server->set_transaction_trxid(NULL, NULL); + PSI_server->set_transaction_xa_state(NULL, 1); + PSI_server->set_transaction_xid(NULL, NULL, 1); + PSI_server->inc_transaction_release_savepoint(NULL, 1); + PSI_server->inc_transaction_rollback_to_savepoint(NULL, 1); + PSI_server->inc_transaction_savepoints(NULL, 1); + + PSI_server->set_thread_THD(NULL, NULL); + + ok(true, "all noop api called"); +} + +int main(int, char **) +{ + plan(34); + + MY_INIT("pfs_noop-t"); + test_noop(); + return 0; +} + diff --git a/storage/perfschema/unittest/pfs_server_stubs.cc b/storage/perfschema/unittest/pfs_server_stubs.cc index ec916865a7d..54c48009a7e 100644 --- a/storage/perfschema/unittest/pfs_server_stubs.cc +++ b/storage/perfschema/unittest/pfs_server_stubs.cc @@ -22,8 +22,9 @@ #include "sql_class.h" #include "sql_show.h" +my_bool show_compatibility_56= FALSE; +struct system_status_var global_status_var; struct sql_digest_storage; - volatile bool ready_to_exit= false; uint lower_case_table_names= 0; @@ -34,3 +35,7 @@ void compute_digest_md5(const sql_digest_storage *, unsigned char *) { } +void reset_status_vars() +{ +} + diff --git a/storage/perfschema/unittest/pfs_timer-t.cc b/storage/perfschema/unittest/pfs_timer-t.cc index 9c9ae0f75f1..b2be48dfd35 100644 --- a/storage/perfschema/unittest/pfs_timer-t.cc +++ b/storage/perfschema/unittest/pfs_timer-t.cc @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,7 +14,7 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include <my_global.h> -#include <my_pthread.h> +#include <my_thread.h> #include <pfs_timer.h> #include "my_sys.h" #include <tap.h> diff --git a/storage/perfschema/unittest/pfs_user-oom-t.cc b/storage/perfschema/unittest/pfs_user-oom-t.cc index 0e4c5eb3411..398e686aac4 100644 --- a/storage/perfschema/unittest/pfs_user-oom-t.cc +++ b/storage/perfschema/unittest/pfs_user-oom-t.cc @@ -14,21 +14,24 @@ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ #include <my_global.h> -#include <my_pthread.h> +#include <my_thread.h> #include <pfs_instr.h> #include <pfs_stat.h> #include <pfs_global.h> #include <pfs_user.h> +#include <pfs_buffer_container.h> #include <tap.h> #include "stub_pfs_global.h" +#include "stub_global_status_var.h" #include <string.h> /* memset */ void test_oom() { - int rc; + PSI *psi; PFS_global_param param; + PSI_bootstrap *boot; memset(& param, 0xFF, sizeof(param)); param.m_enabled= true; @@ -38,6 +41,7 @@ void test_oom() param.m_thread_class_sizing= 10; param.m_table_share_sizing= 0; param.m_file_class_sizing= 0; + param.m_socket_class_sizing= 0; param.m_mutex_sizing= 0; param.m_rwlock_sizing= 0; param.m_cond_sizing= 0; @@ -45,6 +49,7 @@ void test_oom() param.m_table_sizing= 0; param.m_file_sizing= 0; param.m_file_handle_sizing= 0; + param.m_socket_sizing= 0; param.m_events_waits_history_sizing= 10; param.m_events_waits_history_long_sizing= 0; param.m_setup_actor_sizing= 0; @@ -58,51 +63,69 @@ void test_oom() param.m_statement_class_sizing= 50; param.m_events_statements_history_sizing= 0; param.m_events_statements_history_long_sizing= 0; + param.m_events_transactions_history_sizing= 0; + param.m_events_transactions_history_long_sizing= 0; + param.m_digest_sizing= 0; + param.m_session_connect_attrs_sizing= 0; + param.m_program_sizing= 0; + param.m_statement_stack_sizing= 0; + param.m_memory_class_sizing= 10; + param.m_metadata_lock_sizing= 0; + param.m_max_digest_length= 0; + param.m_max_sql_text_length= 0; /* Setup */ stub_alloc_always_fails= false; stub_alloc_fails_after_count= 1000; - init_event_name_sizing(& param); - rc= init_stage_class(param.m_stage_class_sizing); - ok(rc == 0, "init stage class"); - rc= init_statement_class(param.m_statement_class_sizing); - ok(rc == 0, "init statement class"); + pre_initialize_performance_schema(); + boot= initialize_performance_schema(¶m); + psi= (PSI *)boot->get_interface(PSI_VERSION_1); + + PSI_thread_key thread_key_1; + PSI_thread_info all_thread[]= + { + {&thread_key_1, "T-1", 0} + }; + psi->register_thread("test", all_thread, 1); + + PSI_thread *thread_1= psi->new_thread(thread_key_1, NULL, 0); + psi->set_thread(thread_1); /* Tests */ - stub_alloc_fails_after_count= 1; - rc= init_user(& param); - ok(rc == 1, "oom (user)"); - cleanup_user(); + int first_fail= 1; + stub_alloc_fails_after_count= first_fail; + psi->set_thread_account("user1", 5, "", 0); + ok(global_user_container.m_lost == 1, "oom (user)"); + + stub_alloc_fails_after_count= first_fail + 1; + psi->set_thread_account("user2", 5, "", 0); + ok(global_user_container.m_lost == 2, "oom (user waits)"); - stub_alloc_fails_after_count= 2; - rc= init_user(& param); - ok(rc == 1, "oom (user waits)"); - cleanup_user(); + stub_alloc_fails_after_count= first_fail + 2; + psi->set_thread_account("user3", 5, "", 0); + ok(global_user_container.m_lost == 3, "oom (user stages)"); - stub_alloc_fails_after_count= 3; - rc= init_user(& param); - ok(rc == 1, "oom (user stages)"); - cleanup_user(); + stub_alloc_fails_after_count= first_fail + 3; + psi->set_thread_account("user4", 5, "", 0); + ok(global_user_container.m_lost == 4, "oom (user statements)"); - stub_alloc_fails_after_count= 4; - rc= init_user(& param); - ok(rc == 1, "oom (user statements)"); - cleanup_user(); + stub_alloc_fails_after_count= first_fail + 4; + psi->set_thread_account("user5", 5, "", 0); + ok(global_user_container.m_lost == 5, "oom (user transactions)"); - cleanup_statement_class(); - cleanup_stage_class(); + stub_alloc_fails_after_count= first_fail + 5; + psi->set_thread_account("user6", 5, "", 0); + ok(global_user_container.m_lost == 6, "oom (user memory)"); + + shutdown_performance_schema(); } void do_all_tests() { - PFS_atomic::init(); - test_oom(); - - PFS_atomic::cleanup(); } int main(int, char **) diff --git a/storage/perfschema/unittest/stub_global_status_var.h b/storage/perfschema/unittest/stub_global_status_var.h new file mode 100644 index 00000000000..b1c72ccea44 --- /dev/null +++ b/storage/perfschema/unittest/stub_global_status_var.h @@ -0,0 +1,24 @@ +/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#include <my_global.h> +#include <my_sys.h> +#include <pfs_global.h> +#include <string.h> + + +void add_to_status(STATUS_VAR *to_var, STATUS_VAR *from_var, bool reset_from_var) +{ +} diff --git a/storage/perfschema/unittest/stub_pfs_global.h b/storage/perfschema/unittest/stub_pfs_global.h index 8f204006f48..c883927b040 100644 --- a/storage/perfschema/unittest/stub_pfs_global.h +++ b/storage/perfschema/unittest/stub_pfs_global.h @@ -19,11 +19,13 @@ #include <string.h> bool pfs_initialized= false; +size_t pfs_allocated_memory_size= 0; +size_t pfs_allocated_memory_count= 0; bool stub_alloc_always_fails= true; int stub_alloc_fails_after_count= 0; -void *pfs_malloc(size_t size, myf) +void *pfs_malloc(PFS_builtin_memory_class *klass, size_t size, myf) { /* Catch non initialized sizing parameter in the unit tests. @@ -42,19 +44,27 @@ void *pfs_malloc(size_t size, myf) return ptr; } -void pfs_free(void *ptr) +void pfs_free(PFS_builtin_memory_class *, size_t, void *ptr) { if (ptr != NULL) free(ptr); } -void *pfs_malloc_array(size_t n, size_t size, myf flags) +void *pfs_malloc_array(PFS_builtin_memory_class *klass, size_t n, size_t size, myf flags) { size_t array_size= n * size; /* Check for overflow before allocating. */ if (is_overflow(array_size, n, size)) return NULL; - return pfs_malloc(array_size, flags); + return pfs_malloc(klass, array_size, flags); +} + +void pfs_free_array(PFS_builtin_memory_class *klass, size_t n, size_t size, void *ptr) +{ + if (ptr == NULL) + return; + size_t array_size= n * size; + return pfs_free(klass, array_size, ptr); } bool is_overflow(size_t product, size_t n1, size_t n2) @@ -69,3 +79,4 @@ void pfs_print_error(const char *format, ...) { } + diff --git a/storage/perfschema/unittest/stub_print_error.h b/storage/perfschema/unittest/stub_print_error.h index e9b8bc25548..fe9857a5348 100644 --- a/storage/perfschema/unittest/stub_print_error.h +++ b/storage/perfschema/unittest/stub_print_error.h @@ -19,7 +19,7 @@ bool pfs_initialized= false; -void *pfs_malloc(size_t size, myf flags) +void *pfs_malloc(PFS_builtin_memory_class *klass, size_t size, myf flags) { void *ptr= malloc(size); if (ptr && (flags & MY_ZEROFILL)) @@ -27,19 +27,27 @@ void *pfs_malloc(size_t size, myf flags) return ptr; } -void pfs_free(void *ptr) +void pfs_free(PFS_builtin_memory_class *, size_t, void *ptr) { if (ptr != NULL) free(ptr); } -void *pfs_malloc_array(size_t n, size_t size, myf flags) +void *pfs_malloc_array(PFS_builtin_memory_class *klass, size_t n, size_t size, myf flags) { size_t array_size= n * size; /* Check for overflow before allocating. */ if (is_overflow(array_size, n, size)) return NULL; - return pfs_malloc(array_size, flags); + return pfs_malloc(klass, array_size, flags); +} + +void pfs_free_array(PFS_builtin_memory_class *klass, size_t n, size_t size, void *ptr) +{ + if (ptr == NULL) + return; + size_t array_size= n * size; + return pfs_free(klass, array_size, ptr); } bool is_overflow(size_t product, size_t n1, size_t n2) |